Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h3. Steps

      Before starting the process, make sure these work below has been done:

* All version numbers in GEP are correct for issuing "mvn release:prepare", including plugin version in MANIFEST.MF
* Assure all the dependency version number is synchronized with Geronimo server
* With tool Apache RAT, scan all the source code to make sure Apache license headers have been added into neccessarily. The header is neccessary for .java, .xsd,.xml,.html and .properties, which contain functional code or configuration information.

# (/) The plan is to sync Geronimo Eclipse Plugin (GEP) releases with those of the Geronimo server. The goal is to release GEP as soon as possible after the release of the corresponding server. 
# \\
{note}
*Note:* These notes are written for release 2.2.  Change the version number accordingly for your release\!
{note}
\\
# (/) Pick up JIRA list of fixed bugs and new features from [Release Notes|https://issues.apache.org/jira/secure/ReleaseNote.jspa] and defer unresolved JIRAs
# (/) Update the release notes.  They are the file PLUGIN_RELEASE-NOTES-2.2.txt in trunk. Copy the JIRA list from Step 2 into it. 
# (/) Remove snapshot from version number of dependency. Eg. geronimo-kernel-2.2-SNAPSHOT.jar in MANIFEST.MF of runtime.v22. 
# (/) Update the <scm> URLs in the pom.xml to point to the final URL in tags. For example:
{code:xml}
<scm>
     <connection>scm:svn:https://svn.apache.org/repos/asf/geronimo/devtools/eclipse-plugin/tags/2.2/</connection>
     <developerConnection>scm:svn:https://svn.apache.org/repos/asf/geronimo/devtools/eclipse-plugin/tags/2.2/</developerConnection>
     <url>https://svn.apache.org/repos/asf/geronimo/devtools/eclipse-plugin/tags/2.2/</url>
