Developer Documentation

This document collects the documents and infos which are useful for developers of the PatternTesting framework.

Sourceforge Docs

Below are some links to important docs on Sourceforge:

Release Checklist

This is a little checklist for the next release:

  1. update src/changes/changes.xml for each subproject and the history chapter on the parent start page (index.xml).
  2. change the version in pom.xml (remove -SNAPSHOT) start
    mvn release:clean release:prepare -Darguments=-Dgpg.passphrase=xxx or (interactive)
    mvn versions:set followed by mvn versions:commit
    Do not forget patterntesting-all - check its POM file!
  3. build all artifacts from patterntesting-parent (mvn -B -Prelease clean install javadoc:jar gpg:sign repository:bundle-create -Dgpg.passphrase=xx); it may help, if you increase the memory size for Maven (export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m")
  4. use the script bin/deploy.sh to upload bundles to oss.sonatype.org (but don't forget to update the VERSION variable inside this script).
    If one of the signed bundles fail, check the signature (e.g. gpg --verify patterntesting-libs-1.5.0-bin.tar.gz.asc). If signature is wrong, sign it manually, e.g. gpg -ba patterntesting-libs-1.5.0-bin.tar.gz and bundle it again (mvn repository:bundle-create or manually) or remove the assembled zip file from the bundle.
    If upload hangs do it manually as described on Stage Existing Artifacts or read Uploading 3rd-party Artifacts.
  5. after upload to the staging repository release it: select "Staging Repositories" on oss.sonatype.org, press "Refresh" and then "Close" and "Release".
  6. The website is normally automatically generated on build server. Copy it to patterntesting.org/release/.
  7. optional: deploy the jar files to the local Maven repository:
    mvn deploy
  8. checkin the pom.xml (if not already done) and label the sources, e.g. with patterntesting-1_2_0
  9. optional: create patterntesting-x.x.x-test-sources.jar
    mvn source:test-jar
  10. provide the jar files for normal download (see Release Files for Download (FRS)):
    • login to Sourceforge
    • select Files and upload the tar and zip files from patterntesting-libs, patterntesting-tools and patterntesting-samples (you can find it in the target directory).
  11. close fixed bugs and feature requests (if not already done)
  12. after a few days: check patterntesting with search.maven.org if the new version was automatically distributed to it

If there is something wrong with the delivery to patterntesting.sourceforge.net you can require a interactive shell:

ssh -t oboehm,patterntesting@shell.sourceforge.net create
cd /home/groups/p/pa/patterntesting/