|
Tags: 2017 source edit, Replaced |
(79 intermediate revisions by 6 users not shown) |
Line 1: |
Line 1: |
− | == Step-by-step: How to create, publish and distribute an extension ? ==
| + | <noinclude>{{documentation/versioncheck}}</noinclude> |
| | | |
− | <ol start="1" style="list-style-type: decimal;">
| + | {{documentation/banner |
− | | + | | text = [https://slicer.readthedocs.io/en/latest/developer_guide/extensions.html This page has been moved to read-the-docs.] |
− | <li><p>Scan through the [[Documentation/{{documentation/version}}/FAQ/Extensions|user]] and [[Documentation/{{documentation/version}}/Developers/FAQ/Extensions|developer]] extension FAQs</p></li>
| + | | background-color = 8FBC8F }} |
− | | |
− | <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>[[Documentation/{{documentation/version}}/Developers/Build_Instructions|Build Slicer application]]</p></li>
| |
− | | |
− | <li><p>[[Documentation/{{documentation/version}}/Developers/ModuleWizard|Use the Wizard to easily create an extension]] containing one or more Slicer modules.</p></li>
| |
− | | |
− | <li><p>Create a repository to save your work. We recommend [https://github.com/ GitHub]</p></li>
| |
− | | |
− | <li><p>Implement your extension. <code>Hack, hack, hack :)</code> and commit often.</p></li>
| |
− | | |
− | <li><p>[[Documentation/{{documentation/version}}/Developers/Tutorials/DocumentExtension|Create a documentation page for your extension]].</p></li>
| |
− | | |
− | <li><p>If not alreadt done, send an email on the [http://massmail.bwh.harvard.edu/mailman/listinfo/slicer-devel slicer developers list] asking to be granted write permission on the [http://slicer.kitware.com/midas3/folder/253 experimental folder].</p></li>
| |
− | | |
− | <li><p>[[#How_to_obtain_an_API_key_to_submit_on_the_extension_server_.3F|Create an account on the extension server and obtain an API Key]]. You can then used your midas login and api key to substitute <code><YOUR-MIDAS-LOGIN></code> and <code><YOUR-MIDAS-APIKEY></code> in the examples.</p></li>
| |
− | | |
− | <li><p>Assuming the source code of your extension is located in folder <code>MyExtension</code>, you could upload your extension doing:
| |
− | | |
− | {|width = "100%"
| |
− | ! width="50%" style="border-bottom: 1px solid darkgrey;font-size: 75%;"| Makefile
| |
− | ! width="50%" style="border-bottom: 1px solid darkgrey;font-size: 75%;"| Visual Studio
| |
− | |-
| |
− | | valign="top" |
| |
− | {{pre2|<nowiki>
| |
− | $ 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</nowiki>
| |
− | }}
| |
− | | valign="top" |
| |
− | <ol start="1" style="list-style-type: decimal;">
| |
− | <li>Start CMake and set source and build directory</li>
| |
− | <li>Add <code>Slicer_DIR</code>, <code>MIDAS_PACKAGE_EMAIL</code> and <code>MIDAS_PACKAGE_API_KEY</code> to the cache</li>
| |
− | [[File:Slicer Extensions Configure Windows.png|600px]]
| |
− | <li>Click on Configure, then Generate button.</li>
| |
− | <li>Open MyExtension.sln (1), select Release (2), select ExperimentalUpload (3) and build (4).</li>
| |
− | [[File:Slicer_Extension_ExperimentalUpload_Windows_VS2008.png|600px]]
| |
− | </ol>
| |
− | |}
| |
− | </p></li>
| |
− | | |
− | <li><p>Check submission results on this page: http://slicer.cdash.org/index.php?project=Slicer4#Extensions-Experimental</p></li>
| |
− |
| |
− | <li><p>[[Documentation/{{documentation/version}}/SlicerApplication/ExtensionsManager|Check that the extension can be installed]].</p></li>
| |
− | | |
− | <li><p>If you consider your extension ready for distribution, follow [[Documentation/{{documentation/version}}/Developers/Tutorials/Contribute_Extension_Description_File|these instructions.]]</p></li>
| |
− | | |
− | </ol>
| |
− | | |
− | <!--
| |
− | Documentation/Nightly/Developers/Tutorials/Contribute_Extension_Description_File
| |
− | | |
− | <noinclude>
| |
− | {{:Documentation/{{documentation/version}}/Developers/FAQ/Extensions|Extensions}}
| |
− | </noinclude>
| |
− | -->
| |