【问题标题】:How to use CodeNarc maven plugin with groovy 2.5?如何在 groovy 2.5 中使用 CodeNarc maven 插件?
【发布时间】:2019-08-20 15:19:30
【问题描述】:

我正在使用 CodeNarc maven 插件来静态分析用 groovy 编写的测试。我想将库更新到更高版本,不幸的是 codeNarc maven 插件版本不适用于 groovy 2.5。你有什么解决办法吗?也许另一个插件?

从 pom.xml 中提取:

             <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>codenarc-maven-plugin</artifactId>
                <version>0.22-1</version>
                <configuration>
                    <groovyVersion>2.5.8</groovyVersion>
                    <rulesetfiles>file:///${project.basedir}/../config/codenarc.groovy</rulesetfiles>
                    <testSourceRoots>${project.basedir}/src/test/groovy</testSourceRoots>
                    <maxPriority1Violations>0</maxPriority1Violations>
                    <maxPriority2Violations>0</maxPriority2Violations>
                    <maxPriority3Violations>0</maxPriority3Violations>
                </configuration>
                <executions>
                    <execution>
                        <phase>test-compile</phase>
                        <goals>
                            <goal>codenarc</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

在验证期间显示错误:

[ERROR] Failure to find org.codehaus.groovy:groovy-all:jar:2.5.8 in https://maven.... was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced

我认为这与此有关:

                <dependency>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-all</artifactId>
                    <version>2.5.8</version>
                    <scope>runtime</scope>
                    <type>pom</type><!-- not jar!!! -->
                </dependency>

【问题讨论】:

    标签: java maven groovy maven-plugin codenarc


    【解决方案1】:

    对此我可能有点晚了,但是对于稍后在 StackOverflow 上搜索的其他人...

    我们使用了 CodeNarc Ant 任务(我们在父 POM 中有所有版本):

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <dependencies>
              <dependency>
                <groupId>org.codenarc</groupId>
                <artifactId>CodeNarc</artifactId>
              </dependency>
              <dependency>
                <groupId>org.gmetrics</groupId>
                <artifactId>GMetrics</artifactId>
              </dependency>
              <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
              </dependency>
            </dependencies>
            <executions>
              <execution>
                <id>codenarc-checks</id>
                <phase>process-classes</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target>
                    <property name="compile_classpath"
                      refid="maven.compile.classpath" />
                    <taskdef name="codenarc"
                      classname="org.codenarc.ant.CodeNarcTask" />
                    <echo
                      message="Checking Groovy code with CodeNarc" />
                    <codenarc
                      ruleSetFiles="file:/some/path/to/ruleset.groovy">
                      <report type="xml">
                        <option name="outputFile"
                          value="${project.build.directory}/codenarcReport.xml" />
                      </report>
                      <fileset dir="${groovy.main.directory}">
                        <include name="**/*.groovy" />
                      </fileset>
                    </codenarc>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多