mirror of
https://github.com/jlengrand/detekt.git
synced 2026-03-10 00:01:19 +00:00
* Support markdown report in Gradle plugin * Add markdown description to website docs * Improve markdown description for website docs
114 lines
3.4 KiB
Kotlin
114 lines
3.4 KiB
Kotlin
import io.gitlab.arturbosch.detekt.Detekt
|
|
import io.gitlab.arturbosch.detekt.DetektCreateBaselineTask
|
|
|
|
plugins {
|
|
id("releasing")
|
|
id("io.gitlab.arturbosch.detekt")
|
|
alias(libs.plugins.gradleVersions)
|
|
}
|
|
|
|
allprojects {
|
|
group = "io.gitlab.arturbosch.detekt"
|
|
version = Versions.currentOrSnapshot()
|
|
|
|
apply(plugin = "io.gitlab.arturbosch.detekt")
|
|
|
|
detekt {
|
|
source = objects.fileCollection().from(
|
|
io.gitlab.arturbosch.detekt.extensions.DetektExtension.DEFAULT_SRC_DIR_JAVA,
|
|
io.gitlab.arturbosch.detekt.extensions.DetektExtension.DEFAULT_TEST_SRC_DIR_JAVA,
|
|
io.gitlab.arturbosch.detekt.extensions.DetektExtension.DEFAULT_SRC_DIR_KOTLIN,
|
|
io.gitlab.arturbosch.detekt.extensions.DetektExtension.DEFAULT_TEST_SRC_DIR_KOTLIN,
|
|
)
|
|
buildUponDefaultConfig = true
|
|
baseline = file("$rootDir/config/detekt/baseline.xml")
|
|
}
|
|
|
|
dependencies {
|
|
detekt(project(":detekt-cli"))
|
|
detektPlugins(project(":detekt-formatting"))
|
|
}
|
|
|
|
tasks.withType<Detekt>().configureEach {
|
|
jvmTarget = "1.8"
|
|
reports {
|
|
xml.required.set(true)
|
|
html.required.set(true)
|
|
txt.required.set(true)
|
|
sarif.required.set(true)
|
|
md.required.set(true)
|
|
}
|
|
}
|
|
tasks.withType<DetektCreateBaselineTask>().configureEach {
|
|
jvmTarget = "1.8"
|
|
}
|
|
}
|
|
|
|
val analysisDir = file(projectDir)
|
|
val baselineFile = file("$rootDir/config/detekt/baseline.xml")
|
|
val configFile = file("$rootDir/config/detekt/detekt.yml")
|
|
val statisticsConfigFile = file("$rootDir/config/detekt/statistics.yml")
|
|
|
|
val kotlinFiles = "**/*.kt"
|
|
val kotlinScriptFiles = "**/*.kts"
|
|
val resourceFiles = "**/resources/**"
|
|
val buildFiles = "**/build/**"
|
|
|
|
val detektFormat by tasks.registering(Detekt::class) {
|
|
description = "Formats whole project."
|
|
parallel = true
|
|
disableDefaultRuleSets = true
|
|
buildUponDefaultConfig = true
|
|
autoCorrect = true
|
|
setSource(analysisDir)
|
|
config.setFrom(listOf(statisticsConfigFile, configFile))
|
|
include(kotlinFiles)
|
|
include(kotlinScriptFiles)
|
|
exclude(resourceFiles)
|
|
exclude(buildFiles)
|
|
baseline.set(baselineFile)
|
|
reports {
|
|
xml.required.set(false)
|
|
html.required.set(false)
|
|
txt.required.set(false)
|
|
md.required.set(false)
|
|
}
|
|
}
|
|
|
|
val detektAll by tasks.registering(Detekt::class) {
|
|
description = "Runs the whole project at once."
|
|
parallel = true
|
|
buildUponDefaultConfig = true
|
|
setSource(analysisDir)
|
|
config.setFrom(listOf(statisticsConfigFile, configFile))
|
|
include(kotlinFiles)
|
|
include(kotlinScriptFiles)
|
|
exclude(resourceFiles)
|
|
exclude(buildFiles)
|
|
baseline.set(baselineFile)
|
|
reports {
|
|
xml.required.set(false)
|
|
html.required.set(false)
|
|
txt.required.set(false)
|
|
md.required.set(false)
|
|
}
|
|
}
|
|
|
|
val detektProjectBaseline by tasks.registering(DetektCreateBaselineTask::class) {
|
|
description = "Overrides current baseline."
|
|
buildUponDefaultConfig.set(true)
|
|
ignoreFailures.set(true)
|
|
parallel.set(true)
|
|
setSource(analysisDir)
|
|
config.setFrom(listOf(statisticsConfigFile, configFile))
|
|
include(kotlinFiles)
|
|
include(kotlinScriptFiles)
|
|
exclude(resourceFiles)
|
|
exclude(buildFiles)
|
|
baseline.set(baselineFile)
|
|
}
|
|
|
|
tasks.register("build") {
|
|
dependsOn(gradle.includedBuild("detekt-gradle-plugin").task(":build"))
|
|
}
|