|
| 1 | +import io.gitlab.arturbosch.detekt.Detekt |
| 2 | +import io.gitlab.arturbosch.detekt.DetektCreateBaselineTask |
| 3 | +import io.gitlab.arturbosch.detekt.extensions.DetektExtension |
| 4 | + |
| 5 | +plugins { |
| 6 | + id("io.gitlab.arturbosch.detekt") |
| 7 | +} |
| 8 | + |
| 9 | +val analysisDir = file(projectDir) |
| 10 | +val baselineFile = file("$rootDir/config/detekt/baseline.xml") |
| 11 | +val configFile = file("$rootDir/config/detekt/detekt.yml") |
| 12 | +//val statisticsConfigFile = file("$rootDir/config/detekt/statistics.yml") |
| 13 | + |
| 14 | +val kotlinFiles = "**/*.kt" |
| 15 | +val kotlinScriptFiles = "**/*.kts" |
| 16 | +val resourceFiles = "**/resources/**" |
| 17 | +val buildFiles = "**/build/**" |
| 18 | + |
| 19 | +detekt { |
| 20 | + toolVersion = app.web.drjackycv.buildsrc.Depends.Versions.detektVersion |
| 21 | + buildUponDefaultConfig = true |
| 22 | + baseline = baselineFile |
| 23 | + config = files("config/detekt/detekt.yml") |
| 24 | + input = objects.fileCollection().from( |
| 25 | + DetektExtension.DEFAULT_SRC_DIR_JAVA, |
| 26 | + "src/test/java", |
| 27 | + DetektExtension.DEFAULT_SRC_DIR_KOTLIN, |
| 28 | + "src/test/kotlin" |
| 29 | + ) |
| 30 | + reports { |
| 31 | + html.enabled = true |
| 32 | + html.destination = file("$projectDir/build/detekt/report.html") |
| 33 | + xml.enabled = true |
| 34 | + xml.destination = file("$projectDir/build/detekt/report.xml") |
| 35 | + txt.enabled = true |
| 36 | + txt.destination = file("$projectDir/build/detekt/report.txt") |
| 37 | + } |
| 38 | +} |
| 39 | + |
| 40 | +dependencies { |
| 41 | + detektPlugins(app.web.drjackycv.buildsrc.Depends.ClassPaths.detekt_gradle_plugin) |
| 42 | +} |
| 43 | + |
| 44 | +val detektFormat by tasks.registering(Detekt::class) { |
| 45 | + description = "Formats whole project." |
| 46 | + parallel = true |
| 47 | + disableDefaultRuleSets = true |
| 48 | + buildUponDefaultConfig = true |
| 49 | + autoCorrect = true |
| 50 | + setSource(analysisDir) |
| 51 | +// config.setFrom(listOf(statisticsConfigFile, configFile)) |
| 52 | + include(kotlinFiles) |
| 53 | + include(kotlinScriptFiles) |
| 54 | + exclude(resourceFiles) |
| 55 | + exclude(buildFiles) |
| 56 | + baseline.set(baselineFile) |
| 57 | + reports { |
| 58 | + xml.enabled = true |
| 59 | + html.enabled = true |
| 60 | + txt.enabled = true |
| 61 | + } |
| 62 | +} |
| 63 | + |
| 64 | +val detektAll by tasks.registering(Detekt::class) { |
| 65 | + description = "Runs the whole project at once." |
| 66 | + parallel = true |
| 67 | + buildUponDefaultConfig = true |
| 68 | + setSource(analysisDir) |
| 69 | +// config.setFrom(listOf(statisticsConfigFile, configFile)) |
| 70 | + include(kotlinFiles) |
| 71 | + include(kotlinScriptFiles) |
| 72 | + exclude(resourceFiles) |
| 73 | + exclude(buildFiles) |
| 74 | + baseline.set(baselineFile) |
| 75 | + reports { |
| 76 | + xml.enabled = true |
| 77 | + html.enabled = true |
| 78 | + txt.enabled = true |
| 79 | + } |
| 80 | +} |
| 81 | + |
| 82 | +val detektProjectBaseline by tasks.registering(DetektCreateBaselineTask::class) { |
| 83 | + description = "Overrides current baseline." |
| 84 | + buildUponDefaultConfig.set(true) |
| 85 | + ignoreFailures.set(true) |
| 86 | + parallel.set(true) |
| 87 | + setSource(analysisDir) |
| 88 | +// config.setFrom(listOf(statisticsConfigFile, configFile)) |
| 89 | + include(kotlinFiles) |
| 90 | + include(kotlinScriptFiles) |
| 91 | + exclude(resourceFiles) |
| 92 | + exclude(buildFiles) |
| 93 | + baseline.set(baselineFile) |
| 94 | +} |
0 commit comments