Reverting the maven version in next_stable didn't work.

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

Branch: refs/heads/release_scripts
Commit: bddb06abc5de6b8b6391d15663b8d16730af41e4
Parents: 9d8daef
Author: Thorsten Schöning <tschoen...@am-soft.de>
Authored: Thu Aug 17 17:52:45 2017 +0200
Committer: Thorsten Schöning <tschoen...@am-soft.de>
Committed: Thu Aug 17 17:52:45 2017 +0200

----------------------------------------------------------------------
 releasePrepare.sh | 45 ++++++++++++++++++++++-----------------------
 1 file changed, 22 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4cxx/blob/bddb06ab/releasePrepare.sh
----------------------------------------------------------------------
diff --git a/releasePrepare.sh b/releasePrepare.sh
index 9c844db..3135fce 100755
--- a/releasePrepare.sh
+++ b/releasePrepare.sh
@@ -140,47 +140,46 @@ function get_mvn_prepare_new_dev_ver()
 }
 
 ##
-# Revert new version in pom.xml assigned bei Maven if needed.
+# Revert new version in "pom.xml" assigned by Maven.
 #
-# During release preparation Maven assigns some new development version to the 
pom.xml, which is
-# most likely correct in case of a new release cycle, but within the 
"next_stable" branch with
-# releases only we always want to keep the current version and only count RCs. 
In such a case the
-# new version to use by Maven is forced to be the current one, else Maven can 
decide on it's own.
-# So if a version is given, that's the forced one we write back into the 
pom.xml, else nothing is
-# done.
+# During release preparation Maven always assigns some new development version 
to the "pom.xml",
+# which is either a new calculated one or one we specified on our own already 
to be the same like
+# before. The first case is needed to get a new version into 
"release.properties", from where it
+# might be merged into a starting branch. In any case, within "next_stable" we 
want to keep the
+# one known version and therefore need to always revert any changes made by 
maven. So if a specific
+# new version is provided, always keep that, while without use the formerly 
available version of the
+# file. The caller most likely already has both values and additionally we are 
called AFTER Maven
+# already changed "pom.xml", so can't get the old value on our own easily 
anway.
 #
-# @param[in] Specific version to used by Maven.
+# @param[in] Original version from "pom.xml".
+# @param[in] Specific version to be used by Maven.
 #
-function revert_mvn_prepare_new_dev_ver_if()
+function revert_mvn_prepare_new_dev_ver()
 {
-  local new_dev_ver="${1}"
-  if [ -z "${new_dev_ver}" ]
-  then
-    return 0
-  fi
+  local pom_orig_ver="${1}"
+  local new_dev_ver="${2}"
+  local pom_new_ver="${new_dev_ver:-${pom_orig_ver}}"
 
   sed -i -r "s/^(\t<version>).+(<)/\1${new_dev_ver}\2/" "pom.xml"
 }
 
-function get_mvn_prepare_args()
+function exec_mvn()
 {
-  local new_dev_ver=$(get_mvn_prepare_new_dev_ver)
+  local pom_orig_ver="$(get_pom_curr_ver)"
+  local new_dev_ver="$( get_mvn_prepare_new_dev_ver)"
   local prepare_args="-Dresume=false"
- 
+
   # Avoid a warning about not being able to parse an empty version:
   if [ -n "${new_dev_ver}" ]
   then
     prepare_args="${prepare_args} -DdevelopmentVersion=${new_dev_ver}"
   fi
 
-  echo "${prepare_args}"
-}
-
-function exec_mvn()
-{
   mvn clean                                   || exit 1
   mvn release:prepare $(get_mvn_prepare_args) || exit 1
-  revert_mvn_prepare_new_dev_ver_if "${new_dev_ver}"
+  revert_mvn_prepare_new_dev_ver "${pom_orig_ver}" "${new_dev_ver}"
+
+  exit 1
 }
 
 function exit_on_started_with_ns()

Reply via email to