11package net.thunderbird.gradle.plugin.quality.detekt
22
3- import io.gitlab.arturbosch. detekt.Detekt
4- import io.gitlab.arturbosch. detekt.DetektCreateBaselineTask
5- import io.gitlab.arturbosch. detekt.extensions.DetektExtension
3+ import dev. detekt.gradle .Detekt
4+ import dev. detekt.gradle .DetektCreateBaselineTask
5+ import dev. detekt.gradle .extensions.DetektExtension
66import net.thunderbird.gradle.plugin.ProjectConfig
77import net.thunderbird.gradle.plugin.libs
88import org.gradle.api.Plugin
99import org.gradle.api.Project
10+ import org.gradle.kotlin.dsl.assign
1011import org.gradle.kotlin.dsl.dependencies
1112import org.gradle.kotlin.dsl.withType
1213
@@ -18,18 +19,14 @@ import org.gradle.kotlin.dsl.withType
1819class DetektPlugin : Plugin <Project > {
1920 override fun apply (target : Project ) {
2021 with (target) {
21- pluginManager.apply (" io.gitlab.arturbosch .detekt" )
22+ pluginManager.apply (" dev .detekt" )
2223
2324 dependencies {
2425 add(" detektPlugins" , libs.detekt.plugin.compose)
2526 }
2627
27- if (path == " :" ) {
28- configureRootDetektTasks()
29- } else {
30- configureDetekt()
31- configureDetektTasks()
32- }
28+ configureDetekt()
29+ configureDetektTasks()
3330 }
3431 }
3532
@@ -38,32 +35,37 @@ class DetektPlugin : Plugin<Project> {
3835 extensions.configure<DetektExtension >(" detekt" ) {
3936 config.setFrom(project.isolated.rootProject.projectDirectory.file(" config/detekt/detekt.yml" ))
4037
41- val name = project.path.replace(" :" , " -" ).replace(" /" , " -" )
42- baseline = project.isolated.rootProject.projectDirectory
43- .file(" config/detekt/detekt-baseline$name .xml" ).asFile
44-
4538 ignoredBuildTypes = listOf (" release" )
4639 }
4740 }
4841
4942 private fun Project.configureDetektTasks () {
5043 with (tasks) {
5144 withType<Detekt >().configureEach {
52- jvmTarget = ProjectConfig .Compiler .javaCompatibility.toString()
45+ if (name.contains(" androidHostTest" , ignoreCase = true )) {
46+ enabled = false
47+ }
48+
49+ jvmTarget = ProjectConfig .Compiler .jvmTarget.target
5350
5451 exclude(defaultExcludes)
5552
5653 reports {
57- html.required.set(true )
54+ checkstyle.required.set(false )
55+ html.required.set(false )
5856 sarif.required.set(true )
59- xml .required.set(true )
57+ markdown .required.set(true )
6058 }
6159
6260 tasks.getByName(" build" ).dependsOn(this )
6361 }
6462
6563 withType<DetektCreateBaselineTask >().configureEach {
66- jvmTarget = ProjectConfig .Compiler .javaCompatibility.toString()
64+ if (name.contains(" androidHostTest" , ignoreCase = true )) {
65+ enabled = false
66+ }
67+
68+ jvmTarget = ProjectConfig .Compiler .jvmTarget.target
6769
6870 exclude(defaultExcludes)
6971 }
@@ -76,21 +78,13 @@ class DetektPlugin : Plugin<Project> {
7678 }
7779 }
7880 }
79-
80- private fun Project.configureRootDetektTasks () {
81- with (tasks) {
82- register(" detektAll" ) {
83- group = " verification"
84- description = " Runs detekt on the root project"
85- }
86- }
87- }
8881}
8982
9083private val defaultExcludes = listOf (
9184 " **/.gradle/**" ,
9285 " **/.idea/**" ,
9386 " **/build/**" ,
87+ " **/generated/**" ,
9488 " .github/**" ,
9589 " gradle/**" ,
9690)
0 commit comments