Difference between revisions of "Creating an OJ release version"
Jump to navigation
Jump to search
Line 2: | Line 2: | ||
The new build and release procedure uses maven. | The new build and release procedure uses maven. | ||
+ | |||
+ | ; <span style="color: red;">ATTENTION: | ||
+ | : <span style="color: red;">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''' === | === '''Maven profiles''' === |
Revision as of 11:00, 24 July 2013
New Build/Release Procedure
The new build and release procedure uses maven.
- ATTENTION:
- 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:
- snapshot
- packages a snapshot of the basic edition core and plus (plus extensions from lib/plus)
- release
- 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:
- target/OpenJUMP-20120423-r2834-CORE.zip
- target/OpenJUMP-20120423-r2834-PLUS.zip
the following profiles can be added to build additional files
- portable
- builds portable zip files, one per edition. takes care of setting executable bits and recompresses jar files.
- example results:
- target/recompress/OpenJUMP-Portable-20120423-r2834-CORE.zip
- target/recompress/OpenJUMP-Portable-20120423-r2834-PLUS.zip
- installer (needs portable)
- builds multi platform executable izpack installers (*.jar,*.exe) for both core and plus from the portable packaging
- example result:
- target/izpack/OpenJUMP-Installer-20120423-r2834-CORE.jar
- target/izpack/OpenJUMP-Installer-20120423-r2834-CORE.exe
- target/izpack/OpenJUMP-Installer-20120423-r2834-PLUS.jar
- target/izpack/OpenJUMP-Installer-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/
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)
example
cd <svn-checkout-folder>/ mvn package -P release -D version.number=1.5.1
The release step by step list
- Check etc/readme.txt (new components, licenses, contributors ...?)
- update and commit.
- summarize the changes to the previous version in Changes.txt, based on the Changelog file (copy/sorting out), commit to trunk
- add svn tag
- build release files with maven as outlined above
- test startup on all supported platform (if possible)
- update release notes (sf.net files readme.txt)
- upload the files to sourceforge's FRS
- release files
- readme.txt (sf.net files version)
- assign default download button per platform under file info (i)
- update Download links
- on Download wiki page
- on http://openjump.org website
- announce release
- on sf.net wiki frontpage news
- 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