|
8 | 8 | # x.y.z+1-SNAPSHOT if the current version is x.y.z OR to x.y.z if the |
9 | 9 | # current version is x.y.z-SNAPSHOT. |
10 | 10 |
|
| 11 | +set -e |
| 12 | + |
11 | 13 | # Get the previous maven project version. |
12 | 14 | CURRENT_VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -Ev '(^\[|\w+:)') |
| 15 | +CURRENT_VERSION_BASE=$(mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -Ev '(^\[|\w+:)' | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+') |
| 16 | + |
13 | 17 | # Get list of directories for which pom.xml must be updated |
14 | 18 | module_folders=($(find . -maxdepth 2 -type d | sed -E -n "/^\.\/(google-cloud-contrib\/)?google-cloud(-[a-z]+)+$/p") . ./google-cloud) |
| 19 | + |
| 20 | +CURRENT_SNAPSHOT="" |
| 21 | +if [ "${CURRENT_VERSION##*-}" == "SNAPSHOT" ]; then |
| 22 | + CURRENT_SNAPSHOT="-SNAPSHOT" |
| 23 | +fi |
| 24 | + |
| 25 | +NEW_SNAPSHOT="" |
15 | 26 | if [ $# -eq 1 ]; then |
16 | | - NEW_VERSION=$1 |
| 27 | + NEW_VERSION_BASE=$1 |
| 28 | + if [ "${NEW_VERSION_BASE##*-}" == "SNAPSHOT" ]; then |
| 29 | + NEW_SNAPSHOT="-SNAPSHOT" |
| 30 | + fi |
17 | 31 | elif [ "${CURRENT_VERSION##*-}" != "SNAPSHOT" ]; then |
18 | | - NEW_VERSION="${CURRENT_VERSION%.*}.$((${CURRENT_VERSION##*.}+1))-SNAPSHOT" |
| 32 | + NEW_VERSION_BASE="${CURRENT_VERSION%.*}.$((${CURRENT_VERSION##*.}+1))" |
| 33 | + NEW_SNAPSHOT="-SNAPSHOT" |
19 | 34 | else |
20 | | - NEW_VERSION=${CURRENT_VERSION%%-*} |
| 35 | + NEW_VERSION_BASE=${CURRENT_VERSION%%-*} |
21 | 36 | fi |
22 | 37 |
|
23 | | -echo "Changing version from $CURRENT_VERSION to $NEW_VERSION in pom.xml files" |
| 38 | +echo "Changing version from ${CURRENT_VERSION_BASE}-*${CURRENT_SNAPSHOT} to ${NEW_VERSION_BASE}-*${NEW_SNAPSHOT} in pom.xml files" |
24 | 39 | for item in ${module_folders[*]} |
25 | 40 | do |
26 | | - sed -i "0,/<version>$CURRENT_VERSION/s/<version>$CURRENT_VERSION/<version>$NEW_VERSION/" ${item}/pom.xml |
| 41 | + sed -ri "0,/<version>$CURRENT_VERSION_BASE/s/<version>${CURRENT_VERSION_BASE}(-[a-z]+)?[^<]*/<version>${NEW_VERSION_BASE}\1${NEW_SNAPSHOT}/" ${item}/pom.xml |
27 | 42 | done |
| 43 | +sed -ri "0,/<core.version>$CURRENT_VERSION_BASE/s/<core.version>${CURRENT_VERSION_BASE}(-[a-z]+)?[^<]*/<core.version>${NEW_VERSION_BASE}\1${NEW_SNAPSHOT}/" pom.xml |
| 44 | +sed -ri "0,/<beta.version>$CURRENT_VERSION_BASE/s/<beta.version>${CURRENT_VERSION_BASE}(-[a-z]+)?[^<]*/<beta.version>${NEW_VERSION_BASE}\1${NEW_SNAPSHOT}/" pom.xml |
0 commit comments