Difference between revisions of "Documentation/Nightly/Developers/Build ExtensionsIndex"

From Slicer Wiki
Jump to: navigation, search
(moved to readthedocs)
Tags: 2017 source edit, Replaced
(15 intermediate revisions by 5 users not shown)
Line 1: Line 1:
== Overview ==
| text  = [https://slicer.readthedocs.io/en/latest/developer_guide/extensions.html#extensions-build-system This page has been moved to read-the-docs.]
This page explain how to build an ExtensionsIndex.
| background-color = 8FBC8F }}
Think of the ExtensionsIndex as a repository containing a list of [[Documentation/{{documentation/version}}/Developers/Extensions/DescriptionFile|extension description files]] (*.s4ext) used by the Slicer extensions build system to build, test, package and upload extensions on an [[Documentation/{{documentation/version}}/Developers/Extensions/Server|extensions server]].
Once uploaded on an extensions server, within Slicer, extensions can be installed using the [[Documentation/{{documentation/version}}/SlicerApplication/ExtensionsManager|extensions manager]].
There are two possible approaches to build it:
* [[#Manual_build|Manual build]]
* [[#Dashboard_driven_build|Dashboard driven build]]
== Manual build ==
Locally building an extension index provides a convenient way to:
* check [[Documentation/{{documentation/version}}/Developers/Extensions/DescriptionFile|extension description files]] are valid
* upload one or more extensions at ones to check that Slicer can [[Documentation/{{documentation/version}}/SlicerApplication/ExtensionsManager|download and install]] them
Given a directory containing one or more extension description files, it is possible to manually
configure and build the associated extensions specifying the following CMake options:
<table class="alternate">
    <td>Path to Slicer build tree</td>
    <td>Path to folder containing extension description files</td>
Optionally, it is also possible to specify:
<table class="alternate">
    <td><code>[http://www.cmake.org/cmake/help/v2.8.8/cmake.html#variable:CMAKE_BUILD_TYPE CMAKE_BUILD_TYPE]</code></td>
    <td>On unix-like platform, should match the build type of the associated Slicer build directory</td>
    <td>By default set to <code>OFF</code>.<br>If enabled, extension builds will be submitted to Slicer dashboard and associated packages will be uploaded to extensions server</td>
    <td>MIDAS extensions server URL speciManualfying where the extension should be uploaded. For example http://slicer.kitware.com/midas3</td>
    <td>Email allowing to authenticate to the extensions server.</td>
    <td>Token allowing to authenticate to the extensions server.</td>
== Dashboard driven build ==
Continuous and nightly extension dashboards are setup on the slicer factory machine maintained by [http://www.kitware.com Kitware] folks.
Assuming you install your own [[Documentation/{{documentation/version}}/Developers/Extensions/Server|extensions server]], you could also distribute  your own set of extensions.
* Setting both nightly and continuous builds of the extensions is a key component of the Slicer continuous integration process.
* By customizing the [https://github.com/Slicer/Slicer/blob/master/Extensions/CMake/SlicerExtensionsDashboardScript.TEMPLATE.cmake extension template dashboard script], it is possible to easily setup dashboard client submitting to [http://slicer.cdash.org/index.php?project=Slicer4 CDash].
* The images reported below illustrate the dashboard submissions associated with the continuous and nightly builds of Slicer extensions associated to both Slicer trunk and Slicer 4.1.1.
<gallery widths=600px perrow=2>
File:Slicer-411-Extensions-build-system-nightly.png|Extensions-Nightly Slicer 4.1.1
File:Slicer-411-Extensions-build-system-continuous.png|Extensions-Continuous Slicer 4.1.1
File:Slicer-Extensions-build-system-nightly.png|Extensions-Nightly Slicer trunk
File:Slicer-Extensions-build-system-continuous.png|Extensions-Continuous Slicer trunk

Latest revision as of 20:18, 28 September 2021

Home < Documentation < Nightly < Developers < Build ExtensionsIndex