Mercurial > dive4elements > river
diff contrib/make_flys_release/make_release.sh @ 9681:8e5a8430b89c 3.2.x
Allow tagging a branch
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Thu, 04 Jun 2020 20:16:37 +0200 |
parents | 21c89e39ca72 |
children | f3aa7a12c86a |
line wrap: on
line diff
--- a/contrib/make_flys_release/make_release.sh Thu Jun 04 19:37:21 2020 +0200 +++ b/contrib/make_flys_release/make_release.sh Thu Jun 04 20:16:37 2020 +0200 @@ -26,7 +26,7 @@ usage(){ cat << EOF -usage: $0 [options] VERSION +usage: $0 [options] TARGET Create a D4E River package @@ -34,13 +34,13 @@ -?, --help Show this message -w The working directory to use (do not use spaces in path) Default: $DEFAULT_WD - -t Tag the current default branch as "VERSION" + -t Tag the selected branch with given name. Note that \$USER is used as the repository user name for pushing the tags. -o, --oracle Release is for oracle. Suitable jar-file for JDBC driver has to be given with the environment variable ORACLE_JDBC - VERSION must specify a tag (usually MAYOR.MINOR.PATCH) or a branch name. + TARGET must specify a tag (usually MAYOR.MINOR.PATCH) or a branch name. EOF exit 0 } @@ -58,7 +58,7 @@ # customizable variables ELBE_MODEL_UUID=${ELBE_MODEL_UUID:-1a4825f6-925f-11e3-8165-001f29e71d12} -OPTS=`getopt -o ?w:,t,o \ +OPTS=`getopt -o ?w:,?t:,o \ -l help,oracle \ -n $0 -- "$@"` @@ -78,8 +78,8 @@ BUILD_ORACLE="TRUE" shift;; "-t") - DO_TAG="TRUE" - shift;; + DO_TAG=$2 + shift 2;; *) echo "Unknown Option $1" usage;; @@ -90,7 +90,7 @@ usage fi -VERSION=$1 +TARGET=$1 if [ -z $WORK_DIR ]; then WORK_DIR=$DEFAULT_WD @@ -125,19 +125,35 @@ done; fi -if [ "$DO_TAG" = "TRUE" ]; then - echo "INFO: Tagging version $VERSION" +# Update to current version +for repo in $REPOS; do + cd $repo + if [ -z "`hg tags | sed -n "/$TARGET/p"`" -a -z "`hg branches | sed -n "/$TARGET/p"`" ] + then + echo "WARNING: No tag or branch $TARGET found in repository of $repo!" + echo " Will fallback to 'default'!" + hg up default + else + hg up "$TARGET" + fi + cd $FLYS_SOURCE_DIR +done + +if [ -n "$DO_TAG" ]; then + VERSION=$DO_TAG + echo "INFO: Tagging current branch as $VERSION" for repo in $REPOS; do cd $repo - CHANGESET=$(hg log -l1 |head -1 | awk -F: '{print $3}') + CHANGESET=$(hg parent |head -1 | awk -F: '{print $3}') echo "" echo "Do you really want to tag $repo rev: $CHANGESET as Version $VERSION?" echo "press enter to continue or CTRL+C to abort." echo "" - hg log -l1 + hg log -r $CHANGESET -l1 read OLD_REV=$(cat .hgtags | tail -1 | awk '{print $2}') - hg tag $VERSION -m "Added tag $VERSION for changeset $CHANGESET" + hg tag -r $CHANGESET -m "Added tag $VERSION for changeset $CHANGESET" \ + "$VERSION" hg push ssh://$USER@scm.wald.intevation.org/hg/dive4elements/$repo echo "Changelog for $repo" >> $WORK_DIR/changes_$OLD_REV-$VERSION.txt echo "#############################################################################" \ @@ -145,23 +161,10 @@ hg log -r $VERSION:$OLD_REV --style changelog >> $WORK_DIR/changes_$OLD_REV-$VERSION.txt cd $FLYS_SOURCE_DIR done; +else + VERSION=$TARGET fi -# Update to current version -for repo in $REPOS; do - cd $repo - if [ -z "`hg tags | sed -n "/$VERSION/p"`" -a -z "`hg branches | sed -n "/$VERSION/p"`" ] - then - echo "WARNING: No tag or branch $VERSION found in repository of $repo!" - echo " Will fallback to 'default'!" - hg up default - else - hg up "$VERSION" - fi - cd $FLYS_SOURCE_DIR -done - - if [ ! -f "$FLYS_SOURCE_DIR/OpenLayers-2.11.tar.gz" ]; then echo "INFO: download OpenLayers-2.11 for client" cd $FLYS_SOURCE_DIR @@ -208,7 +211,7 @@ cp wsplgen-linux-32bit-static $FLYS_SOURCE_DIR/river/artifacts/bin/wsplgen cd - -if [ "$DO_TAG" = "TRUE" ]; then +if [ -n "$DO_TAG" ]; then echo "INFO: Building packages for publication" cd $FLYS_SOURCE_DIR/river/artifacts mvn package assembly:single @@ -302,10 +305,10 @@ tar cfz flys-$VERSION.tar.gz flys-$VERSION ## -if [ "$DO_TAG" = "TRUE" ]; then +if [ -n "$DO_TAG" ]; then echo "Binary-packages for publication:" echo "_ $WORK_DIR/d4e-river-$VERSION.tar.bz2" echo "_ $WORK_DIR/d4e-river-$VERSION.war" + echo "Changelog: $WORK_DIR/changes_$OLD_REV-$VERSION.txt" fi echo "DONE: $WORK_DIR/flys-$VERSION.tar.gz" -echo "Changelog: $WORK_DIR/changes_$OLD_REV-$VERSION.txt"