Difference between revisions of "Documentation/Nightly/Developers/Tutorials/BuildTestPackageDistributeExtensions"

From Slicer Wiki
Jump to: navigation, search
m
Line 5: Line 5:
 
<li><p>Scan through the [[Documentation/{{documentation/version}}/FAQ/Extensions|user]] and [[Documentation/{{documentation/version}}/Developers/FAQ/Extensions|developer]] extension FAQs</p></li>
 
<li><p>Scan through the [[Documentation/{{documentation/version}}/FAQ/Extensions|user]] and [[Documentation/{{documentation/version}}/Developers/FAQ/Extensions|developer]] extension FAQs</p></li>
  
<li><p>(Optionally) Present your extension(s) on the [http://massmail.bwh.harvard.edu/mailman/listinfo/slicer-devel slicer developers list] to check if other developer are working on a similar project, to seek for advice or to reach out for potential collaboration.</p></li>
+
<li><p>(Optionally) Present your extension(s) on the [http://massmail.bwh.harvard.edu/mailman/listinfo/slicer-devel slicer developers list] to check if other developer are working on a similar project, to seek for advice or to reach out for potential collaborator.</p></li>
  
 
<li><p>[[Documentation/{{documentation/version}}/Developers/Build_Instructions|Build Slicer application]] in <code>Release</code></p></li>
 
<li><p>[[Documentation/{{documentation/version}}/Developers/Build_Instructions|Build Slicer application]] in <code>Release</code></p></li>

Revision as of 00:43, 13 June 2013

Home < Documentation < Nightly < Developers < Tutorials < BuildTestPackageDistributeExtensions

Step-by-step: How to create, publish and distribute an extension ?

  1. Scan through the user and developer extension FAQs

  2. (Optionally) Present your extension(s) on the slicer developers list to check if other developer are working on a similar project, to seek for advice or to reach out for potential collaborator.

  3. Build Slicer application in Release

  4. Use the Wizard to easily create an extension containing one or more Slicer modules.

  5. Create a repository to save your work. We recommend GitHub

  6. Implement your extension. Hack, hack, hack :) and commit often.

  7. Create a documentation page for your extension.

  8. If not already done, send an email on the slicer developers list asking to be granted write permission on the experimental folder.

  9. Create an account on the extension server and obtain an API Key. You can then used your midas login and api key to substitute <YOUR-MIDAS-LOGIN> and <YOUR-MIDAS-APIKEY> in the examples.

  10. Assuming the source code of your extension is located in folder MyExtension, you could upload your extension doing:

    Makefile Visual Studio
    $ mkdir MyExtension-build
    
    $ cd MyExtension-build
    
    $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DMIDAS_PACKAGE_EMAIL:STRING=<YOUR-MIDAS-LOGIN> -DMIDAS_PACKAGE_API_KEY:STRING=<YOUR-MIDAS-APIKEY> -DSlicer_DIR:PATH=/path/to/Slicer-Superbuild/Slicer-build ../MyExtension
    
    $ make ExperimentalUpload
    1. Start CMake, select source and build directory
    2. Add Slicer_DIR, MIDAS_PACKAGE_EMAIL and MIDAS_PACKAGE_API_KEY entries to the cache
    3. Slicer Extensions Configure Windows.png
    4. Click on Configure, then Generate button.
    5. Open MyExtension.sln (1), select Release (2), select ExperimentalUpload (3) and build (4).
    6. Slicer Extension ExperimentalUpload Windows VS2008.png

  11. Check submission results on the dashboard: http://slicer.cdash.org/index.php?project=Slicer4#Extensions-Experimental

  12. Check that the extension can be installed using the extensions manager.

  13. If you consider your extension ready for distribution, follow these instructions. to contribute the already generated description file.