Author: ritchiem
Date: Fri May  1 09:05:33 2009
New Revision: 770592

URL: http://svn.apache.org/viewvc?rev=770592&view=rev
Log:
Update to release script as used to generate the 0.5 release.

Modified:
    qpid/trunk/qpid/bin/release.sh

Modified: qpid/trunk/qpid/bin/release.sh
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/bin/release.sh?rev=770592&r1=770591&r2=770592&view=diff
==============================================================================
--- qpid/trunk/qpid/bin/release.sh (original)
+++ qpid/trunk/qpid/bin/release.sh Fri May  1 09:05:33 2009
@@ -22,54 +22,198 @@
 # Script to pull together an Apache Release
 #
 
-SVN=$1
-REV=$2
-VER=$3
+usage()
+{
+    echo "Usage: release.sh <svn-path> <svn-revision> <version> [options]"
+    echo
+    echo "Options: Default : --prepare -all --sign"
+    echo "--help  |-h : Show this help"
+    echo "--prepare   : Download speficied tree from svn"
+    echo "--clean-all : Remove build artefacts and downloaded svn tree"
+    echo "--clean     : Remove built artefacts"
+    echo "--all   |-a : Generate all artefacts"
+    echo "--source|-e : Generate the source artefact"
+    echo "--cpp   |-c : Generate the CPP artefacts"
+    echo "--dotnet|-d : Generate the dotnet artefacts"
+    echo "--java  |-j : Generate the java artefacts"
+    echo "--ruby  |-r : Generate the ruby artefacts"
+    echo "--python|-p : Generate the python artefacts"
+    echo "--source|-e : Generate the source artefact"
+    echo "--sign  |-s : Sign generated artefacts"
+    echo "--upload|-u : Upload the artifacts directory to people.apache.org as 
qpid-\$VER"
+    echo
+}
+
+for arg in $* ; do 
+ case $arg in
+ --help|-h)
+   HELP="HELP"
+ ;;
+ --prepare)
+   PREPARE="PREPARE"
+ ;;
+ --clean-all)
+   CLEAN="CLEAN"
+   CLEAN_ARTIFACTS="CLEAN_ARTIFACTS"
+ ;;
+ --clean)
+   CLEAN_ARTIFACTS="CLEAN_ARTIFACTS"
+ ;;
+ --sign|-s)
+   SIGN="SIGN"
+ ;;
+ --all|-a)
+   CPP="CPP"
+   DOTNET="DOTNET"
+   JAVA="JAVA"
+   RUBY="RUBY"
+   PYTHON="PYTHON"
+   SOURCE="SOURCE"
+ ;;
+ --cpp|-c)
+   CPP="CPP"
+ ;;
+ --dotnet|-d)
+   DOTNET="DOTNET"
+ ;;
+ --java|-j)
+   JAVA="JAVA"
+ ;;
+ --ruby|-r)
+   RUBY="RUBY"
+ ;;
+ --python|-p)
+   PYTHON="PYTHON"
+ ;;
+ --source|-e)
+   SOURCE="SOURCE"
+ ;;
+ --upload|-u)
+   UPLOAD="UPLOAD"
+ ;;
+ *)
+  if [ -z "$SVN" ] ; then
+   SVN=$arg
+   continue
+  fi
+ 
+  if [ -z "$REV" ] ; then
+   REV=$arg
+   continue
+  fi
+  
+  if [ -z "$VER" ] ; then
+   VER=$arg
+   continue
+  fi 
+ ;;
+ esac
+done
 
 if [ -z "$SVN" -o -z "$REV" -o -z "$VER" ]; then
     echo "Usage: release.sh <svn-path> <svn-revision> <version>"
     exit 1
 fi
 
+if [ -n "${HELP}" ] ; then
+ usage
+ exit 0
+fi
+
+echo SVN:$SVN
+echo REV:$REV
+echo VER:$VER
+
+# If nothing is specified then do it all
+if [ -z 
"${CLEAN}${PREPARE}${CPP}${DOTNET}${JAVA}${RUBY}${PYTHON}${SOURCE}${SIGN}${UPLOAD}"
 ] ; then
+   PREPARE="PREPARE"
+
+   CPP="CPP"
+   DOTNET="DOTNET"
+   JAVA="JAVA"
+   RUBY="RUBY"
+   PYTHON="PYTHON"
+   SOURCE="SOURCE"
+
+   SIGN="SIGN"
+fi
+
 set -xe
 
 URL=https://svn.apache.org/repos/asf/qpid/${SVN}
 
-svn export -r ${REV} ${URL} qpid-${VER}
+if [ "CLEAN" == "$CLEAN" ] ; then
+  rm -rf qpid-${VER}
+fi
 
-mkdir artifacts
+if [ "CLEAN_ARTIFACTS" == "$CLEAN_ARTIFACTS" ] ; then
+  rm -rf artifacts
+fi
 
