Documentation/Nightly/Developers/Build system/Remote Module

From Slicer Wiki
Jump to: navigation, search
Home < Documentation < Nightly < Developers < Build system < Remote Module

Purpose of Remote Modules

Keep the Slicer core lean.

Allow individuals or organizations to work on their own private modules and optionally make these modules available to the Slicer users as without the need to use the extensions manager.


Policy for Adding and Removing Remote Modules

Module is known to compile on Linux, MacOSX and Windows.

Module is tested.

Module names must be unique.

At no time in the future should a module in the main Slicer repository depend on Remote module.


Procedure for Adding a Remote Module

1. Discuss with Slicer core Developers

2. Add an entry into SuperBuild.cmake using Slicer_Remote_Add() macro.

3. Corresponding commit message should be similar to:

ENH: Add Foo remote module

The Foo module provide the user with ...


Procedure for Updating a Remote Module

1. Update the entry into SuperBuild.cmake</code

2. Commit with a message similar to:

ENH: Update Foo remote module

$ git shortlog abc123..efg456
John Doe (2):
  Add support for ZZZ spacing
  Refactor space handler to support multi-dimension