After our first release, it is useful to document the steps that the release manager made in order that later releases are more easily performed.
Preparation
- Create a release tag in in Apache Jira
- Make sure all issues tagged with the release are finished
Is the correct version tag set in the pom.xml? - Should be "apache-esme-[VERSION-NO]-incubating"
- Are the current developers in the pom-xml?
- Are all the maven dependencies pointing to reproducible versions - not snapshots.
- Are all the maven dependencies correctly licensed? Do a "mvn site" and check the licenses.
- Are there any unused dependencies? Do a "mvn dependency:analyze" to check.
- Update the CHANGES.TXT file based on the JIRA output for that release
- Update the README.TXT if necessary
Cutting a release
- do a svn update to an empty directory
- delete or rename your .m2/repository directory
- Is the release able to be compiled?: do a "mvn compile. There should be no errors.
- Are all tests successful? do a "mvn test". There should be no tests that fail
- Is the release runnable? Do a "mvn jetty:run". Can you start ESME and perform the basic tests (List missing)
Tag the the release via SVN. The tag should be called "apache-esme-[VERSION-NO]-incubating"
- Use SVN export on the SVN tagged directory to create a directory of files that doesn't include any SVN-related files.