mirror of https://github.com/apache/openjpa.git
143 lines
4.6 KiB
Plaintext
143 lines
4.6 KiB
Plaintext
= Releasing Apache OpenJPA
|
|
|
|
Licensed under Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
== Summary
|
|
|
|
These instructions describe how perform an official release of the Apache OpenJPA project.
|
|
|
|
|
|
== Prerequisits
|
|
|
|
|
|
* You need a valid Apache account and
|
|
* Maven installed on your box
|
|
* Java 8
|
|
|
|
|
|
== Manual Release Preparation Steps
|
|
|
|
* Make sure you have the latest version checked out and no local modifications
|
|
$> git pull --rebase
|
|
$> git status
|
|
This should not show any dirty files
|
|
|
|
* Run a full build
|
|
$> mvn clean install
|
|
|
|
== Update the Release Notes
|
|
Edit openjpa-project/RELEASE-NOTES.html and add a new section for the new release.
|
|
Just remove all the bug content from the previous release.
|
|
|
|
Make sure all the ticets for the upcoming release are set to resolved
|
|
You can grab the content for the new release at
|
|
https://issues.apache.org/jira/browse/OPENJPA/?selectedTab=com.atlassian.jira.jira-projects-plugin:versions-panel
|
|
Just copy over the html content for the generated ReleaseNotes.
|
|
|
|
At last add a link to the RELEASE-NOTES.html of the previous release to the table on the bottom of the page.
|
|
|
|
|
|
== Performing the Release
|
|
|
|
We use maven to roll the release. Please make sure you understand how
|
|
the Apache Maven maven-release-plugin works:
|
|
http://maven.apache.org/maven-release/maven-release-plugin/
|
|
|
|
|
|
=== Running the release prepare steps
|
|
|
|
$> mvn release:prepare
|
|
|
|
Depending on your location you probably get an error for the first time.
|
|
This happens if you hit a svn mirror which is not updated quickly enough.
|
|
Simply rerun this step after a few seconds. No worries, maven will continue
|
|
exactly where it left off.
|
|
|
|
=== Validating the tag
|
|
|
|
You should now get a fresh tag in https://svn.apache.org/repos/asf/openjpa/tags/
|
|
Please verify that the tag looks good and that all pom.xml files really got updated.
|
|
|
|
|
|
=== Running the release perform steps
|
|
|
|
$> mvn release:perform
|
|
|
|
This will finally do a clean checkout from the freshly generated tag and
|
|
|
|
|
|
|
|
== Verifying the Maven Staging Repository
|
|
|
|
Login in to https://repository.apache.org/
|
|
Navigate to 'Staging Repositories' and verify the content of your release.
|
|
Then 'close' the staging and copy the URL of the staging repository
|
|
|
|
|
|
|
|
== Call a VOTE
|
|
|
|
Send the usual VOTE mail to the mailing List
|
|
|
|
|
|
== After the VOTE succeeded
|
|
|
|
Tally the VOTEs and send the result to the mailing list.
|
|
Propagate the staging repository and wait until the results appear on maven.central
|
|
|
|
|
|
== Upload the distribution binaries
|
|
|
|
Checkout the distribution area from SVN
|
|
https://dist.apache.org/repos/dist/release/openjpa
|
|
|
|
Add a new directory for the new version and upload the binaries.
|
|
You might use the following getrelease.sh script for it:
|
|
|
|
-----
|
|
#!/bin/sh
|
|
mkdir $1
|
|
cd $1
|
|
|
|
curl -O https://repository.apache.org/content/groups/public/org/apache/openjpa/apache-openjpa/${1}/apache-openjpa-${1}-binary.zip
|
|
curl -O https://repository.apache.org/content/groups/public/org/apache/openjpa/apache-openjpa/${1}/apache-openjpa-${1}-binary.zip.asc
|
|
curl -O https://repository.apache.org/content/groups/public/org/apache/openjpa/apache-openjpa/${1}/apache-openjpa-${1}-binary.zip.md5
|
|
curl -O https://repository.apache.org/content/groups/public/org/apache/openjpa/apache-openjpa/${1}/apache-openjpa-${1}-binary.zip.sha1
|
|
|
|
curl -O https://repository.apache.org/content/groups/public/org/apache/openjpa/openjpa-parent/${1}/openjpa-parent-${1}-source-release.zip
|
|
curl -O https://repository.apache.org/content/groups/public/org/apache/openjpa/openjpa-parent/${1}/openjpa-parent-${1}-source-release.zip.asc
|
|
curl -O https://repository.apache.org/content/groups/public/org/apache/openjpa/openjpa-parent/${1}/openjpa-parent-${1}-source-release.zip.md5
|
|
curl -O https://repository.apache.org/content/groups/public/org/apache/openjpa/openjpa-parent/${1}/openjpa-parent-${1}-source-release.zip.sha1
|
|
|
|
cd ..
|
|
-----
|
|
|
|
You also need to remove any now obsolete previous version.
|
|
E.g. when releasing our release 2.4.2 we should remove 2.4.1.
|
|
Older still maintained versions remain on the dist area as long as the branch is still actively maintained.
|
|
|
|
|
|
== Upload the site for the new version
|
|
|
|
|
|
The site for OpenJPA is maintained with the [Apache CMS](http://www.apache.org/dev/cmsref.html).
|
|
The sources of the site are hosted in Subversion
|
|
|
|
-----
|
|
svn co https://svn.apache.org/repos/asf/openjpa/site/trunk openjpa-site
|
|
-----
|
|
|
|
|
|
=== Update the download page
|
|
|
|
Edit content/downloads.mdtext and add the new release.
|
|
Or for a simple maintenance release just replace the previous version with the new information.
|
|
The information on this side should match the content available in the dist area.
|
|
|
|
Please also add proper changes to content/downloads-nightly.mdtext!
|
|
|
|
|
|
=== Upload JavaDoc of the new version
|
|
|
|
Edit content/documentation.mdtext |