Documentation/4.1/Developers/Versioning

From Slicer Wiki
Jump to: navigation, search
Home < Documentation < 4.1 < Developers < Versioning

Documentation


Package naming scheme

Slicer-<MAJOR_VERSION>.<MINOR_VERSION>.<BUILD_VERSION>-<[svn<REV>[-dirty]|rc{1|2|3...}|(null)]>-<DATE>-<ARCH>-<PLATFORM>

We can distinguish between two stages:

  • Development: The suffix svn<REV> allows to identify the revision associated with the current package. The -dirty prefix indicates if the package has been generated from a locally modified source tree.
  • Release: The optional suffix rc{1|2|3|...} allows to identify the different release candidates leading to a final release.

Example of linux packages chronologically ordered:

[2011-12-09] Slicer-4.0.0-linux-amd64                       [final release]
[2011-12-10] Slicer-4.0.1-svn18872-2011-12-10-linux-amd64   [development]
[2011-12-11] Slicer-4.0.1-svn18883-2011-12-11-linux-amd64   [development]
[2011-12-12] Slicer-4.0.1-svn18894-2011-12-12-linux-amd64   [development]
...
[2011-12-31] Slicer-4.0.1-svn18894-2011-12-12-linux-amd64   [development]
[2011-01-01] Slicer-4.0.2-rc1-linux-amd64                   [release]
[2011-01-02] Slicer-4.0.1-svn19010-2012-01-02-linux-amd64   [development]
[2011-01-03] Slicer-4.0.1-svn19011-2012-01-03-linux-amd64   [development]
[2011-01-04] Slicer-4.0.2-rc2-linux-amd64                   [release]
[2011-01-05] Slicer-4.0.1-svn19021-2012-01-05-linux-amd64   [development]
...
[2011-01-08] Slicer-4.0.2-rc3-linux-amd64                   [release]
[2011-01-09] Slicer-4.0.1-svn19023-2012-01-09-linux-amd64   [development]
[2011-01-10] Slicer-4.0.2-linux-amd64                       [final release]
[2011-01-11] Slicer-4.0.3-svn19028-2012-01-10-linux-amd64   [development]
[2011-01-12] Slicer-4.0.3-svn19035-2012-01-11-linux-amd64   [development]
  • Commit messages, example to move from 4.0.1 to 4.0.2
    • Day of a release candidate:
ENH: Slicer 4.0.2 rc1

CMakeLists change:

set(Slicer_PATCH_VERSION "2-rc2")
    • Day after a release candidate:
ENH: Slicer 4.0.2 WIP

CMakeLists change:

set(Slicer_PATCH_VERSION "1-${Slicer_BUILDDATE}")
    • Day of a final release:
ENH: Slicer 4.0.2

CMakeLists change:

set(Slicer_PATCH_VERSION "2")
    • Day after a final release:
ENH: Slicer 4.0.3

CMakeLists change:

set(Slicer_PATCH_VERSION "3-${Slicer_BUILDDATE}")

Extension package - Naming scheme