diff options
author | Martin Ritchie <ritchiem@apache.org> | 2009-05-01 09:05:33 +0000 |
---|---|---|
committer | Martin Ritchie <ritchiem@apache.org> | 2009-05-01 09:05:33 +0000 |
commit | db687f6ce97fe987936711f9c46966d45cf24834 (patch) | |
tree | d9e6b5bfe7a7b4850af3bd974725aabd9d3a2d25 /bin | |
parent | 5fa8c6a18a409879acf00f6620df3038a8b0153a (diff) | |
download | qpid-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-x | bin/release.sh | 208 |
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 |