Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

The version number is currently stored in build.properties in the waveinabox.version string.
Whilst the project is still incubating, the word 'incubating' must appear in the version string.

Build the release artefacts

The preferred way

Simply running

Code Block
 ant release 

should be enough to build, run tests, and package as tar.bz2 and zips in the dist directory.
Manually inspect to ensure the 4 archives were all generated correctly:

  1. 'ant dist' works from the unpacked source archives
  2. Jar manifests contain LICENSE and NOTICE
  3. Jar manifests have the following properties:
Code Block
Specification-Vendor
Specification-Title
Specification-Version
Implementation-Vendor
Implementation-Title
Implementation-Version

TODO: Do we need Extension-Name, Implementation-Vendor-Id as well?

Make a Release Candidate

Bump version number

Adjust 'waveinabox.version' in build.properties. Do not include RC in the version number here.

The version number should be in the form described at: http://semver.org/

Basically:

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards-compatible manner, and
  3. PATCH version when you make backwards-compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

For example:  0.4.0-rc.6-incubating

Every release should usually increase the MINOR version and reset the PATCH Consider http://semver.org/ as the guide for deciding on the release version.

Create CHANGES

I suggest using the following git log, to produce a one-line-per-change list of all commits.
(An alternative, would be to use the JIRA id's - but not everything goes through Jira (notably most of my stuff doesn't! (tongue)))

...

Sign the release using your GPG key, and record SHA512 checksums for the files.Look for instructions in the KEYS file on how to append your key.

Code Block
languagebash
titleSign artefacts
#!/bin/zsh
#Assumes it is being run in the folder with artefacts.

PRE="apache-wave-"
for f in $PRE*; do
gpg --armor --output $f.asc --detach-sig $f
gpg --print-md SHA512 $f > $f.sha
done

You need to append you signature/public key to the KEYS file, look there for instructions.

Upload the Artefacts.

Upload the src+bin tar+zip somewhere so that it can be found.

The release candidate should be uploaded to the "dev" folder first to allow inspection and voting.

...

Whilst Wave is still an incubating project, send a VOTE email to general@incubator.apache.org to get PMC votes. Handle in the same way as the internal vote.

Publish accepted RC

To publish copy the artefacts into https://dist.apache.org/repos/dist/release/incubator/wave from / from the dist/dev/incubator/wave/ (delete old artefacts if needed, they were automatically archived already) and commit.