-echo ${URL} ${REV} > artifacts/qpid-${VER}.svnversion
+if [ "PREPARE" == "$PREPARE" ] ; then
+  mkdir artifacts
+  svn export -r ${REV} ${URL} qpid-${VER}
+  echo ${URL} ${REV} > artifacts/qpid-${VER}.svnversion
+fi
+
+if [ "SOURCE" == "$SOURCE" ] ; then
+  tar -czf artifacts/qpid-${VER}.tar.gz qpid-${VER}
+fi
 
-tar -czf artifacts/qpid-${VER}.tar.gz qpid-${VER}
-tar -czf artifacts/qpid-ruby-${VER}.tar.gz qpid-${VER}/ruby qpid-${VER}/specs
-tar -czf artifacts/qpid-python-${VER}.tar.gz qpid-${VER}/python 
qpid-${VER}/specs
-
-cd qpid-${VER}/cpp
-./bootstrap
-./configure
-make dist -j2
-
-cd ../java
-ant build release
-
-cd ../dotnet
-cd Qpid.Common
-ant
-cd ..
-./build-nant-release mono-2.0
-
-cd client-010/gentool
-ant
-cd ..
-nant -t:mono-2.0 release-pkg
-
-cd ../../../
-cp qpid-${VER}/java/release/*.tar.gz  artifacts/qpid-java-${VER}.tar.gz
-cp qpid-${VER}/cpp/*.tar.gz artifacts/qpid-cpp-${VER}.tar.gz
-cp qpid-${VER}/dotnet/bin/mono-2.0/release/*.zip 
artifacts/qpid-dotnet-0-8-${VER}.zip
-cp qpid-${VER}/dotnet/client-010/bin/mono-2.0/debug/*.zip 
artifacts/qpid-dotnet-0-10-${VER}.zip
-
-cd artifacts
-sha1sum *.zip *.gz *.svnversion > SHA1SUM
-for i in `find . | egrep 'jar$|pom$|gz$|zip$|svnversion$|SHA1SUM'`; do gpg 
--sign --armor --detach $i; done;
+if [ "RUBY" == "$RUBY" ] ; then
+  tar -czf artifacts/qpid-ruby-${VER}.tar.gz qpid-${VER}/ruby qpid-${VER}/specs
+fi
+
+if [ "PYTHON" == "$PYTHON" ] ; then
+  tar -czf artifacts/qpid-python-${VER}.tar.gz qpid-${VER}/python 
qpid-${VER}/specs
+fi
+
+if [ "CPP" == "$CPP" ] ; then
+  pushd qpid-${VER}/cpp
+  ./bootstrap
+  ./configure
+  make dist -j2
+  popd
+
+  cp qpid-${VER}/cpp/*.tar.gz artifacts/qpid-cpp-${VER}.tar.gz
+fi
+
+if [ "JAVA" == "$JAVA" ] ; then
+  pushd qpid-${VER}/java
+  ant build release release-bin
+  popd
+
+  cp qpid-${VER}/java/release/*.tar.gz  artifacts/qpid-java-${VER}.tar.gz
+  cp qpid-${VER}/java/broker/release/*.tar.gz 
artifacts/qpid-java-broker-${VER}.tar.gz
+  cp qpid-${VER}/java/client/release/*.tar.gz 
artifacts/qpid-java-client-${VER}.tar.gz
+  #cp qpid-${VER}/java/client/example/release/*.tar.gz 
+  cp qpid-${VER}/java/management/eclipse-plugin/release/*.tar.gz 
qpid-${VER}/java/management/eclipse-plugin/release/*.zip artifacts/
+fi
+
+if [ "DOTNET" == "$DOTNET" ] ; then
+  pushd qpid-${VER}/dotnet
+  cd Qpid.Common
+  ant
+  cd ..
+  ./build-nant-release mono-2.0
+
+  cd client-010/gentool
+  ant
+  cd ..
+  nant -t:mono-2.0 release-pkg
+  popd
+
+  cp qpid-${VER}/dotnet/bin/mono-2.0/release/*.zip 
artifacts/qpid-dotnet-0-8-${VER}.zip
+  cp qpid-${VER}/dotnet/client-010/bin/mono-2.0/debug/*.zip 
artifacts/qpid-dotnet-0-10-${VER}.zip
+fi
+
+if [ "SIGN" == "$SIGN" ] ; then
+  pushd artifacts
+  sha1sum *.zip *.gz *.svnversion > SHA1SUM
+  for i in `find . | egrep 'jar$|pom$|gz$|zip$|svnversion$|SHA1SUM'`; do gpg 
--sign --armor --detach $i; done;
+  popd
+fi
+
+if [ "UPLOAD" == "$UPLOAD" ] ; then
+  scp -r artifacts people.apache.org:qpid-${VER}
+fi



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to