From 7207dd6f19d1d93ce6c1ee4d71c739cb5d2d1c34 Mon Sep 17 00:00:00 2001 From: Luke Taylor Date: Sun, 2 Sep 2007 18:14:02 +0000 Subject: [PATCH] Created a release script. Use a local directory for deploying the site, since it seems impossible to get an accurate copy of the site otherwise using maven 2. Revert to cobertura 2.0 plugin as 2.1 is broken (gives 100% coverage for everything). --- pom.xml | 17 +++++++----- releasebuild.sh | 74 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+), 7 deletions(-) create mode 100644 releasebuild.sh diff --git a/pom.xml b/pom.xml index 1e967a8d6c..d01ae56652 100644 --- a/pom.xml +++ b/pom.xml @@ -61,12 +61,13 @@ - sourceforge.net - Acegi Website at Sourceforge - - - scp://shell.sourceforge.net/home/groups/a/ac/acegisecurity/htdocs/maven2 - + local + Local Site Directory + + ${siteDirectory} @@ -431,7 +432,9 @@ org.codehaus.mojo cobertura-maven-plugin - + + 2.0 + org.apache.maven.plugins diff --git a/releasebuild.sh b/releasebuild.sh new file mode 100644 index 0000000000..42cd12d71e --- /dev/null +++ b/releasebuild.sh @@ -0,0 +1,74 @@ +#! /bin/sh + +# This script must be run from the project root directory + +# Edit this release number before running. It is used to check jar names etc. +RELEASE_VERSION=1.0.5-SNAPSHOT + +PROJ_DIR=`pwd`; +RELEASE_DIR=$PROJ_DIR/release +SITE_DIR=$RELEASE_DIR/site + +echo "** Project directory is $PROJ_DIR" + +SVN_REV=`svn info $PROJ_DIR | grep Revision | sed "s/Revision: //"` + +echo "** Building from revision $SVN_REV" + + +if [[ -e $RELEASE_DIR ]] +then + rm -Rf $RELEASE_DIR +fi + +mkdir $RELEASE_DIR +mkdir $SITE_DIR + +# run maven to generate jars + +mvn clean install -DcreateChecksum=true + +if [ "$?" -ne 0 ] +then + echo "mvn install failed" + exit 1; +fi + +echo "** Generating site in $SITE_DIR". + +mvn site docbkx:generate-html docbkx:generate-pdf site:deploy -DsiteDirectory=file://${SITE_DIR} + +if [ "$?" -ne 0 ] +then + echo "mvn site generation failed" + exit 1; +fi + + +# Assemble the required jar files + +find . -name "*${RELEASE_VERSION}.jar" | grep -v WEB-INF | xargs -J % -n 1 cp % $RELEASE_DIR +find . -name "*${RELEASE_VERSION}.war" | xargs -J % -n 1 cp % $RELEASE_DIR + +# Should be 9 archives - core, core-tiger, the adapters (cas, jboss, resin, jetty, catalina), tutorial and contacts wars. + +pushd $RELEASE_DIR + +NUM_JARS=`ls *.jar *.war | wc -l` + +if [ "$NUM_JARS" -ne 9 ] +then + echo "Expected 9 Jar files but found $NUM_JARS." + exit 1 +fi + +# Create the signatures + +for jar in $(ls *.jar *.war); do + openssl sha1 < $jar > $jar.sha1 + openssl md5 < $jar > $jar.md5 +done + +popd + +