2

Gradle 构建文件 (*.gradle) 是 Groovy,所以我想对构建文件执行代码样式检查,就像项目中的任何其他代码一样。所以我认为 CodeNarc 可以解决这个问题。

将 CodeNarc 本身连接到 Gradle 的最低要求如下:

apply plugin: 'groovy'
apply plugin: 'codenarc'

dependencies {
  codenarc 'org.codenarc:CodeNarc:1.1'
}

tasks.withType(CodeNarc) {
  // contents of the config file are not interesting enough to list
  configFile = rootProject.file('config/codenarc/codenarc.groovy')
}

当我运行它时,它什么也没做,因为我们没有任何常规的主文件或测试文件。没关系,我们从不打算在项目本身中使用 Groovy。

但我想知道的是,我们如何将这个东西指向 Gradle 构建文件本身?

4

1 回答 1

1

正如您可能已经看到的那样,这里有一些 2014 年的建议https://discuss.gradle.org/t/codenarc-gradle-files-themselves/4108

所以到目前为止我能做的最好的就是为linux写一个shell脚本,就像这样

#! /usr/bin/env sh
set -e -x
export GROOVY=/path/to/groovy-all-2.3.3.jar
export CODENARC=/path/to/CodeNarc-0.21.jar
export LOG4J=/path/to/log4j-1.2.17.jar
export CONFIG=/path/to/ruleseDir
java -cp "$LOG4J:$GROOVY:$CONFIG:$CODENARC" \
    org.codenarc.CodeNarc -includes=**/*.gradle -basedir=. -rul

从那以后情况可能发生了变化。

于 2018-09-27T06:54:33.193 回答