В настоящее время я пишу плагин Maven с автоматизацией выпуска модулей
- определение того, есть ли в модуле изменения, которые должны быть выпущены
- выпуск всех модулей с помощью
maven-release-plugin
- настройка зависимостей во всех затронутых проектах
Я пытаюсь протестировать его с помощью maven-invoker-plugin
, который использует следующую настройку в тестах интеграции:
<build>
<plugins>
<plugin>
<groupId>@project.groupId@</groupId>
<artifactId>@project.artifactId@</artifactId>
<version>@project.version@</version>
<executions>
<execution>
<id>my-id</id>
<phase>generate-sources</phase>
<goals>
<goal>my-goal</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Преграда, с которой я сталкиваюсь, заключается в том, что maven-dependency-plugin
запрещает этот выпуск, поскольку я ссылаюсь на плагин SNAPSHOT в своем pom.xml ( @project.version@
выше). Справедливо.
Я обнаружил, что эта проверка выполняется в CheckDependencySnapshotsPhase , который является компонентом сплетения:
@plexus.component role="org.apache.maven.shared.release.phase.ReleasePhase" role-hint="check-dependency-snapshots"
Можно ли как-то переопределить этот компонент и подключить свой? В качестве альтернативы, как я могу запустить этот интеграционный тест, не будучи заблокированным проверкой «нет зависимостей моментальных снимков»?