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.

Always run maven from the root of your checked out svn folder. Meaning chdir into it first and make sure it is your current working dir.

Maven profiles

Command line to build and package OpenJUMP with maven is

 mvn package -P <profile>,<profile>,...

where profile is at least one of the following:

packages a snapshot of the basic edition core and plus (plus extensions from lib/plus)
builds of core and plus targeted for release, which can be named via
-D version.number=X.X.X -D version.release=release 
they mainly differ from snapshots because they
- do not contain source code
- do not expose language files in language/ folder
example results:

the following profiles can be added to build additional files

builds portable zip files, one per edition. takes care of setting executable bits and recompresses jar files.
example results:
installer (needs portable)
builds multi platform executable izpack installers (*.jar,*.exe) for both core and plus from the portable packaging
example result:
a zip file containing the source files of the build
example result:
build java doc html files for the current source
example result:

Build a release example

The command line to release a new version of OpenJUMP is

mvn package -P release[,portable[,installer]][,srczip][,javadoc] -D version.number=X.X.X -D version.release=release
  • for releases you might want to give a version.number (default=unknown) and a version.release (default=release)
  • version.release should have one of two values : release or snapshot


cd <svn-checkout-folder>/
mvn package -P release -D version.number=1.5.1

The release step by step list

  1. Check etc/readme.txt (new components, licenses, contributors ...?)
    1. update and commit.
  2. summarize the changes to the previous version in Changes.txt, based on the Changelog file (copy/sorting out), commit to trunk
  3. add svn tag
  4. build release files with maven as outlined above
  5. test startup on all supported platform (if possible)
  6. update release notes ( files readme.txt)
  7. upload the files to sourceforge's FRS
    1. release files
    2. readme.txt ( files version)
  8. assign default download button per platform under file info (i)
  9. update Download links
    1. on Wiki front page
    2. on Download wiki page
    3. on website
  10. announce release
    1. on wiki frontpage news
    2. on the devel/user mailing lists

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