Difference between revisions of "Documentation/4.1/Developers/Versioning"

From Slicer Wiki
Jump to: navigation, search
Line 19: Line 19:
 
* Release: The optional suffix '''rc{1|2|3|...}''' allows to identify the different release candidates leading to a final release.
 
* Release: The optional suffix '''rc{1|2|3|...}''' allows to identify the different release candidates leading to a final release.
  
Example of packages chronologically ordered:
+
Example of linux packages chronologically ordered:
  Slicer-4.0.0-svn18872-2011-11-26-win-amd64     [development]
+
  [2011-12-09] Slicer-4.0.0-linux-amd64                       [final release]
  Slicer-4.0.0-svn18872-2011-11-26-win-i386      [development]
+
  [2011-12-10] Slicer-4.0.1-svn18872-2011-12-10-linux-amd64  [development]
  Slicer-4.0.0-svn18872-2011-11-26-linux-amd64  [development]
+
  [2011-12-11] Slicer-4.0.1-svn18883-2011-12-11-linux-amd64  [development]
  Slicer-4.0.0-svn18872-2011-11-26-macosx-amd64 [development]
+
  [2011-12-12] Slicer-4.0.1-svn18894-2011-12-12-linux-amd64   [development]
 
  ...
 
  ...
  Slicer-4.0.0-svn18873-2011-11-27-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]
Slicer-4.0.0-svn18874-2011-11-28-win-amd64    [development]
+
  [2011-01-02] Slicer-4.0.1-svn19010-2012-01-02-linux-amd64   [development]
Slicer-4.0.0-svn18874-2011-11-28-win-i386      [development]
+
  [2011-01-03] Slicer-4.0.1-svn19011-2012-01-03-linux-amd64   [development]
Slicer-4.0.0-svn18874-2011-11-28-linux-amd64  [development]
+
  [2011-01-04] Slicer-4.0.2-rc2-linux-amd64                   [release]
  Slicer-4.0.0-svn18874-2011-11-28-macosx-amd64  [development]
+
  [2011-01-05] Slicer-4.0.1-svn19021-2012-01-05-linux-amd64   [development]
...
 
Slicer-4.0.1-rc1-2011-11-29-linux-amd64       [release]
 
  Slicer-4.0.1-rc2-2011-11-30-linux-amd64        [release]
 
Slicer-4.0.1-rc3-2011-12-01-linux-amd64       [release]
 
  Slicer-4.0.1-2011-12-02-linux-amd64            [final release]
 
...
 
Slicer-4.0.1-svn18900-2011-12-03-win-amd64     [development]
 
  Slicer-4.0.1-svn18900-2011-12-03-win-i386      [development]
 
Slicer-4.0.1-svn18900-2011-12-03-linux-amd64   [development]
 
  Slicer-4.0.1-svn18900-2011-12-03-macosx-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 =
 
= Extension package - Naming scheme =

Revision as of 17:07, 5 December 2011

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