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

From Slicer Wiki
Jump to: navigation, search
(moved to readthedocs)
Tags: 2017 source edit, Replaced
 
(135 intermediate revisions by 7 users not shown)
Line 1: Line 1:
=Create a new extension and adding it to the extension index=
+
<noinclude>{{documentation/versioncheck}}</noinclude>
[https://github.com/Slicer/ExtensionsIndex/blob/master/README.md#readme See instructions on github]
 
  
==Obtain an API key to submit on the extension server==
+
{{documentation/banner
[https://github.com/Slicer/ExtensionsIndex#setting-up-an-account-and-obtaining-an-api-key See instructions on github]
+
| text  = [https://slicer.readthedocs.io/en/latest/developer_guide/extensions.html This page has been moved to read-the-docs.]
 
+
| background-color = 8FBC8F }}
==Upload an extension in the experimental folder==
 
[https://github.com/Slicer/ExtensionsIndex#manual-build See instructions on github]
 
 
 
==Contribute an extension description file ==
 
* [https://github.com/Slicer/ExtensionsIndex#contributing See instructions on github]
 
* Consider also reading [https://github.com/Slicer/ExtensionsIndex/wiki/Extension-description-file Extension description file format]
 
 
 
= Requesting an extension version update {{updated}} =
 
 
 
On your local fork, the idea is to create the following topic branches:
 
* <code>update-<YourExtensionName></code> based of [https://github.com/Slicer/ExtensionsIndex/tree/master <code>master</code>] integration branch.
 
* <code>update-<YourExtensionName>-4.2.0</code> based of [https://github.com/Slicer/ExtensionsIndex/tree/4.2.0 <code>4.2.0</code>] 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
 
<pre>
 
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
 
</pre>
 
* Create a branch named update-<YourExtensionName> in the clone of your forked ExtensionsIndex
 
<pre>
 
git checkout -b update-<YourExtensionName>
 
</pre>
 
* 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)
 
* Push modifications to your ExtensionIndex fork on github
 
* Submit a pull request to https://github.com/Slicer/ExtensionsIndex (provide a meaningful commit comment)
 
 
 
== Extensions build against Slicer {{Documentation/currentversion}}  ==
 
 
 
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
 
<pre>
 
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
 
</pre>
 
* Create a branch named update-<YourExtensionName>-4.2.0 in the clone of your forked ExtensionsIndex
 
<pre>
 
git checkout -b update-<YourExtensionName>-4.2.0
 
</pre>
 
* 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 generated <YourExtensionName>.s4ext file that has just been regenerated
 
* Commit the <YourExtensionName>.s4ext file to your cloned ExtensionIndex repository (provide a meaningful commit comment)
 
* Push modifications to your ExtensionIndex fork on github
 
* Submit a pull request to https://github.com/Slicer/ExtensionsIndex (provide a meaningful commit comment)
 
 
 
 
 
<gallery widths=800px heights=300px perrow=1>
 
File:Extensions-4.2-pull-request-step1.png|1. Create Pull Request
 
File:Extensions-4.2-pull-request-step2.png|2. Select base
 
File:Extensions-4.2-pull-request-step3.png|3. Send Pull Request
 
File:Extensions-4.2-pull-request-step4.png|4. Verify
 
</gallery>
 

Latest revision as of 20:39, 8 June 2020

Home < Documentation < Nightly < Developers < Tutorials < BuildTestPackageDistributeExtensions