У нас есть проект A, который загружает артефакт из другого проекта B, выполняет над ним операцию и в результате выдает новый артефакт. Мы используем цель dependency: copy из maven-dependency-plugin, чтобы получить этот артефакт проекта B из нашего репозитория Maven.
Когда мы выполняем выпуск Maven, я ожидаю, что цель maven-release-plugin 'release: prepare' проверит все зависимости и выйдет из строя, если будут найдены какие-либо версии SNAPSHOT. Это работает для обычных зависимостей в наших тегах <dependencies><dependency>...</dependency></dependencies>
, но не для артефактов «зависимости», скопированных maven-dependency-plugin.
Как (если вообще) я могу предоставить версии этих скопированных артефактов тесту подготовки maven-release-plugin и убедиться, что мы никогда не создадим выпуск Project A, включающий моментальный снимок проекта B?
Если контекст помогает, вот упрощенная версия настроек maven-dependency-plugin в нашем pom:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<id>copy</id>
<phase>process-sources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${ProjectBGroupID}</groupId>
<artifactId>${ProjectB}</artifactId>
<version>${ProjectBVersion}</version>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>