我正在尝试使用 maven antrun 插件从我们的 java 构建中自动运行 javascript 测试。一切正常,除了它不会运行<target></target>
块内定义的任务。
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>test</id>
<phase>test</phase>
<configuration>
<!-- this does block is never executed -->
<target unless="skipTests">
<echo message="Launching javascript tests"/>
<exec executable="grunt" dir="${project.basedir}" failonerror="true">
<arg line="--no-color test"/>
</exec>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
但是,如果我用 替换<target></target>
,<tasks></tasks>
它总是被执行。我想使用,因为它允许通过定义属性<target>
有条件地执行任务。-DskipTests
编辑:
事实证明这<tasks unless="skipTests"></tasks>
是有效的并且正在正确执行,除非定义了 skipTests 属性。在文档中找不到它。我仍在寻找为什么会发生这种情况的答案。