문제

Snapshot 종속성 변경 사항을 확인하여 필요한 경우 빌드를 트리거하는 CruiseControl 플러그인이 있습니다. 여기에는 Maven Embedder를 사용하여 종속성을 다운로드 한 다음 로컬 저장소에서 스냅 샷 파일의 타임 스탬프를 확인하는 것이 포함됩니다. 여기에는 정상적으로 작동하지만 모든 부모와 의존성을 다운로드하여 일부 타임 스탬프를 확인하는 것이 포함됩니다.

분산 CI 시스템 (예 : 대나무/Buildforge)에서 작업하고 있으며 전체 의존성 계층 구조를 다운로드하여 빌드가 필요한지 확인하고 싶습니다. 원격 저장소에서 maven-metadata.xml을 확인하여 스냅 샷 종속성의 빌드 날짜를 결정할 수 있습니다.

이 프로세스를 간소화 할 수있는 플러그인이나 도구가 있습니까?

도움이 되었습니까?

해결책 2

보입니다 수은 내가 찾고 있던 더 높은 레벨 API를 제공합니다.

Mercury는 OSGI와 같은 AV 리포지토리를 포함한 GAV 기반 리포지토리에 액세스하는 구현 방법을 제공합니다. OSGI 액세스는 아직 구현되지 않았습니다. 액세스한다는 것은 저장소에서 아티팩트와 메타 데이터를 읽고 인공물을 저장소에 쓰는 것을 의미합니다. 메타 데이터는 Writes에 의해 업데이트됩니다.

모든 통화는 요청 모음을 입력으로 수집하고 GetResults를 숨기는 개체를 반환합니다. 일반적으로 <QueryElement, Collection> 응답입니다. 응답 객체에는 편의성 Methos hasexceptions (), hasResults (), getExceptions (), getResults ()가 있습니다.

주요 빌딩 블록 중 하나는 아티팩트 데이터의 계층 구조입니다.

  • 인공물 - 진정으로 3 개의 구성 요소 Gav입니다
    • artifactbasicmetadata - 좌표 플러스 유형/분류기와 해시 계산 등과 같은 편의 메소드입니다.
  • Artifactmetadata 캡처 된 종속성 개체 목록을 추가합니다 artifactbasicmetadata
  • DefaultArtifact 구현 인공물 인터페이스 및 pomblob (byte []) 및 파일을 추가하여 실제 바이너리를 가리 킵니다.

다른 팁

Maven을 빌드 프로세스로 사용한다고 가정하면 플러그인이 확인 및 조건부 빌드를 수행 할 수 있습니다.

나는 당신이 원하는 것을 정확하게 수행 할 Maven 플러그인을 모릅니다. 그러나 동일한 효과를 위해 몇 개의 플러그인을 함께 볼 수 있어야합니다.

사용 exec 플러그인 Maven-Metadata.xml을 가져 오기 위해 "wget"을 사용합니다. 그런 다음 사용하십시오 XSLT 플러그인 결과 XML을 업데이트가 발생했는지 여부를 나타내는 부울 값으로 변환합니다. // metadata/버전/마지막 Unsupdated 노드에 xpath를하고 현재 날짜 및 시간과 비교하려고합니다. 마지막으로, 빌드를 진행 해야하는지 확인하려면 결과 변환 된 XML을 검사해야합니다.

그 플러그인을 찾으십시오 http://mojo.codehaus.org/plugins.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top