https://www.slicer.org/w/index.php?title=Documentation/4.5/Developers/Tutorials/Contribute_Extension_Description_File_using_Extension_Wizard&feed=atom&action=historyDocumentation/4.5/Developers/Tutorials/Contribute Extension Description File using Extension Wizard - Revision history2024-03-28T10:56:40ZRevision history for this page on the wikiMediaWiki 1.33.0https://www.slicer.org/w/index.php?title=Documentation/4.5/Developers/Tutorials/Contribute_Extension_Description_File_using_Extension_Wizard&diff=43463&oldid=prevUpdateBot: Nightly -> 4.52015-11-12T20:18:58Z<p>Nightly -> 4.5</p>
<p><b>New page</b></p><div><noinclude>{{documentation/versioncheck}}</noinclude><br />
<br />
= Overview =<br />
<br />
This page describe how to easily contribute an extension description file using the [[Documentation/{{documentation/version}}/Developers/ExtensionWizard|ExtensionWizard]]. The wizard automates the manual steps documented [[Documentation/{{documentation/version}}/Developers/Tutorials/Contribute_Extension_Description_File|here]].<br />
<br />
It will automatically generates the extension description file (<code>.s4ext</code>) based on the <code>CMakeLists.txt</code> in the extension directory.<br />
<br />
= Definitions =<br />
<br />
* '''Extension description file''': This is a text file with extension <code>.s4ext</code> that fully described an extension. More details [[Documentation/{{documentation/version}}/Developers/Extensions/DescriptionFile|here]].<br />
<br />
* '''ExtensionsIndex''': This is a repository containing a list of extension description files <code>*.s4ext</code>. These description files are used by the Slicer extensions build system to build, test, package and upload extensions on the extensions server. More details [[Documentation/{{documentation/version}}/Developers/Extensions/Index|here]]<br />
<br />
= Prerequisites =<br />
<br />
* Extension belongs to Category 1 or Category 2 as described in [[Documentation/{{documentation/version}}/Extensions/CatalogPolicies|Slicer requirements]]<br />
* Extension has been built, tested and installed on at least one platform (Linux, MacOSX or Windows)<br />
<br />
= Conventions =<br />
<br />
* Terminal command - Block like the one below indicates that the command should be executed in a terminal. <br />
<br />
<ol style="list-style-type:none; border-left:thick solid darkgreen; padding-left:1em;"> <br />
<li>On '''Windows''', Git Bash is expected (not the Windows command line). [https://help.github.com/articles/set-up-git#platform-windows Need help ?]</li><br />
</ol><br />
<br />
{{pre2|<nowiki>$ echo "This is a command"</nowiki>}}<br />
<br />
= Contributing a new extension / Requesting an extension update =<br />
<br />
Typing this command will create a pull request on ExtensionsIndex repository.<br />
<br />
<ol style="list-style-type:none; border-left:thick solid red; padding-left:1em;"> <br />
<li>Make sure the latest changes associated with your extension have been pushed in your extension repository.</li><br />
</ol><br />
<br />
== Extensions built against Slicer trunk ==<br />
<br />
{{pre2|<nowiki>$ bin/slicerExtensionWizard --contribute ~/src/Slicer-MyExtension/</nowiki>}}<br />
<br />
== Extensions build against Slicer {{Documentation/currentversion}} ==<br />
<br />
{{pre2|<nowiki>$ bin/slicerExtensionWizard --contribute --target </nowiki>{{Documentation/currentversion}}<nowiki> ~/src/Slicer-MyExtension/</nowiki>}}</div>UpdateBot