Title: Releasing OpenJPA 1.2.x (Old SCP Steps) {excerpt:hidden=true}Instructions for creating an official OpenJPA release{excerpt} # Releasing OpenJPA These instructions guide the release manager through the steps of making an official OpenJPA release. _Work in progress. Times are just guesses and some information may be missing._ ## Prerequisites // TODO MDD Still may need some work... 1. You should read the [OpenJPA Release Policy](openjpa-release-policy.html) to decide on the name of the new release, based on the content. 1. You should read the Apache [Release FAQ](http://www.apache.org/dev/release.html) 1. You must have shell access to people.apache.org 1. You must have the following utilities installed on your local machine and available in your path: 1. * Java SE 5.0 (for 1.2.x and 1.3.x) or Java SE 6 (for 2.0.x) (prefer Sun JDK over IBM JDK) 1. * [Maven 2](http://maven.apache.org/) (at least version 2.0.10) 1. * [ssh](http://www.openssh.com/) (cygwin covers this on Windows) 1. * [gnupg](http://www.gnupg.org/) (cygwin covers this on Windows) 1. For Windows users, install [Cygwin](http://cygwin.com/) in addition to the above utilities 1. * Make sure the Net/openssh and Utils/gnupg packages are installed that come with Cygwin installation. ## Tasks that need to be performed for each release _The example below uses 1.2.x as the new branch and 1.2.0 as the new release._ * Cleanup JIRA so the Fix Version in issues resolved since the last release includes this release version correctly. * Update the files in openjpa-project - ** Update the CHANGES.txt and RELEASE_NOTES.html based on the Text and HTML release reports from JIRA. ** Review and update BUILDING.txt if needed. * Stage any Roadmap or Release landing pages on the wiki. * Use "mvn rat:check" to verify the source has the required headers before trying to release. * Perform a full build (IANAL + tests) and TCK runs before trying to release. * set MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=256m (especially for Java SE 6) * Use Sun JDK (if possible) ** If using IBM JDK, then also set the system property test.jvm.arguments to -Xdump:none (Avoids OOM heap dumps on selected tests. These extra files throw off the rat:check processing.) For example, {code:none} mvn -Dtest.jvm.arguments="-Xdump:none" ... * On Windows, use a cygwin window (vs a standard DOS prompt window) for the Release processing.|| || Monday, 12:01 \\ | ??? For new major releases (like 2.0.0) create a sub-branch off of the parent branch from which to make the release. Releasing from a branch will allow any cosmetic changes that need to be made for the release to be approved to be done without preventing other more disruptive advances in the trunk from potentially causing problems with the release. A branch can be made by running: \\ {code:none} $ mvn release:branch -DbranchName=1.2.x * Do not use Eclipse to do the checkout. The extra dot (.) files created by Eclipse throws off the rat:check processing. {code:none} $ svn checkout https://svn.apache.org/repos/asf/openjpa/branches/1.2.x 1.2.x $ cd 1.2.x {code}||