Как получить задачу Gradle CodeNarc для проверки файлов сборки Gradle?

Файлы сборки 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 ответ

Как вы, возможно, уже видели, есть несколько советов от 2014 года здесь https://discuss.gradle.org/t/codenarc-gradle-files-themselves/4108

Таким образом, лучшее, что я мог сделать сам, так это написать сценарий оболочки для Linux, как это

#! /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

С тех пор все могло измениться.

Другие вопросы по тегам