我目前正在编写一个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>
在集成测试poms中使用以下设置:
maven-dependency-plugin
我遇到的障碍是@project.version@
禁止此版本,因为我在我的pom.xml(上面的{{1}})中引用了一个SNAPSHOT插件。很公平。
我发现此检查是在CheckDependencySnapshotsPhase中进行的,这是一个丛组件:
@ plexus.component role =“org.apache.maven.shared.release.phase.ReleasePhase”role-hint =“check-dependency-snapshots”
我可以以某种方式覆盖此组件并插入我自己的组件吗?或者,如何在不被“无快照依赖性”检查阻止的情况下运行此集成测试?
答案 0 :(得分:0)
原来答案就在我面前。而不是在IT项目pom.xml中配置插件,只需指示maven-invoker-plugin
执行它(删节):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
<configuration>
<goals>
<goal>package</goal>
<goal>${project.groupId}:${project.artifactId}:${project.version}:inspect-changes</goal>
</goals>
</configuration>
</plugin>