You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ts...@apache.org on 2017/08/16 17:40:41 UTC

[04/44] logging-log4cxx git commit: Changed ther script to create a new branch next_stable for releases, because releases might contain errors which need to be fixed fast, while development in master might already have continued etc. How maven release pl

Changed ther script to create a new branch next_stable for releases, because releases might contain errors which need to be fixed fast, while development in master might already have continued etc. How maven release plugin handles RCs, new versions in the developoment iteration etc. seems a bit strange to me.


Project: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/commit/991982f9
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/tree/991982f9
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/diff/991982f9

Branch: refs/heads/next_stable
Commit: 991982f917de3f16cf09b5d06445e65d540ec85c
Parents: 2fdf67e
Author: Thorsten Schöning <ts...@am-soft.de>
Authored: Tue Aug 15 16:43:21 2017 +0200
Committer: Thorsten Schöning <ts...@am-soft.de>
Committed: Tue Aug 15 16:43:21 2017 +0200

----------------------------------------------------------------------
 releasePrepare.sh | 54 +++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 42 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4cxx/blob/991982f9/releasePrepare.sh
----------------------------------------------------------------------
diff --git a/releasePrepare.sh b/releasePrepare.sh
index 74554b4..2e34839 100755
--- a/releasePrepare.sh
+++ b/releasePrepare.sh
@@ -1,4 +1,4 @@
-#! /bin/bash -e
+#! /bin/sh
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
 # this work for additional information regarding copyright ownership.
@@ -22,18 +22,44 @@
 # and quite a lot of the needed changes are possible in this script, so that is
 # preferred over manually following some docs in the wiki.
 #
+branch_starting=$(      git branch | grep "\*" | cut -d " " -f 2)
+branch_starting_is_ns=$(git branch | grep "\* next_stable")
 
-TODAY=$(date "+%Y-%m-%d")
-sed -i -r "s/date=\"XXXX-XX-XX\"/date=\"${TODAY}\"/" "src/changes/changes.xml"
+if [ -z "${branch_starting_is_ns}" ]
+then
+  git checkout "next_stable" || git checkout -b "next_stable"
+  git merge "${branch_starting}"
+fi
+
+today=$(date "+%Y-%m-%d")
+sed -i -r "1,/date=\".+?\"/ s/date=\".+?\"/date=\"${today}\"/" "src/changes/changes.xml"
 git add "src/changes/changes.xml"
-git diff-index --quiet HEAD || git commit -m "Set release date to today."
+if git diff-index --quiet HEAD
+then
+  git commit -m "Set release date to today."
+  commit_changes=$(git log --max-count=1 | grep "commit" | cut -d " " -f 2)
+  git checkout "${branch_starting}"
+  git merge    "${commit_changes}"
+  git checkout "next_stable"
+fi
+
+mvn clean                          || exit 1
+mvn release:prepare -Dresume=false || exit 1
 
-mvn clean
-mvn release:prepare -Dresume=false
+if [ -z "${branch_starting_is_ns}" ]
+then
+  git checkout "${branch_starting}"
+  new_release_cycle=$(grep 'date="XXXX-XX-XX"' "src/changes/changes.xml")
+  if [ -n "${new_release_cycle}" ]
+  then
+    git checkout "next_stable"
+    exit 0
+  fi
+fi
 
 # Propagate new version into some additional files:
-NEW_DEV_VER_SHORT=$(grep -E "^project.dev.log4cxx" "release.properties" | cut -d = -f 2 | cut -d - -f 1)
-NEW_RELEASE=$(cat <<-"END"
+new_dev_ver_short=$(grep -E "^project.dev.log4cxx" "release.properties" | cut -d "=" -f 2 | cut -d - -f 1)
+new_release=$(cat <<-"END"
 	<body>\n\
 		<release	version="VER_NEEDED"\n\
 					date="XXXX-XX-XX"\n\
@@ -41,11 +67,15 @@ NEW_RELEASE=$(cat <<-"END"
 		<\/release>\n
 END
 )
-NEW_RELEASE="${NEW_RELEASE/VER_NEEDED/${NEW_DEV_VER_SHORT}}"
+new_release="${new_release/VER_NEEDED/${new_dev_ver_short}}"
 
-sed -i -r "s/AC_INIT\(\[log4cxx\], \[.+?\]\)/AC_INIT([log4cxx], [${NEW_DEV_VER_SHORT}])/" "configure.ac"
-sed -i -r "s/<body>/${NEW_RELEASE}/" "src/changes/changes.xml"
+sed -i -r "s/AC_INIT\(\[log4cxx\], \[.+?\]\)/AC_INIT([log4cxx], [${new_dev_ver_short}])/" "configure.ac"
+sed -i -r "s/<body>/${new_release}/" "src/changes/changes.xml"
 
 git add "configure.ac"
 git add "src/changes/changes.xml"
-git diff-index --quiet HEAD || git commit -m "Prepare for next development iteration: ${NEW_DEV_VER_SHORT}"
+if git diff-index --quiet HEAD
+then
+  git commit -m "Prepare for next development iteration: ${new_dev_ver_short}"
+fi
+git checkout "next_stable"