멀티 모듈 프로젝트의 모든 폼에서 artifactId를 추출해야합니다.셸 스크립트를 사용하여 멀티 모듈 프로젝트에서 사용하는 모든 pom.xml 파일에서 artifactId를 추출하는 방법은 무엇입니까?
프로젝트 구조는 비슷하지만 구조 (IT 프로젝트의 의존 것) 다를 수 있습니다 :
project
|------->pom.xml
|------->subproject1
|------->pom.xml
|------->folder1
|------->pom.xml
|------->subproject2
|------->pom.xml
|------->folder2
|------->pom.xml
|------->subproject3
|------->pom.xml
|------->folder3
|------->pom.xml
|------->subproject4
|------->pom.xml
|------->folder4
|------->pom.xml
|------->subproject5
|------->pom.xml
|------->folder5
|------->pom.xml
내가 추출물에 대한 단일 모듈 프로젝트에서 정보를 원하시면,이 명령을 사용하고 있습니다 :
을MVN_ARTIFACTID=$(mvn -q \
-Dexec.executable="echo" \
-Dexec.args='${project.artifactId}' \
--non-recursive \
org.codehaus.mojo:exec-maven-plugin:1.3.1:exec)
그런 다음이 변수를 Bamboo Plan의 다른 작업에 사용합니다.
어떻게 멀티 모듈 프로젝트에서 비슷한 작업을 수행 할 수 있습니까? 변수의 모든 poms의 artifactId를 추출해야합니다.
은이 게시물에 대해 알고 있지만이 같은 문제가 아니에요 : How to extract the GAV from a pom.xml file in a shell script
감사합니다. 두 번째 줄은 더 읽을 수있는 형식으로 artifactId를 이름을 부여 할 수 있도록
MVN_ARTIFACTID=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.artifactId} ##' org.codehaus.mojo:exec-maven-plugin:1.3.1:exec)
echo $MVN_ARTIFACTID| sed 's/##/\n/g'
추가 ## 작은 해킹 등 :
질문 : 왜 필요합니까? 다중 모듈 빌드를 사용하는 경우 모든 버전이 동일해야합니다. – khmarbaise
죄송합니다. 글을 편집했습니다. 나는 artifactId (버전과 groupId는 모든 모듈에서 동일 함) 만 필요합니다. Artifactory (Bamboo 사용)에서 repo의 archetype-catalog.xml을 업데이트해야하기 때문에 모든 poms의 artifactId가 필요합니다. –