【问题标题】:Using CodeNarc with Maven将 CodeNarc 与 Maven 一起使用
【发布时间】:2013-01-17 16:08:35
【问题描述】:
我正在尝试将 CodeNarc 与基于 Maven 的 Groovy 项目集成。 CodeNarc Maven 插件站点上的文档很少。我想了解的使用方面是:
- 如何指向自定义规则集以及将它们放置在项目中的什么位置?
- 如果违反任何规则,如何使 Jenkins 构建失败。
目前我可以使用命令运行 CodeNarc
mvn codenarc:codenarc
当我将“报告”部分添加到 POM 文件(如 http://www.mojohaus.org/codenarc-maven-plugin/usage.html 中所述)并运行时
mvn 网站
没有生成 CodeNarc 报告。我收到此警告
[警告] 没有为项目定义 URL - 装饰链接不会
得到解决
但不清楚它与CodeNarc的关系。
在 Maven 中使用 CodeNarc 的正确方法是什么?
【问题讨论】:
标签:
maven
groovy
jenkins
rules
codenarc
【解决方案1】:
我刚刚做了,以防您仍然需要小费。您可以通过在“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