bgoodin / stripes-guice

Guice DI for the Stripes web framework
http://bgoodin.github.com/stripes-guice
9 stars 5 forks source link

h2. FOR DEVELOPERS - Learn about stripes-guice

p. "stripes-guice website":http://bgoodin.github.com/stripes-guice

h2. FOR COLLABORATORS - Deploying stripes-guice release

h3. Introduction

p. This page will guide the development team with setting up their environment to perform a release.

h3. Prerequisites

h3. Configuration

h4. Maven

p. As of Maven 2.1.0 you can now encrypt your servers passwords. We highly recommend that you follow this "guide (click here)":http://maven.apache.org/guides/mini/guide-encryption.html to set your master password and use it to encrypt your Sonatype password in the next section.

h4. Sonatype

p. Using the instructions from the previous step encrypt your Sonatype password and add the following servers to your ~/.m2/settings.xml file. You may already have other servers in this file. If not just create the file. You will need to change the username and password to your own.

bc.. <?xml version="1.0" encoding="UTF-8"?>

sonatype-nexus-snapshots bucko {jXNVWnoPFTsHLpMvz5ZbIt9kRbzGpI8u+9EF1iFQyJQ=} sonatype-nexus-staging bucko {jXNVWnoPFTsHLpMvz5ZbIt9kRbzGpI8u+9EF1iFQyJQ=}

h3. Release

p. The release plugin for maven is already configured in the stripes-guice pom file so all you need to do is execute the following two steps to complete the release. The first step will create the release tag and update the pom with the correct release and snapshot versions. The second step will sign and deploy the artifacts to the Sonatype open source repository. This repository is synced every hour to the central Maven repositories. If you don't supply the optional gpg.passphrase then you will be prompted for it.

p. (Optional) Run a Prepare "dry run"

bc.. mvn -DdryRun=true release:prepare mvn release:clean

p. Prepare the release

bc. mvn release:prepare

p. Perform

bc. mvn release:perform

h3. Build Downloadable Distributions

p. After completing the release to the maven repository it is time to build the downloadable distributions (bz2, gz, and zip). From the root of the project you just released perform the following steps:

p. cd into the checkout directory in the maven target directory

bc. cd target/checkout/

p. run the build.sh file or the following command this will build the distributions on the checked out version that was just released

bc. mvn clean javadoc:javadoc assembly:assembly

p. once the build is complete you can cd into the target directory and find the three distribution files (stripes-guice.x.x.x.tar.bz2, stripes-guice.x.x.x.tar.gz, and stripes-guice.x.x.x.tar.zip).

bc. cd target

p. you can upload the new distributions to the downloads section on github.

h3. Additional Information

p. Actual preparation for setting up a Sonatype repository for syncing with the Maven Centeral repository. This has already been handled but it is good information in order to understand the bigger picture.

"Sonatype OSS Maven Repository Usage Guide":https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide