summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2009-05-01 09:05:33 +0000
committerMartin Ritchie <ritchiem@apache.org>2009-05-01 09:05:33 +0000
commitdb687f6ce97fe987936711f9c46966d45cf24834 (patch)
treed9e6b5bfe7a7b4850af3bd974725aabd9d3a2d25 /bin
parent5fa8c6a18a409879acf00f6620df3038a8b0153a (diff)
downloadqpid-python-db687f6ce97fe987936711f9c46966d45cf24834.tar.gz
Update to release script as used to generate the 0.5 release.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@770592 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'bin')
-rwxr-xr-xbin/release.sh208
1 files changed, 176 insertions, 32 deletions
diff --git a/bin/release.sh b/bin/release.sh
index a5211bef57..482eec5b38 100755
--- a/bin/release.sh
+++ b/bin/release.sh
@@ -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
+
+if [ "CLEAN_ARTIFACTS" == "$CLEAN_ARTIFACTS" ] ; then
+ rm -rf artifacts
+fi
+
+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
+
+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
-mkdir artifacts
+if [ "CPP" == "$CPP" ] ; then
+ pushd qpid-${VER}/cpp
+ ./bootstrap
+ ./configure
+ make dist -j2
+ popd
-echo ${URL} ${REV} > artifacts/qpid-${VER}.svnversion
+ cp qpid-${VER}/cpp/*.tar.gz artifacts/qpid-cpp-${VER}.tar.gz
+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
+if [ "JAVA" == "$JAVA" ] ; then
+ pushd qpid-${VER}/java
+ ant build release release-bin
+ popd
-cd qpid-${VER}/cpp
-./bootstrap
-./configure
-make dist -j2
+ 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
-cd ../java
-ant build release
+if [ "DOTNET" == "$DOTNET" ] ; then
+ pushd qpid-${VER}/dotnet
+ cd Qpid.Common
+ ant
+ cd ..
+ ./build-nant-release mono-2.0
-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
+ popd
-cd client-010/gentool
-ant
-cd ..
-nant -t:mono-2.0 release-pkg
+ 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
-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
+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
-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 [ "UPLOAD" == "$UPLOAD" ] ; then
+ scp -r artifacts people.apache.org:qpid-${VER}
+fi