</scm>
{code}
# (/) Build the new *branches* tree that will soon be released
# (/) Update Geronimo version number in *trunk* (e.g., 2.1.2 \-> 2.1.3-SNAPSHOT)
\\
## (/) Rename PLUGIN_RELEASE-NOTES-2.1.2.txt to PLUGIN_RELEASE-NOTES-2.1.3.txt.
# (/) &nbsp; Ensure that your GPG public key is in the /www/www.apache.org/dist/geronimo/KEYS file and KEYS in svn server before publishing anything to the distribution location
# (/) Prepare the release with maven release plugin. Refer to [http://maven.apache.org/developers/release/apache-release.html|http://maven.apache.org/developers/release/apache-release.html]
# (/) &nbsp;Set up a staging site for verifying update site at people.apache.org. Eg. &nbsp;[http://people.apache.org/builds/geronimo/eclipse/updates/|http://people.apache.org/builds/geronimo/eclipse/updates/]
## Extract geronimo-eclipse-plugin\-{version}\-updatesite.zip and calculate check sum for each files
## upload all the files into update site
# (/) Put the staging site up for a vote. In the vote notice, please include:
#- The precise names and versions being voted on (e.g. geronimo-eclipse-plugin-2.2-deployable.zip and geronimo-eclipse-plugin-2.2-updatesite.zip)
{tip:title=Tips}1. Be certain to use the Release Candidate (RC) acronym in the name as it will not likely pass on the first vote
2. Be certain to use the same version numbers as the Geronimo Server (e.g., 2.2)
{tip}
#- The svn urls to the current source and where the tag will be created
#- The svn revision levels being voted on along with pointers to the source and build output files
#- URL of the staging site (with instructions on how to use it)
#- Eclipse requirements if any (with instructions on how to download them and from where)
\\
\\
# (/) Test the staging site by downloading the adapter from it (using the same instructions in previous step)&nbsp;
# (/) Create the How to install GEP v2.2 wiki page. Be sure this includes the pre-reqs. The idea is to have a single page with this release-specific information. In the vote note below, refer to this page, with overrides for the staging site URL. The idea here is to create the install page before hand, and use it for the voting, so that folks will review the doc we'll go live with when the vote passes. There is a How to install GEP page, with children of the various versions. These are for folks who may want to install old versions. When the vote passes, move all it's children to the v2.2 page, then rename the How to install GEP page to the v2.12.1 page. Make it a child of the v2.1.2 page. Then, rename the v2.1.2 page to the generic How to install GEP page.
\\
\\
# (/) Make sure to start both a *\[VOTE\]* and a *\[DISCUSS\]* thread on the Geronimo dev list
{tip:title=Tip}Be certain to get enough binding votes according to the Apache Foundation requirements, which in general stipulates 3 PMC \+1 votes (see [http://www.apache.org/foundation/voting.html#ReleaseVotes] for more details)
{tip}
# (/) After the vote has been approved:
#- (/) Publish the results on a *\[RESULTS\]* reply to the original *\[VOTE\]* thread on the Geronimo dev list
#- (/) Publish the staging site, including the deployable.zip and updatesite.zip files, and the release notes to the *Geronimo Eclipse distribution* location on people.apache.org here:
{noformat}
/www/www.apache.org/dist/geronimo/eclipse
{noformat}
#- (/) Ensure that the version subdirectory is used (e.g., 2.1.2)
#- (/) Ensure that the file(s) you copy to the distribution directory have 0775 dir permission and a 0644 file permission set on them
#- (/) Ensure that the file(s) you copy to the distribution directory have the RCx acronym removed from the filename
\\
\\
# (/) Ensure that the corresponding [*Geronimo Eclipse distribution*|http://apache.org/dist/geronimo/eclipse/] website is updated automatically and properly with the deployable.zip file and the updatesite.zip file
\\
\\
# (/) Ensure that the file(s) you copy have the proper checksum files as well (i.e., .asc, .md5, .sha) using these gpg commands:
{noformat}
gpg --print-md MD5 [fileName] > [fileName].md5
gpg --print-md SHA1 [fileName] > [fileName].sha
gpg --armor --output [fileName].asc --detach-sig [fileName]
{noformat}
NOTE: To generate keys, you need to notice the rules here [http://www.apache.org/dev/openpgp.html|http://www.apache.org/dev/openpgp.html#sha1]and [http://www.apache.org/dev/key-transition.html|http://www.apache.org/dev/key-transition.html]
NOTE: Maven release plugin will generate the signature and checksum for all jar files, but for other files, you need to generate them manually.
# (/) Update the *Geronimo Eclipse Update Site* with the contents of the updatesite.zip:
## {noformat}
1. /www/www.apache.org/dist/geronimo/eclipse/updates/features
2. /www/www.apache.org/dist/geronimo/eclipse/updates/plugins
3. /www/www.apache.org/dist/geronimo/eclipse/updates/site.xml
{noformat}
{warning:title=Warning}Never delete old releases from the update site - always append to it \!\! Likewise, do not create a new update site as this will break everyone who has this current site configured, and WTP which uses the update site for the downloadable server adapter support.
{warning}
{warning:title=Warning}If you use FTP to transfer the files to the \*Geronimo Eclipse Update Site&nbsp;*make sure to transfer everything in binary mode. Otherwise, the checksum files may not transfer correctly (especially if they are transferred in text mode).
{warning}
## (/) Ensure that the file(s) you copy to the update site directories have 0755 dir permission and a 0644 file permisison set on them
# (/) Ensure that corresponding [*Geronimo Eclipse Update Site*|http://apache.org/dist/geronimo/eclipse/updates/] website ([http://apache.org/dist/geronimo/eclipse/updates/]) is updated automatically in the next 24 hours with the contents of the updatesite.zip file.
\\
\\
# (/) Move the *branches* tree to *tags* using the following command:
{noformat}
svn move SRC-URL DEST-URL -m "Reason for this commit".
{noformat} For example:
{noformat}
svn move https://svn.apache.org/repos/asf/geronimo/devtools/eclipse-plugin/branches/2.2
         https://svn.apache.org/repos/asf/geronimo/devtools/eclipse-plugin/tags/2.2 -m "Tagging GEP 2.2"
{noformat}
#- Follow what the server does.  A maintenance branch for the next dot release (2.1.3) may be created later by copying the 2.1.2 tag to a 2.1.3 branch. Remember to update the version number of this branch.
# (/) Merge changes from *tags* into *trunk* to ensure they are in sync (except for the assembly pom.xml described above)
\\
\\
# (/) update the How to Install GEP page(s) as described above.&nbsp;
# (/) Update the [Apache Geronimo Development Tools Subproject web site|http://geronimo.apache.org/development-tools.html]. Please include:
#- Updated Release Notes
#- All Eclipse and WTP prerequisites and download instructions
#- Links to recent, pertinent, and relevant presentations (e.g., Shiva's, EclipseWorld, look for others, etc)
\\
\\
# (/) Administer the [GERONIMODEVTOOLS JIRA project|https://issues.apache.org/jira/browse/GERONIMODEVTOOLS] to update the released and unreleased versions. Remember to mark the version as released.
\\
\\
# (/) Update the [Geronimo Home Page|http://geronimo.apache.org] with a News item that we have an updated Geronimo Eclipse Plugin available. Announce the availability in user@geronimo.apache.org, dev@geronimo.apache.org and&nbsp;[announce@apache.org|mailto:announce@apache.org].
\\
\\
# (/) Final step is to update the [Geronimo Release Roadmaps|http://cwiki.apache.org/confluence/display/GMOxPMGT/Apache+Geronimo+Release+Roadmaps] with the release date.
# (/) Update the version number of dependency and devtools in trunk for next release version. Begin the development of next release.