ITK/How to make a Release: Difference between revisions

From KitwarePublic
< ITK
Jump to navigationJump to search
Line 143: Line 143:
== Copy the files to the FTP directory in public.kitware.com ==
== Copy the files to the FTP directory in public.kitware.com ==


   scp  InsightToolkit-2.4.0.tar.gz        /projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  InsightToolkit-2.4.0.tar.gz        kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  InsightApplications-2.4.0.tar.gz    /projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  InsightApplications-2.4.0.tar.gz    kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  InsightToolkit-2.4.0.zip            /projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  InsightToolkit-2.4.0.zip            kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  InsightApplications-2.4.0.zip      /projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  InsightApplications-2.4.0.zip      kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  DoxygenInsightToolkit-2.4.0.tar.gz  /projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  DoxygenInsightToolkit-2.4.0.tar.gz  kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  DoxygenInsightToolkit-2.4.0.zip    /projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  DoxygenInsightToolkit-2.4.0.zip    kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  CableSwig-2.4.0.tar.gz              /projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  CableSwig-2.4.0.tar.gz              kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  CableSwig-2.4.0.zip                /projects/Insight/WWW/InsightDocuments/Web/files/v2.4
   scp  CableSwig-2.4.0.zip                kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4


== Copy the files to SourceForge ==
== Copy the files to SourceForge ==

Revision as of 00:49, 30 November 2005

How To Make an ITK Release

This page describes the sequence of steps required for making an ITK release

Update CMake version required in CMakeList.txt

edit CMakeLists.txt and find the variables

   CMAKE_MINIMUM_REQUIRED

and set it to the latest stable release of CMake.

Update Version number in CMakeList.txt

Edit CMakeLists.txt and find the variables

  • SET(ITK_VERSION_MAJOR "2")
  • SET(ITK_VERSION_MINOR "2")
  • SET(ITK_VERSION_PATCH "0")

and update them according to the current release number.

Tag the Insight repository

Tagging the repository should only be done with the agreement of the developers after a tcon.

Update your repository with

use the commmand

  cvs -q update -d -P -A

to make sure that your source tree is updated. This must correspond to a source tree that has been fully tested in the Dashboard.

Tag with a branch point reference

In the source tree that you just updated, use the command

  cvs tag ITK-2-2-bp

where, of course you change -2-2- for the correct release number.

This tag before the branching point serves as a reference for future merges.

Tag and branch

In the same source tree use the cvs command

  cvs tag -b ITK-2-2

where, again, of course, you replace -2-2 with the appropriate release number.

The -b option will create a branch.


Tag the InsightApplications repository

The same sequence of steps used for Insight must be used for tagging and branching the module of InsightApplications

Tag CableSwig

CableSwig must be tagged with the same tag used for the ITK release. This is usually done by Brad King at Kitware.


Prepare tarballs

Once the repository has been tagged, we CVS export its content using the tag in order to create .tar.gz and .zip files.

CVS Exporting

CVS login as anonymous

Create an empty directory, the use the CVS command for login

  cvs -d :pserver:anonymous@www.itk.org:/cvsroot/Insight login

use "insight" as password

CVS checking out Insight

Then use the export CVS command with the tag of that release

  cvs -d :pserver:anonymous@www.itk.org:/cvsroot/Insight checkout -r ITK-2-2 -d InsightToolkit-2.2.0  Insight
  • the option -r defines the tag to be used for checked out
  • the option -d creates a directory with a particular name. This directory name should match the number of the release

CVS checking out InsightApplications

Export also InsightApplications with the command

  cvs -d :pserver:anonymous@www.itk.org:/cvsroot/Insight checkout -r ITK-2-2 -d InsightApplications-2.2.0  InsightApplications

Create Tarballs

InsightToolkit tarball

create the tar file with the command

  tar -c -f InsightToolkit-2.2.0.tar   InsightToolkit-2.2.0

use the maximum compression with gzip

  gzip -9  InsightToolkit-2.2.0.tar

That should produce a file named

  InsightToolkit-2.2.0.tar.gz


InsightApplications tarball

create the tar file with the command

  tar -c -f InsightApplications-2.2.0.tar   InsightApplications-2.2.0

use the maximum compression with gzip

  gzip -9  InsightApplications-2.2.0.tar

That should produce a file named

  InsightApplications-2.2.0.tar.gz

Creating Zip files on Windows

Follow the above instructions for exporting the source files in a Windows machine. This can be done with a Cygwin that has been configured at installation-time for using a DOS file system, not a UNIX filesystem.

Once you have both directories: Insight and InsightApplications, right click on each of them and select the option "send to compressed file".

Generating Doxygen Documentation

  • Run CMake in the binary build and enable BUILD_DOXYGEN
  • Do Configure and Generate in CMake
  • Go to the binary directory
  • Create the directory ./Documentation
  • Create the directory ./Documentation/Doxygen
  • Type "doxygen doxygen.config"

Copy the files to the FTP directory in public.kitware.com

 scp   InsightToolkit-2.4.0.tar.gz         kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4
 scp   InsightApplications-2.4.0.tar.gz    kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4
 scp   InsightToolkit-2.4.0.zip            kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4
 scp   InsightApplications-2.4.0.zip       kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4
 scp   DoxygenInsightToolkit-2.4.0.tar.gz  kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4
 scp   DoxygenInsightToolkit-2.4.0.zip     kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4
 scp   CableSwig-2.4.0.tar.gz              kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4
 scp   CableSwig-2.4.0.zip                 kitware@public:/projects/Insight/WWW/InsightDocuments/Web/files/v2.4

Copy the files to SourceForge

This is to be done only by

  • Ken Martin at Kitware
  • Luis Ibanez at Kitware

Update the HTML Download page

Go to your checkout of InsightDocuments

and to the subdirectory Web/HTML

cvs update it

edit the file

  Download.htm


Further Testing

The purpose of this testing is to replicate the experience that a user may have when trying the new release.

This means that a number of ITK developers should download the tarballs or do CVS checkouts with the release tag, and build the toolki t in as many configuration as possible.