#!/bin/bash ## Will update POM in workspace with release version if [ ! -e version.properties ]; then echo "Missing version.properties" exit 1 fi ## will setup variable release_version source ./version.properties RELEASE_VERSION=$release_version echo Changing POM version to $RELEASE_VERSION ## handle POM for file in $(find . -name pom.xml); do VERSION=$(xpath -q -e '//project/version/text()' $file) PVERSION=$(xpath -q -e '//project/parent/version/text()' $file) echo before changes VERSION=$VERSION PVERSION=$PVERSION file=$file if [ "$VERSION" != "" ]; then awk -v v=$RELEASE_VERSION ' // { if (! done) { sub(/.*" v "<",$0) done = 1 } } { print $0 } ' $file > $file.tmp mv $file.tmp $file fi if [ "$PVERSION" != "" ]; then awk -v v=$RELEASE_VERSION ' // { if (parent && ! done) { sub(/.*" v "<",$0) done = 1 } } // { parent = 1 } { print $0 } ' $file > $file.tmp mv $file.tmp $file fi VERSION=$(xpath -q -e '//project/version/text()' $file) PVERSION=$(xpath -q -e '//project/parent/version/text()' $file) echo after changes VERSION=$VERSION PVERSION=$PVERSION file=$file done