1

우리는 한 번에 더 많거나 적은 것을 모두 릴리스해야하는 많은 SNAPSHOT 아티팩트가 있습니다. 우리는 정렬을 수행 한 후 종속성을 나열하는 플러그인을 찾고있었습니다 (의존성 : 목록은 사전 순으로 그것을 제공하는 것처럼 보입니다. 종속성 : 트리는 우리의 목적에 특히 편리하지 않습니다).정렬 (토폴로지) 종속성

우리는 "가장 의존적 인"이슈를 먼저 풀 수 있고 "더 의존적 인"이슈를 먼저 풀 수 있도록 정렬을 수행하려고합니다.

다른 누구도이 필요성을 경험 한 적이 있습니까?

답변

0

나는 플러그인에서 직접이 작업을 수행해야했습니다. 메이븐 (Maven)리스트에있는 사람들은 이것이 유용 할 것이라는 것을 전혀 모르는 것처럼 보였습니다. test로 설정 종속 해상도 플러그인에, http://maven.40175.n5.nabble.com/Topologically-sorting-dependencies-tp3384898p3387803.html

간단히 : 여기 어떻게 내가 해냈어

  1. getArtifacts() 호출을 통해 그 유물에 대한 MavenProject에게 문의하십시오.
  2. 주입 된 MavenProjectBuilder에 각 Artifact에 대해 MavenProject을 작성하도록 요청하십시오.
  3. MavenProject의 목록으로 무장 한 경우 해당 목록과 함께 ProjectSorter으로 전화하십시오.
  4. MavenProject의 결과 목록은 토폴로지별로 정렬됩니다.
  5. 이제 MavenProject 각각에 대해 getArtifact() 메소드를 통해 을 정의하십시오.
  6. 콜론으로 구분 된 키를 작성하려면 ArtifactgroupIdartifactId을 사용하십시오.
  7. 실제 MavenProject의 이슈지도에서 해결 된 Artifact을 찾으려면 해당 키를 사용하십시오.
  8. 이 이슈에는 이제 getFile() 속성이 채워지고 필요한 속성을 수행 할 수 있습니다.

이것은 믿을 수 없을만큼 귀찮은 일이지만 다른 방법은 없습니다. 나는 이것이 당신을 도울 수 있기를 바랍니다.

+0

몇 년 후, 그러나 여기에 더 "올바른"더 나은 솔루션 : https://github.com/ljnelson/maven-artifacts/blob/master/src/main/java/com/edugility/maven /Artifacts.java#L80 –