标签: codenarc

如何自动查找I18N违规行为

反正是否在Grails项目中自动发现I18N违规?例如,

<td valign="top" class="name"><label for="enabled">Enabled:</label></td>
Run Code Online (Sandbox Code Playgroud)

应该被标记,因为它不<g:message>用于获取标签值.

如果codenarc有这个规则会很好,但我不认为这样做.

grails internationalization codenarc

8
推荐指数
1
解决办法
229
查看次数

静态导入语句,永远不应该在非静态导入之后

Codenarc是一个框架,可以分析Groovy代码中的缺陷,不良做法,不一致,样式问题等等.

条规则是否有原因:MisorderedStaticImports规则:

检查非静态导入后永远不应该出现的静态导入语句.

违规的例子:

import my.something.*
import static foo.bar.*

public class MyClass{}
Run Code Online (Sandbox Code Playgroud)

我不明白这条规则的动机或含义.

java import groovy static codenarc

6
推荐指数
1
解决办法
2430
查看次数

在Gradle中配置CodeNarc

我试图在Gradle中使用CodeNarc.

根据CodeNarc文档,我的项目需要config/codenarc/codenarc.xml定义一个配置文件.但后来我看到很多示例配置文件(例如这个StarterRuleSet)似乎使用了Groovy DSL.

所以我问:

  1. 是否可以使用Groovy DSL,如果是这样,文件的名称必须是什么,它必须在我的项目中的哪个位置,以及如何将其连接到我的Gradle构建?和
  2. Groovy DSL上的文档在哪里?和
  3. 默认情况下,CodeNarc输出一个名为main.html; 我怎么能改变这个文件的名称codenarc.html呢?

configuration plugins gradle codenarc

6
推荐指数
1
解决办法
3248
查看次数

如何在 Jenkins 中发布 Gradle 项目的 Codenarc 报告?

我正在尝试为我的 Gradle Groovy 项目生成 Codenarc 报告并在 Jenkins 中发布它们。

我成功地配置了我的 Gradle 项目来生成 Codenarc 报告:

构建.gradle

apply plugin: 'codenarc'
...
dependencies {
    codenarc 'org.codenarc:CodeNarc:0.21'
    ...
}
codenarc {
    configFile = file('config/codenarc/codenarc.groovy')
    // sourceSets = [project.sourceSets.main] // run codenarc on production sources only
    ignoreFailures = true // Let the build finish even though there are code warnings
    reportFormat = 'xml'
    reportsDir = new File("build/reports/codenarc")
}
Run Code Online (Sandbox Code Playgroud)

配置/codenarc/codenarc.groovy

// Read and choose rules here: http://codenarc.sourceforge.net/codenarc-rule-index.html 
ruleset {
    ruleset('rulesets/basic.xml')
}
Run Code Online (Sandbox Code Playgroud)

我还使用 Violations 插件在 Jenkins 上设置了一项工作,但是当生成 Violations …

groovy gradle jenkins codenarc

5
推荐指数
1
解决办法
2164
查看次数

Codenarc 无法解析常规类

我正在使用 codenarc 1.4 和 gradle 来测试 Jenkins 共享库中的 groovy 代码,但是在运行时输出错误,表示无法解析,groovy.lang.Closure尽管这似乎并没有阻止运行检查。

遇到问题的代码示例是

interface IStepExecutor {
    int sh(String command)
    void dir(String path, Closure commands)
    ...
Run Code Online (Sandbox Code Playgroud)

当 codenarc 运行时,会产生以下错误:

file:/.../IStepExecutor.groovy: 8: unable to resolve class Closure 
 @ line 8, column 27.
       void dir(String path, Closure commands)
                             ^
Run Code Online (Sandbox Code Playgroud)

我的 gradle 配置的 codenarc 部分如下:

dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.5.7'
    testCompile "org.spockframework:spock-core:1.3-groovy-2.5"
}
codenarc {
    toolVersion = "1.4"
}
codenarcMain {
    configFile = file("config/codenarc/CodeNarcMain.groovy")
    source = 'src'
    compilationClasspath += files('src/')
}
codenarcTest {
    configFile = …
Run Code Online (Sandbox Code Playgroud)

groovy gradle codenarc

3
推荐指数
1
解决办法
1308
查看次数