Como alterar uma versão pom.xml com script de shell do Linux

1

Eu tenho um pom.xml que contém uma linha

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

onde tag pode ser: instantâneo, alfa, beta ou release.

e x.y.z é uma versão numérica como: 1.0.0 ou 1.2.1 ....

Eu quero fazer uma alteração nessa linha por um determinado parâmetro. por exemplo:

versão existente: <version>1.0.0-snapshot</version>

dado parâmetro: 1.0.1-alpha

saída: <version>1.0.1-alpha</version>

./script.sh newVersion pom.xml

PS: pom.xml contém muitas linhas que começam com <version> ... então minhas alterações devem ser aplicadas a <version> com um padrão: x.y.z-tag

    
por Gimbo 02.11.2015 / 12:54

1 resposta

1

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

salve isso como script.sh , torne-o executável ( chmod +x script.sh ) e execute-o com:

./script.sh <new_version> pom.xml
    
por 02.11.2015 / 13:03