2016-06-30 4 views
2

릴리스 프로세스의 일부로, mvn versions:use-releases 목표를 사용하여 출시 된 버전과의 모든 -SNAPSHOT 종속성을 대체합니다. 이 후, 모든 SNAPSHOT 종속성이 릴리스로 대체되었는지 여부를 확인하려고합니다.Maven이 모든 종속성이 해제되었는지 확인합니다.

질문 : 어떻게 확인할 수 있습니까?

필자는 maven release 플러그인이 release-prepare 목표의 일부로 이러한 검사를 수행하지만 release plugin을 사용하고 싶지는 않습니다.

답변

4

maven-enforcer-plugin을 사용하면 SNAPSHOT 종속성이 아직 존재하는지 여부를 다시 확인할 수 있습니다. 그 requireReleaseDeps 규칙의 the official example에서

:

<project> 
    [...] 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-enforcer-plugin</artifactId> 
     <version>1.4.1</version> 
     <executions> 
      <execution> 
      <id>enforce-no-snapshots</id> 
      <goals> 
       <goal>enforce</goal> 
      </goals> 
      <configuration> 
       <rules> 
       <requireReleaseDeps> 
        <message>No Snapshots Allowed!</message> 
       </requireReleaseDeps> 
       </rules> 
       <fail>true</fail> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
    [...] 
</project> 

주 어떤 SNAPSHOT 의존성이 발견 된 경우 빌드가 실패 할이 경우 true로 설정 fail 요소입니다.

maven profile에 이러한 구성을 배치하고 필요할 때마다 활성화 할 수 있습니다 (따라서이 검사를 수행해야 할 때마다).