Skip to content

Preparing A Release

Dave Parker edited this page Apr 18, 2019 · 40 revisions

Preliminary Steps for Public Releases

1. Final checks/changes to code

  • Get latest version: git pull
  • Make sure all commits are documented in CHANGELOG.txt
  • Add version number and release date to CHANGELOG.txt
  • Make sure prism -help is up-to-date with all commits
  • Set new version number in prism/Version.java
  • Commit/push

2. Update manual

Building a Source Distribution

A source distribution is built from a local git checkout. From the prism directory, where PRISM is usually, compiled, run:

make release_source

This assembles all the files needed into, for example, release/prism-4.5-src.tar.gz. This is done by taking an archive of the local master branch on git. You can change the branch if you wish, e.g.:

make release_source BRANCH=HEAD
make release_source BRANCH=newfeature

By default, the version number (4.5 above) is automatically extracted from prism/Version.java, but can be overridden if required:

make release_source VERSION=4.4.1
make release_source BRANCH=newfeature VERSION=newfeature

Building a Binary Distribution

A source distribution is built from a local copy of source, either an unzipped source release or a local git checkout. From the prism directory, where PRISM is usually, compiled, run:

make release

This makes sure that PRISM is compiled, builds prism.jar containing all the Java class files, and assembles all the files needed into, for example, release/prism-4.5-osx64.tar.gz.

By default, the version number (4.5 above) is automatically extracted from prism/Version.java, but can be overridden if required:

make release VERSION=4.4.1

The platform name (osx64 above) is derived automatically from the current build. If you were building, for example, a 32-bit release from a 64-bit OS, you might use:

make clean_all && make ARCH=

The build process works in the same way under Windows (compiling from within Cygwin), but this also requires NSIS to be installed (and makensis to be in your path).

Publishing a Release

  • Push source/binary release files to the web site
  • Update download page
  • Upload new version of online manual (unison)

Clone this wiki locally