如何获得Gradle CodeNarc任务来检查Gradle构建文件?

时间:2018-07-03 05:10:06

标签: gradle codenarc

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构建文件本身?

1 个答案:

答案 0 :(得分: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

此后事情可能已经改变。