Build&Release process for JDOM

Rolf edited this page Feb 20, 2015 · 2 revisions

Build process

JDOM requires a relatively involved build/release process. The following actions need to be synchronized:

  1. Build the code (with correct version numbers in the artifacts/JavaDoc, etc.
  2. Tag Git repo
  3. Add performance numbers to performance wiki page.
  4. Update code coverage and JUnit test reports in github pages.
  5. update Javadoc, index, news, and downloads on www.jdom.org website.
  6. release Mavan artifacts to maven-central.
  7. Pull the git repo: jdom-sites back to the jdom.org web server

Build the code

create a build.properties file in the top JDOM folder (alongside the build.xml file) - using version 2.0.6 as an example....

version=2.0.6

Use Java 7 JDK version to build. The ant file does not yet support Java 8 JavaDoc changes.

Note that JDOM build from ant is designed to use source/build target versions of 1.5 for the source code:

ant clean maven

If you have set up the correct certificates as per the 'maven page'

Check the Javadoc that it contains the correct version numbers and that the Jar files and maven bundle is right:

build/maven/jdom2-2.0.6-bundle.jar

Tag the repo

JDOM-2.0.6

push the tags to github as well (tags don't automatially get pushed).

Run the PerfTest class

in contrib/src/java class org.jdom2.contrib.perf.PerfTest

I run it from eclipse. Just works. Copy/paste the last lines of output in to the gh-pages branch in performance.html file. Edit the description to include the version details.

Coverage, JUnit and APIDocs on Github pages.

Remove the three folders entirely from jdom2/ folder in gh-pages branch:

jdom2
    apidocs
    coverage
    junit.report

Copy/paste the same folders from the JDOM2 build folder:

build
    apidocs
    coverage
    junit.report

Commit, and push the gh-pages repository.

git add -A
git commit -m "JDOM 2.0.6" -a
git push

Update JDOM site

Edit the index.html page.

  • new announced version
  • list of fixes.

Edit the news/index.html page.

  • new announced version - add links to issues too.

Add the jdom zip file to dist/binary

Move the old jar to the archive:

git mv jdom-2.0.x.zip archive/

Update downloads/index.html to point to the new version of JDOM.

Remove the entire docs/apidocs folder

copy/paste the build/apidocs folder to the site.

Update the github repo with:

git add -A
git commit -m "JDOM 2.0.6" -a
git push

Release the maven bundle

log in to oss.sonatype.org, and updload the bundle there.

Find it in the "Staging Repositories" section, and select it.

Click the 'Release' button.

Pull the web site from jdom-site repo:

cd <DocumentRoot>
git fetch
git merge origin/master