0

如果标志“-N”(--non-recursive)不存在,有没有办法失败?我正在尝试完成这样的事情:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-enforcer-plugin</artifactId>
    <configuration>
        <rules>
            <requireProperty>
                <property>-N</property>
                <message>Missing --non-recursive flag</message>
            </requireProperty>
        </rules>
    </configuration>
</plugin>

此强制执行策略位于配置文件中。如果有办法在配置文件中激活 --non-recursive 标志,那就没问题了。

4

2 回答 2

0

您可以编写一个自定义实施规则来检查MavenSession并确保反应器项目列表包含一个且仅包含一个项目。这并不能保证您已被调用,-N但它对您想要的效果同样有效。

于 2013-12-16T16:19:18.823 回答
0

我采用了一种更简单的方法:evaluateBeanshell 规则。感谢斯蒂芬康诺利的回答,我设法找出了“递归”布尔值的位置。

<plugin>
    <artifactId>maven-enforcer-plugin</artifactId>
    <executions>
        <execution>
            <id>require non recursive flag</id>
            <phase>validate</phase>
            <goals>
                <goal>enforce</goal>
            </goals>
            <configuration>
                <rules>
                    <evaluateBeanshell>
                        <condition>false == ${session.request.recursive}</condition>
                        <message>Non-recursive flag is missing</message>
                    </evaluateBeanshell>
                </rules>
            </configuration>
        </execution>
    </executions>
</plugin>

我认为它仅适用于 maven 3。

于 2014-01-03T16:38:09.507 回答