2

我正在尝试将 CodeNarc 与基于 Maven 的 Groovy 项目集成。CodeNarc Maven 插件站点上的文档很少。我想了解的使用方面是:

  • 如何指向自定义规则集以及在项目中放置它们的位置?
  • 如果违反任何规则,如何使 Jenkins 构建失败。

目前我可以使用命令运行 C​​odeNarc

mvn codenarc:codenarc

当我将“报告”部分添加到 POM 文件中时(如http://www.mojohaus.org/codenarc-maven-plugin/usage.html所述)并运行

mvn网站

不会生成 CodeNarc 报告。我收到此警告

[警告] 没有为项目定义 URL - 装饰链接将无法解析

但不清楚它与 CodeNarc 的关系在哪里。

将 CodeNarc 与 Maven 一起使用的正确方法是什么?

4

1 回答 1

2

我刚做了,以防你仍然需要小费。您可以通过在“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

于 2013-10-25T10:07:38.957 回答