我正在尝试将CodeNarc与基于maven的Groovy项目集成。站点上关于CodeNarc Maven插件的文档很少。我试图理解的用法方面是:
- 如何指向自定义规则集以及在项目中放置它们的位置?
- 如果违反了任何规则,如何使Jenkins构建失败
目前我能够使用命令
运行CodeNarcmvn codenarc: codenarc
当我将'reporting'部分添加到POM文件(如http://www.mojohaus.org/codenarc-maven-plugin/usage.html所述)并运行
时mvn网站
不生成CodeNarc报告。我得到这个警告
[警告]没有为项目定义URL -装饰链接不会
解决
但不清楚它与CodeNarc的关系。
在Maven中使用CodeNarc的正确方法是什么?
我刚刚做了,以防你还需要提示。你可以通过在"build"->"plugins"->"plugin"下创建一个"plugin"条目来挂钩插件的执行。
<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