我正在尝试将 CodeNarc 与基于 Maven 的 Groovy 项目集成。 CodeNarc Maven 插件网站上的文档很少。我试图了解的使用方面是:
- 如何指向自定义规则集以及将它们放置在项目中的何处?
- 如果违反任何规则,如何使 Jenkins 构建失败。
目前我可以使用命令运行 CodeNarc
mvn codenarc:codenarc
当我将“报告”部分添加到 POM 文件中(如 http://www.mojohaus.org/codenarc-maven-plugin/usage.html 中所述)并运行时
mvn site
未生成 CodeNarc 报告。我收到此警告
[WARNING] No URL defined for the project - decoration links will not be resolved
但是并不清楚它与CodeNarc有什么关系。
将 CodeNarc 与 Maven 结合使用的正确方法是什么?
最佳答案
我刚刚做到了,以防万一您仍然需要提示。您可以通过在“build”->“plugins”->“plugin”下创建“plugin”条目来 Hook 插件的执行。这是我所拥有的。
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>codenarc-maven-plugin</artifactId>
<version>0.18-1</version>
<configuration>
<sourceDirectory>${project.basedir}/src/main/groovy</sourceDirectory>
<maxPriority1Violations>0</maxPriority1Violations>
<maxPriority2Violations>0</maxPriority2Violations>
<maxPriority3Violations>0</maxPriority3Violations>
</configuration>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>codenarc</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
注意“maxPriority_Violations”值。这就是在发生违规时导致构建失败的原因。
我不使用任何自定义规则,但似乎您可以通过设置“rulesetfiles”配置选项来定义自己的规则。请参阅此处的配置选项:http://www.mojohaus.org/codenarc-maven-plugin/codenarc-mojo.html
具有此配置的项目示例:https://github.com/tveronezi/faceid/tree/master/faceid-web
关于maven - 将 CodeNarc 与 Maven 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14383239/