Difference between revisions of "Documentation/Nightly/Developers/Tutorials/Contribute Extension Description File using Extension Wizard"

From Slicer Wiki
Jump to: navigation, search
 
(11 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
<noinclude>{{documentation/versioncheck}}</noinclude>
 
<noinclude>{{documentation/versioncheck}}</noinclude>
 +
 +
= Overview =
 +
 +
This page describes 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]].
 +
 +
It will automatically generate the extension description file (<code>.s4ext</code>) based on the <code>CMakeLists.txt</code> in the extension directory.
  
 
= Definitions =
 
= Definitions =
Line 12: Line 18:
 
* Extension has been built, tested and installed on at least one platform (Linux, MacOSX or Windows)
 
* Extension has been built, tested and installed on at least one platform (Linux, MacOSX or Windows)
  
= Contributing a new extension / Requesting an extension update =
+
= Conventions =
  
== Extensions built against Slicer trunk ==
+
* Terminal command - Block like the one below indicates that the command should be executed in a terminal.
  
The following instruction describes how to contribute extension description file for an extension being built against slicer trunk.
+
<ol style="list-style-type:none; border-left:thick solid darkgreen; padding-left:1em;"> 
 +
<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>
 +
</ol>
  
<ol start="1" style="list-style-type: decimal;">
+
{{pre2|<nowiki>$ echo "This is a command"</nowiki>}}
  
<li>
+
= Contributing a new extension / Requesting an extension update =
  <p>'''Linux or MacOSX:''' Start a terminal.</p>
 
  <p>'''Windows:''' Start <code>Git Bash</code> (not the Windows command line). [https://help.github.com/articles/set-up-git#platform-windows Need help ?]</p>
 
</li>
 
  
<li>{{pre2|<nowiki>$ bin/slicerExtensionWizard --contribute ~/Slicer-MyExtension/</nowiki>}}</li>
+
Typing this command will create a pull request on ExtensionsIndex repository.
  
 +
<ol style="list-style-type:none; border-left:thick solid red; padding-left:1em;"> 
 +
<li>Make sure the latest changes associated with your extension have been pushed in your extension repository.</li>
 
</ol>
 
</ol>
 +
 +
== Extensions built against Slicer trunk ==
 +
 +
{{pre2|<nowiki>$ bin/slicerExtensionWizard --contribute ~/src/Slicer-MyExtension/</nowiki>}}
  
 
== Extensions build against Slicer {{Documentation/currentversion}} ==
 
== Extensions build against Slicer {{Documentation/currentversion}} ==
  
* The following instruction describes how to contribute extension description file for an extension being built against slicer {{Documentation/currentversion}}.
+
{{pre2|<nowiki>$ bin/slicerExtensionWizard --contribute --target </nowiki>{{Documentation/currentversion}}<nowiki>  ~/src/Slicer-MyExtension/</nowiki>}}
 
 
{|width = "100%"
 
! width="50%" style="border-bottom: 1px solid darkgrey;font-size: 75%;"| Linux or MacOSX
 
! width="50%" style="border-bottom: 1px solid darkgrey;font-size: 75%;"| Windows
 
|-
 
| valign="top" |
 
Start a terminal.
 
| valign="top" |
 
Start Git Bash (not the Windows command line). [https://help.github.com/articles/set-up-git#platform-windows Need help ?]
 
|-
 
|colspan="2"| {{pre2|<nowiki>$ bin/slicerExtensionWizard --contribute --target </nowiki>{{Documentation/currentversion}}<nowiki>  ~/Slicer-MyExtension/</nowiki>}}
 
|}
 

Latest revision as of 01:44, 5 August 2017

Home < Documentation < Nightly < Developers < Tutorials < Contribute Extension Description File using Extension Wizard


For the latest Slicer documentation, visit the read-the-docs.


Overview

This page describes how to easily contribute an extension description file using the ExtensionWizard. The wizard automates the manual steps documented here.

It will automatically generate the extension description file (.s4ext) based on the CMakeLists.txt in the extension directory.

Definitions

  • Extension description file: This is a text file with extension .s4ext that fully described an extension. More details here.
  • ExtensionsIndex: This is a repository containing a list of extension description files *.s4ext. These description files are used by the Slicer extensions build system to build, test, package and upload extensions on the extensions server. More details here

Prerequisites

  • Extension belongs to Category 1 or Category 2 as described in Slicer requirements
  • Extension has been built, tested and installed on at least one platform (Linux, MacOSX or Windows)

Conventions

  • Terminal command - Block like the one below indicates that the command should be executed in a terminal.
  1. On Windows, Git Bash is expected (not the Windows command line). Need help ?
$ echo "This is a command"

Contributing a new extension / Requesting an extension update

Typing this command will create a pull request on ExtensionsIndex repository.

  1. Make sure the latest changes associated with your extension have been pushed in your extension repository.

Extensions built against Slicer trunk

$ bin/slicerExtensionWizard --contribute ~/src/Slicer-MyExtension/

Extensions build against Slicer 4.10

$ bin/slicerExtensionWizard --contribute --target 4.10  ~/src/Slicer-MyExtension/