Difference between revisions of "Documentation/Nightly/Developers/Build ExtensionsIndex"
m |
m |
||
Line 5: | Line 5: | ||
This page explain how to build an ExtensionsIndex. | This page explain how to build an ExtensionsIndex. | ||
− | 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 extensions server. | + | 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]]. | Once uploaded on an extensions server, within Slicer, extensions can be installed using the [[Documentation/{{documentation/version}}/SlicerApplication/ExtensionsManager|extensions manager]]. | ||
Line 59: | Line 59: | ||
</tr> | </tr> | ||
</table> | </table> | ||
+ | |||
+ | |||
== Dashboard driven build == | == 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]. |
Revision as of 17:18, 13 June 2013
Home < Documentation < Nightly < Developers < Build ExtensionsIndexOverview
This page explain how to build an ExtensionsIndex.
Think of the ExtensionsIndex as a repository containing a list of extension description files (*.s4ext) used by the Slicer extensions build system to build, test, package and upload extensions on an extensions server.
Once uploaded on an extensions server, within Slicer, extensions can be installed using the extensions manager.
There are two possible approaches to build it:
Manual build
Locally building an extension index provides a convenient way to:
- check extension description files are valid
- upload one or more extensions at ones to check that Slicer can 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:
Slicer_DIR |
Path to Slicer build tree |
Slicer_EXTENSION_DESCRIPTION_DIR |
Path to folder containing extension description files |
Optionally, it is also possible to specify:
CMAKE_BUILD_TYPE |
On unix-like platform, should match the build type of the associated Slicer build directory |
Slicer_UPLOAD_EXTENSIONS |
By default set to OFF .If enabled, extension builds will be submitted to Slicer dashboard and associated packages will be uploaded to extensions server |
MIDAS_PACKAGE_URL |
MIDAS extensions server URL speciManualfying where the extension should be uploaded. For example http://slicer.kitware.com/midas3 |
MIDAS_PACKAGE_EMAIL |
Email allowing to authenticate to the extensions server. |
MIDAS_PACKAGE_API_KEY |
Token allowing to authenticate to the extensions server. |
Dashboard driven build
Continuous and nightly extension dashboards are setup on the slicer factory machine maintained by Kitware folks. Assuming you install your own 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 extension template dashboard script, it is possible to easily setup dashboard client submitting to CDash.