Deploying snapshots
There is no need to manually deploy snapshots.
Snapshots are automatically deployed by Hudson build to the Nexus snapshot repository at https://repository.apache.org/content/repositories/snapshots/org/apache/wink
Performing a release
For the most part, we follow the same instructions that the maven team uses. http://maven.apache.org/developers/release/releasing.html
Basically, setup your settings.xml file as they described.
After that is setup, you need to update the release_notes.txt in the src/doc, clean wink from your local repository and run the below commands.
mvn release:prepare mvn release:perform -PCIBuild
Explanation
- run mvn release:prepare will executes the following steps
- Check that there are no uncommitted changes in the sources
- Check that there are no SNAPSHOT dependencies
- Change the version in the poms from x-SNAPSHOT to a new version (you will be prompted for the versions to use)
- Transform the SCM information in the POM to include the final destination of the tag
- Run the project tests against the modified POMs to confirm everything is in working order
- Commit the modified POMs
- Tag the code in the SCM with a version name (this will be prompted for)
- Bump the version in the POMs to a new value y-SNAPSHOT (these values will also be prompted for)
- Commit the modified POMs
- run mvn release:perform will executes the following steps
- Checkout from the tag
- Build the project and deploy all artifacts to Nexus temporary staging repository while gpg signing all artifacts.
When the build is done staging, you need to login to the Nexus repository and "close" the staging are. See the Maven page above for instructions. That is very important. After the staging are is closed, note the URL for the staging area as you will need that for the vote.
Call the vote - please specifically quote the revision # when you post the VOTE with the release candidate artifacts.
If the vote is unsuccessful, the process will need to be restarted. Rollback POMs, delete tag from SCM manually
After the vote passes, you'll need to promote that staging repository to the main location. Login to Nexus to do that as well. See above Maven team release page.
Also, don't forget to copy the actual distributions (all artifacts located under apache-wink in Nexus repo) to people.apache.org:/www/www.apache.org/dist/incubator/wink.
Resources
A Guide To Release Management During Incubation http://incubator.apache.org/guides/releasemanagement.html