diff --git a/detekt-gradle-plugin/build.gradle.kts b/detekt-gradle-plugin/build.gradle.kts index 799cd6a127b..f00558df732 100644 --- a/detekt-gradle-plugin/build.gradle.kts +++ b/detekt-gradle-plugin/build.gradle.kts @@ -7,6 +7,8 @@ plugins { `java-test-fixtures` idea alias(libs.plugins.pluginPublishing) + // We use this published version of the Detekt plugin to self analyse this project. + id("io.gitlab.arturbosch.detekt") version "1.20.0" } repositories { @@ -17,6 +19,13 @@ repositories { group = "io.gitlab.arturbosch.detekt" version = Versions.currentOrSnapshot() +detekt { + source.from("src/functionalTest/kotlin") + buildUponDefaultConfig = true + baseline = file("config/gradle-plugin-baseline.xml") + config = files("config/gradle-plugin-detekt.yml") +} + testing { suites { getByName("test", JvmTestSuite::class) { @@ -70,6 +79,9 @@ dependencies { pluginCompileOnly(libs.android.gradle) pluginCompileOnly(libs.kotlin.gradle) + + // We use this published version of the detekt-formatting to self analyse this project. + detektPlugins("io.gitlab.arturbosch.detekt:detekt-formatting:1.20.0") } gradlePlugin { diff --git a/detekt-gradle-plugin/config/gradle-plugin-baseline.xml b/detekt-gradle-plugin/config/gradle-plugin-baseline.xml new file mode 100644 index 00000000000..4d1a6d7d972 --- /dev/null +++ b/detekt-gradle-plugin/config/gradle-plugin-baseline.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/detekt-gradle-plugin/config/gradle-plugin-detekt.yml b/detekt-gradle-plugin/config/gradle-plugin-detekt.yml new file mode 100644 index 00000000000..7890c723ed7 --- /dev/null +++ b/detekt-gradle-plugin/config/gradle-plugin-detekt.yml @@ -0,0 +1,35 @@ +complexity: + TooManyFunctions: + excludes: ["**/test/**", "**/functionalTest/**"] + +naming: + ClassNaming: + excludes: ["**/*Spec.kt"] + FunctionNaming: + active: true + excludes: + - "**/test/**" + - "**/androidTest/**" + - "**/commonTest/**" + - "**/functionalTest/**" + - "**/jvmTest/**" + - "**/jsTest/**" + - "**/iosTest/**" + +performance: + SpreadOperator: + excludes: ["**/test/**", "**/functionalTest/**"] + +style: + MagicNumber: + active: true + excludes: ["**/test/**", "**/*Test.kt", "**/*Spec.kt"] + MaxLineLength: + active: true + excludes: ["**/test/**", "**/*Test.kt", "**/*Spec.kt"] + excludeCommentStatements: true + +formatting: + active: true + MaximumLineLength: + active: false