release.txt revision 8bdb629053c6752f21668f2af5f336109439b15b
Checklist for releasing OpenGrok:
---------------------------------
../ext_lib - is a directory where we keep latest JFlex.jar and all necessary
jars/dirs for tests
0) set proper version in build.xml
<property name="version" value="???"/>
and put some stuff into CHANGES.txt
Then commit the change:
git commit
1) build must be clean
ant clean
ant # defaults to jar currently
2) check all tests, tests code coverage:
junit, pmd, findbugs, checkstyle, emma, jdepend
They should be ok, currently only checkstyle has 8 warnings, the rest is
clean; emma reports should be based according to what is set for the release,
usually it's overall coverage above 80%)
(jenkins can help here, see README.txt on setup)
3) tag the build used for release so we can get back to it:
git tag 0.XYZ
git push origin --tags
4) produce proper distributions
Check them before upload, always try to build on Solaris, since gnu tar might
create a non-standard compliant .tgz version and tag from step 0) will be used
to produce the archive
ant dist
ant package
The command above creates both formats of package .pkg and .p5p into the directory dist
Note that for the IPS package *.p5p the version names are translated this way:
0.12 ~ 0.12.0.1.0
0.<n> ~ 0.<n>.0.1.0
...
0.12-rc1 ~ 0.12.0.0.1
0.12-rc<i> ~ 0.12.0.0.<i>
...
(Note that the release candidate must follow imediately after the basic version number (0.12))
0.12.1 ~ 0.12.1.0.0
0.12.<j> ~ 0.12.<j>.0.0
...
0.12.0.1 ~ 0.12.0.1.1
0.12.0.<k> ~ 0.12.0.1.<k>
...
5) Upload them using https://github.com/OpenGrok/OpenGrok/releases
The release is OK, once above is fullfilled to our satisfaction.