The code-quality plugin supports CodeNarc for Groovy projects. The default configuration file is XML based with the name codenarc.xml
and must be placed in the directory config/codenarc
. But CodeNarc also supports a Groovy DSL for writing configuration files. Suppose we have a configuration file with the name rules.groovy
and we put it in the directory config/codenarc
. In our build.gradle
file we reference this file with the property codeNarcConfigFileName
. The code-quality plugin will pass this value on to CodeNarc and the rules defined in our Groovy ruleset file are used.
// File: config/codenarc/rules.groovy ruleset { description 'Rules Sample Groovy Gradle Project' ruleset('rulesets/basic.xml') ruleset('rulesets/braces.xml') ruleset('rulesets/exceptions.xml') ruleset('rulesets/imports.xml') ruleset('rulesets/logging.xml') { 'Println' priority: 1 'PrintStackTrace' priority: 1 } ruleset('rulesets/naming.xml') ruleset('rulesets/unnecessary.xml') ruleset('rulesets/unused.xml') }
// File: build.gradle ['groovy', 'code-quality'].each { apply plugin: it } repositories { mavenCentral() } dependencies { groovy group: 'org.codehaus.groovy', name: 'groovy', version: '1.7.6' } codeNarcConfigFileName = 'config/codenarc/rules.groovy'