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

From Slicer Wiki
Jump to: navigation, search
(Prepend documentation/versioncheck template. See http://na-mic.org/Mantis/view.php?id=2887)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
<noinclude>{{documentation/versioncheck}}</noinclude>
 
=Create a new extension and adding it to the extension index=
 
=Create a new extension and adding it to the extension index=
 
[https://github.com/Slicer/ExtensionsIndex/blob/master/README.md#readme See instructions on github]
 
[https://github.com/Slicer/ExtensionsIndex/blob/master/README.md#readme See instructions on github]
Line 24: Line 25:
 
* Update the master branch of both your local clone and your online ExtensionsIndex fork
 
* Update the master branch of both your local clone and your online ExtensionsIndex fork
 
<pre>
 
<pre>
git add upstream git://github.com/Slicer/ExtensionsIndex  # Add reference to the authoritative ExtensionsIndex
+
git remote add upstream git://github.com/Slicer/ExtensionsIndex  # Add reference to the authoritative ExtensionsIndex
git fetch upstream                                         # Fetch change of the authoritative ExtensionsIndex
+
git fetch upstream                                               # Fetch change of the authoritative ExtensionsIndex
git checkout master                                       # Checkout master
+
git checkout master                                               # Checkout master
git reset --hard upstream/master                           # Reset your local master branch using the authoritative master  
+
git reset --hard upstream/master                                 # Reset your local master branch using the authoritative master  
git push origin master                                     # Update the master branch of your online fork
+
git push origin master                                           # Update the master branch of your online fork
 
</pre>
 
</pre>
 
* Create a branch named update-<YourExtensionName> in the clone of your forked ExtensionsIndex
 
* Create a branch named update-<YourExtensionName> in the clone of your forked ExtensionsIndex
Line 35: Line 36:
 
</pre>
 
</pre>
 
* Regenerate the <YourExtensionName>.s4ext file by configuring your extension with CMake
 
* Regenerate the <YourExtensionName>.s4ext file by configuring your extension with CMake
 +
** see https://github.com/Slicer/ExtensionsIndex#build-your-own-set-of-extensions-against-slicer-trunk-build-tree
 +
** If the svn server needs a username and a password, edit the newly generated <YourExtensionName>.s4ext file to add this information
 
* Commit the <YourExtensionName>.s4ext file to your cloned ExtensionIndex repository (provide a meaningful commit comment)
 
* Commit the <YourExtensionName>.s4ext file to your cloned ExtensionIndex repository (provide a meaningful commit comment)
 
* Push modifications to your ExtensionIndex fork on github
 
* Push modifications to your ExtensionIndex fork on github
Line 45: Line 48:
 
* Update the 4.2.0 branch of both your local clone and your online ExtensionsIndex fork
 
* Update the 4.2.0 branch of both your local clone and your online ExtensionsIndex fork
 
<pre>
 
<pre>
git add upstream git://github.com/Slicer/ExtensionsIndex  # Add reference to the authoritative ExtensionsIndex
+
git remote add upstream git://github.com/Slicer/ExtensionsIndex  # Add reference to the authoritative ExtensionsIndex
git fetch upstream                                         # Fetch change of the authoritative ExtensionsIndex
+
git fetch upstream                                               # Fetch change of the authoritative ExtensionsIndex
git checkout 4.2.0                                         # Checkout 4.2.0
+
git checkout 4.2.0                                               # Checkout 4.2.0
git reset --hard upstream/4.2.0                           # Reset your local 4.2.0 branch using the authoritative 4.2.0  
+
git reset --hard upstream/4.2.0                                   # Reset your local 4.2.0 branch using the authoritative 4.2.0  
git push origin 4.2.0                                     # Update the 4.2.0 branch of your online fork
+
git push origin 4.2.0                                             # Update the 4.2.0 branch of your online fork
 
</pre>
 
</pre>
 
* Create a branch named update-<YourExtensionName>-4.2.0 in the clone of your forked ExtensionsIndex
 
* Create a branch named update-<YourExtensionName>-4.2.0 in the clone of your forked ExtensionsIndex
Line 56: Line 59:
 
</pre>
 
</pre>
 
* Regenerate the <YourExtensionName>.s4ext file by configuring your extension with CMake
 
* Regenerate the <YourExtensionName>.s4ext file by configuring your extension with CMake
 +
** see https://github.com/Slicer/ExtensionsIndex#build-your-own-set-of-extensions-against-slicer-trunk-build-tree
 +
** If the svn server needs a username and a password, edit the newly generated <YourExtensionName>.s4ext file to add this information
 
* Commit the <YourExtensionName>.s4ext file to your cloned ExtensionIndex repository (provide a meaningful commit comment)
 
* Commit the <YourExtensionName>.s4ext file to your cloned ExtensionIndex repository (provide a meaningful commit comment)
 
* Push modifications to your ExtensionIndex fork on github
 
* Push modifications to your ExtensionIndex fork on github

Latest revision as of 07:43, 14 June 2013

Home < Documentation < 4.2 < Developers < Tutorials < BuildTestPackageDistributeExtensions


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


Create a new extension and adding it to the extension index

See instructions on github

Obtain an API key to submit on the extension server

See instructions on github

Upload an extension in the experimental folder

See instructions on github

Contribute an extension description file

Requesting an extension version update   UPDATED

On your local fork, the idea is to create the following topic branches:

  • update-<YourExtensionName> based of master integration branch.
  • update-<YourExtensionName>-4.2.0 based of 4.2.0 integration branch.

Extensions build against Slicer trunk

The following instruction describes how to contribute extension description file updates for an extension being built against slicer trunk.

  • Update the master branch of both your local clone and your online ExtensionsIndex fork
git remote add upstream git://github.com/Slicer/ExtensionsIndex   # Add reference to the authoritative ExtensionsIndex
git fetch upstream                                                # Fetch change of the authoritative ExtensionsIndex
git checkout master                                               # Checkout master
git reset --hard upstream/master                                  # Reset your local master branch using the authoritative master 
git push origin master                                            # Update the master branch of your online fork
  • Create a branch named update-<YourExtensionName> in the clone of your forked ExtensionsIndex
git checkout -b update-<YourExtensionName>

Extensions build against Slicer 4.10

The following instruction describes how to contribute extension description file updates for an extension being built against slicer trunk.

  • Update the 4.2.0 branch of both your local clone and your online ExtensionsIndex fork
git remote add upstream git://github.com/Slicer/ExtensionsIndex   # Add reference to the authoritative ExtensionsIndex
git fetch upstream                                                # Fetch change of the authoritative ExtensionsIndex
git checkout 4.2.0                                                # Checkout 4.2.0
git reset --hard upstream/4.2.0                                   # Reset your local 4.2.0 branch using the authoritative 4.2.0 
git push origin 4.2.0                                             # Update the 4.2.0 branch of your online fork
  • Create a branch named update-<YourExtensionName>-4.2.0 in the clone of your forked ExtensionsIndex
git checkout -b update-<YourExtensionName>-4.2.0