Creating an OJ release version

From OpenJUMP Wiki
Jump to navigation Jump to search

New Build/Release Procedure

The new build and release procedure uses maven.

Maven profiles

Command line to build and package OpenJUMP with maven is

 mvn package 
which is equivalent to
 mvn package -P core 
as core is the default profile, activated if no other was selected.


The available maven profiles are

core
a snapshot of the basic edition
example result:
target/OpenJUMP-20120423-r2834-CORE.zip
plus
a snapshot of the extended edition (core plus extensions from lib/plus)
example result:
target/OpenJUMP-20120423-r2834-PLUS.zip
release
stable builds of core and plus which can be named via e.g.
-D version.number=X.X.X -D version.release=stable 
example result:
target/OpenJUMP-1.5.1-r2721-CORE.zip
target/OpenJUMP-1.5.1-r2721-PLUS.zip

the following profiles can be added to build additional files

installer
builds multi platform executable izpack installers (*.jar,*.exe) for either core and plus or release
example result:
target/izpack/Install_OpenJUMP-20120423-r2834-CORE.jar
target/izpack/Install_OpenJUMP-20120423-r2834-CORE.exe
target/izpack/Install_OpenJUMP-20120423-r2834-PLUS.jar
target/izpack/Install_OpenJUMP-20120423-r2834-PLUS.exe
srczip
a zip file containing the source files of the build
example result:
target/OpenJUMP-20120425-r2834-src.zip
javadoc
build java doc html files for the current source
example result:
target/apidocs/

Release

The command line to release a new version of OpenJUMP is

mvn package -P release[,installer][,srczip][,javadoc] -D version.number=X.X.X -D version.release=stable
  • you can select either core and plus (both are the snapshots) or release (builds releases for CORE and PLUS)
  • for releases you might want to give a version.number (default=unknown) and a version.release (default=stable)

example

mvn package -P release -D version.number=1.5.1


Old Release Process

  • update the readme.txt
  • summarize the changes to the previous version, based on the change log file (copy/sorting out)
  • compile everything with the Ant script (check the java version to compile against)
  • add the license, openjump.exe, and readme files (if not already included)
  • so the platform independent zip & source release may be ready after copying the lic files into the zip (but best is to compare the zip content of an older release with the just created version)
  • create a win-installer using Nullsoft NSIS (maybe with a pointer to download java 1.6) and include before-hand the ecw and mrsid libs into this edition (see also the notes on the svn for the past releases: e.g. for OJ 1.3.1)
  • create another zip/release version that includes the sextante tools, postgis and print-plugin; based on the platform independent zip
  • write the release notes
  • upload the files to sourceforge
  • make an announcement on slashgeo & our wiki & our sourceforge new section & change our webpage/links
  • finally, updating of the documentation on the wiki on the new functions