Как изменить версию pom.xml с помощью скрипта оболочки Linux

Как изменить версию pom.xml с помощью скрипта оболочки Linux

у меня естьpom.xmlсодержать строку

<version>x.y.z-tag</version>

гдеярлыкможет быть: снимок, альфа, бета или релиз.

ихyzэто номер версии, например: 1.0.0 или 1.2.1 ....

Я хочу внести изменение в эту строку по заданному параметру. Например:

существующая версия:<version>1.0.0-snapshot</version>

заданный параметр:1.0.1-alpha

выход:<version>1.0.1-alpha</version>

./script.sh newVersion pom.xml

PS: pom.xml содержит много строк, начинающихся с <version>..., поэтому мои изменения следует применить по <version>следующему шаблону:x.y.z-tag

решение1

#!/bin/sh            
tag=$(grep '<version>' $2 | sed 's/<version>[^-]*-\(.*\)<\/version>/\1/')
sed -i "s/<version>.*<\/version>/<version>$1-${tag}<\/version>/" $2

сохраните его как script.sh, сделайте его исполняемым ( chmod +x script.sh) и запустите его с помощью:

./script.sh <new_version> pom.xml

Связанный контент