From 7c2124d919627127362a3b712ca90182bb862926 Mon Sep 17 00:00:00 2001 From: josegar74 Date: Thu, 13 Jan 2011 10:54:16 +0000 Subject: [PATCH] Scripts improvements provided by Jeroen: OS check, parameter input format validation and reset version script git-svn-id: https://geonetwork.svn.sourceforge.net/svnroot/geonetwork/trunk@7147 ff403467-3f20-0410-99e5-ff581e626a08 --- resetReleaseVersions.sh | 73 ++++++++++++++++++++++++++++++++++++++++ updateBranchVersions.sh | 55 +++++++++++++++++++++++------- updateReleaseVersions.sh | 43 +++++++++++++++++------ 3 files changed, 148 insertions(+), 23 deletions(-) create mode 100644 resetReleaseVersions.sh diff --git a/resetReleaseVersions.sh b/resetReleaseVersions.sh new file mode 100644 index 00000000000..0d8862c46b8 --- /dev/null +++ b/resetReleaseVersions.sh @@ -0,0 +1,73 @@ +#!/bin/bash + +# Usage to reset a version number from e.g. 2.7.1 to 2.7.0 +# In root folder of branch code: ./resetReleaseVersions.sh 2.7.1 2.7.0 + +version="$1" +new_version="$2" + +function showUsage +{ + echo -e "\nThis script is used to reset a version number from e.g. 2.7.1 to 2.7.0" + echo + echo -e "Usage: ./`basename $0 $1` actual_version next_version" + echo + echo -e "Example to update file versions from 2.7.0 to 2.7.1:" + echo -e "\t./`basename $0 $1` 2.7.0 2.7.1" + echo +} + +if [ "$1" = "-h" ] +then + showUsage + exit +fi + +if [ $# -ne 2 ] +then + showUsage + exit +fi + + +if [[ $1 != [0-9].[0-9].[0-9] ]]; then + echo + echo 'Update failed due to incorrect versionnumber format: ' $1 + echo 'The format should be three numbers separated by dots. e.g.: 2.7.0' + echo + echo "Usage: ./`basename $0 $1` 2.7.1 2.7.0" + echo + exit +fi + +if [[ $2 != [0-9].[0-9].[0-9] ]]; then + echo + echo 'Update failed due to incorrect new versionnumber format (' $2 ')' + echo 'The format should be three numbers separated by dots. e.g.: 2.7.1' + echo + echo "Usage: ./`basename $0 $1` 2.7.1 2.7.0" + echo + exit +fi + +# Note: In MacOS (darwin10.0) sed requires -i .bak as option to work properly +if [[ $OSTYPE == 'darwin10.0' ]]; then + sedopt='-i .bak' +else + sedopt='-i' +fi + +echo +echo 'Your Operating System is' $OSTYPE +echo 'sed will use the following option: ' $sedopt +echo + +# Update version in sphinx doc files +sed $sedopt "s/${version}/${new_version}/g" docs/eng/users/source/conf.py +sed $sedopt "s/${version}/${new_version}/g" docs/eng/developer/source/conf.py + +# Update installer +sed $sedopt "s/\/\/g" installer/build.xml + +# Update version pom files +find . -name pom.xml -exec sed $sedopt "s/${version}/${new_version}/g" {} \; \ No newline at end of file diff --git a/updateBranchVersions.sh b/updateBranchVersions.sh index b4e765bef88..4b5d3cd6d76 100755 --- a/updateBranchVersions.sh +++ b/updateBranchVersions.sh @@ -3,16 +3,15 @@ # Usage to update branch from a release 2.6.2 version to 2.6.3-SNAPSHOT version # In root folder of branch code: ./updateBranchVersion.sh 2.6.2 2.6.3 -# Note: In MacOs change seed -i to seed -i .bak to work properly - function showUsage { echo -e "\nThis script is used to update branch from a release version to next SNAPSHOT version. Should be used in branch after creating a new release (tag)." - echo -e "\nUsage:" - echo -e "\t`basename $0 $1` {actual_version} {next_version}" - echo -e "\nExample to update file versions from 2.6.2 to 2.6.3-SNAPSHOT:" - echo -e "\t`basename $0 $1` 2.6.2 2.6.3" - echo -e "\n" + echo + echo -e "Usage: ./`basename $0 $1` actual_version next_version" + echo + echo -e "Example to update file versions from 2.7.0 to 2.7.1-SNAPSHOT:" + echo -e "\t./`basename $0 $1` 2.7.0 2.7.1" + echo } if [ "$1" = "-h" ] @@ -27,16 +26,48 @@ then exit fi +if [[ $1 != [0-9].[0-9].[0-9] ]]; then + echo + echo 'Update failed due to incorrect versionnumber format (' $1 ')' + echo 'The format should be three numbers separated by dots. e.g.: 2.7.0' + echo + echo "Usage: ./`basename $0 $1` 2.7.0 2.7.1" + echo + exit +fi + +if [[ $2 != [0-9].[0-9].[0-9] ]]; then + echo + echo 'Update failed due to incorrect new versionnumber format (' $2 ')' + echo 'The format should be three numbers separated by dots. e.g.: 2.7.1' + echo + echo "Usage: ./`basename $0 $1` 2.7.0 2.7.1" + echo + exit +fi + +# Note: In MacOS (darwin10.0) sed requires -i .bak as option to work properly +if [[ $OSTYPE == 'darwin10.0' ]]; then + sedopt='-i .bak' +else + sedopt='-i' +fi + +echo +echo 'Your Operating System is' $OSTYPE +echo 'sed will use the following option: ' $sedopt +echo + version="$1" new_version="$2" # Update version in sphinx doc files -sed -i "s/${version}/${new_version}-SNAPSHOT/g" docs/eng/users/source/conf.py -sed -i "s/${version}/${new_version}-SNAPSHOT/g" docs/eng/developer/source/conf.py +sed $sedopt "s/${version}/${new_version}-SNAPSHOT/g" docs/eng/users/source/conf.py +sed $sedopt "s/${version}/${new_version}-SNAPSHOT/g" docs/eng/developer/source/conf.py # Update installer -sed -i "s/\/\/g" installer/build.xml -sed -i "s/\/\/g" installer/build.xml +sed $sedopt "s/\/\/g" installer/build.xml +sed $sedopt "s/\/\/g" installer/build.xml # Update version pom files -find . -name pom.xml -exec sed -i "s/${version}/${new_version}-SNAPSHOT/g" {} \; \ No newline at end of file +find . -name pom.xml -exec sed $sedopt "s/${version}/${new_version}-SNAPSHOT/g" {} \; \ No newline at end of file diff --git a/updateReleaseVersions.sh b/updateReleaseVersions.sh index 316457b4ae7..4c719990929 100755 --- a/updateReleaseVersions.sh +++ b/updateReleaseVersions.sh @@ -3,16 +3,15 @@ # Usage to create 2.6.2 release version from 2.6.2-SNAPSHOT # In root folder of branch code: ./updateReleaseVersion.sh 2.6.2 -# Note: In MacOs change seed -i to seed -i .bak to work properly - function showUsage { echo -e "\nThis script is used to update branch from a SNAPSHOT version to a release version. Should be used in branch before creating a new release (tag)." - echo -e "\nUsage:" - echo -e "\t`basename $0 $1` {version}" - echo -e "\nExample to update file versions from 2.6.2-SNAPSHOT to 2.6.2:" - echo -e "\t`basename $0 $1` 2.6.2" - echo -e "\n" + echo + echo -e "Usage: `basename $0 $1` version" + echo + echo -e "Example to update file versions from 2.7.0-SNAPSHOT to 2.7.0:" + echo -e "\t`basename $0 $1` 2.7.0" + echo } if [ "$1" = "-h" ] @@ -27,14 +26,36 @@ then exit fi +if [[ $1 != [0-9].[0-9].[0-9] ]]; then + echo + echo 'Update failed due to incorrect versionnumber format: ' $1 + echo 'The format should be three numbers separated by dots. e.g.: 2.7.0' + echo + echo "Usage: ./`basename $0 $1` 2.7.0" + echo + exit +fi + +# Note: In MacOS (darwin10.0) sed requires -i .bak as option to work properly +if [[ $OSTYPE == 'darwin10.0' ]]; then + sedopt='-i .bak' +else + sedopt='-i' +fi + +echo +echo 'Your Operating System is' $OSTYPE +echo 'sed will use the following option: ' $sedopt +echo + version="$1" # Update version in sphinx doc files -sed -i "s/${version}-SNAPSHOT/${version}/g" docs/eng/users/source/conf.py -sed -i "s/${version}-SNAPSHOT/${version}/g" docs/eng/developer/source/conf.py +sed $sedopt "s/${version}-SNAPSHOT/${version}/g" docs/eng/users/source/conf.py +sed $sedopt "s/${version}-SNAPSHOT/${version}/g" docs/eng/developer/source/conf.py # Update installer -sed -i "s/\/\/g" installer/build.xml +sed $sedopt "s/\/\/g" installer/build.xml # Update version pom files -find . -name pom.xml -exec sed -i "s/${version}-SNAPSHOT/${version}/g" {} \; \ No newline at end of file +find . -name pom.xml -exec sed $sedopt "s/${version}-SNAPSHOT/${version}/g" {} \; \ No newline at end of file