Linux 쉘 스크립트를 사용하여 pom.xml 버전을 변경하는 방법

Linux 쉘 스크립트를 사용하여 pom.xml 버전을 변경하는 방법

나는 가지고있다pom.xml줄을 포함

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

어디꼬리표스냅샷, 알파, 베타 또는 릴리스가 될 수 있습니다.

그리고xyz1.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

추신: 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

관련 정보