Что я хочу сделать?
Я хочу сообщить CodeNarc, какие папки / каталоги предполагается сканировать / анализировать.
Я не могу найти что-либо об этом на официальном сайте (http://codenarc.sourceforge.net/) или в документации плагина gradle (https://docs.gradle.org/current/userguide/codenarc_plugin.html).
Результаты моих исследований:
Единственное, что я нашел, было в документации плагина Grails CodeNarc (https://grails.org/plugin/codenarc).) Там сказано, что вы можете указать, какие исходные файлы анализируются CodeNarc. Но, похоже, это относится только кПлагин Grails CodeNarc, а не версия Gradle.
Документация Gradle CodeNarc описывает 3 задачи, одна из которых со следующими:
codenarcSourceSet — CodeNarc
Runs CodeNarc against the given source set’s Java source files
Основываясь на описании, которое я мог бы выполнитьчто-то с этим. Но когда я ищу все задачи, мой проект gradle получил только «codenarcMain» и «codenarcTest».
My Set-up:
Мой проект gradleполучил следующую структуру:
.git
-> ...
.gradle
-> ...
config
-> codenarc -> MyRuleset.groovy
gradle
-> ...
src
-> main
-> groovy -> ...
-> ressources
-> test
-> groovy -> ...
-> ressources
vars
-> ...
.gitignore
build.gradle
gradlew
gradlew.bat
ReadMe.txt
settings.gradle
Мой build.gradle выглядит так:
plugins {
// Apply the groovy plugin to add support for Groovy
id 'groovy'
id 'codenarc'
}
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
maven { url "http://repo.jenkins-ci.org/releases/" }
maven { url "http://central.maven.org/maven2/" }
}
dependencies {
// https://mvnrepository.com/artifact/org.jenkins-ci.main/jenkins-core
compile group: 'org.jenkins-ci.main', name: 'jenkins-core', version: '2.179'
// https://mvnrepository.com/artifact/org.jenkins-ci.plugins/cloudbees-folder
compile 'org.jenkins-ci.plugins:cloudbees-folder:5.3@jar'
// https://mvnrepository.com/artifact/org.jenkins-ci.plugins.workflow/workflow-api
compile 'org.jenkins-ci.plugins.workflow:workflow-api:2.35@jar'
// https://mvnrepository.com/artifact/org.jenkins-ci.plugins.workflow/workflow-job
compile 'org.jenkins-ci.plugins.workflow:workflow-job:2.32@jar'
// https://mvnrepository.com/artifact/com.cloudbees/groovy-cps
compile group: 'com.cloudbees', name: 'groovy-cps', version: '1.28'
// https://mvnrepository.com/artifact/org.codenarc/CodeNarc
codenarc group: 'org.codenarc', name: 'CodeNarc', version: '1.1'
// Use the latest Groovy version for building this library
implementation 'org.codehaus.groovy:groovy-all:2.5.6'
// Use the awesome Spock testing and specification framework
testImplementation 'org.spockframework:spock-core:1.2-groovy-2.5'
}
codenarc {
configFile = file("${project.projectDir}/config/codenarc/MyRuleset.groovy")
reportFormat = 'html'
reportsDir = file("$buildDir/reports/StaticCodeAnalysis")
maxPriority1Violations = 0
maxPriority2Violations = 0
maxPriority3Violations = 0
}
Конкретная цель:
Я в основном хочу CodeNarcтакже сканировать скрипты внутри "VARS"папка / каталог.Но, похоже, это делается только внутри src / main / groovy и src / test / groovy.Я также не знаю точно, какие пути по умолчанию, потому что я не нашел его в документации.