mirror of
https://github.com/jlengrand/detekt.git
synced 2026-03-10 08:11:23 +00:00
Fix for missing /kotlin folder when running on Android projects (#4554)
This commit is contained in:
@@ -112,7 +112,7 @@ internal fun Project.registerAndroidDetektTask(
|
||||
extraInputSource: FileCollection? = null
|
||||
): TaskProvider<Detekt> =
|
||||
registerDetektTask(taskName, extension) {
|
||||
setSource(variant.sourceSets.map { it.javaDirectories })
|
||||
setSource(variant.sourceSets.map { it.javaDirectories + it.kotlinDirectories })
|
||||
extraInputSource?.let { source(it) }
|
||||
classpath.setFrom(variant.getCompileClasspath(null).filter { it.exists() } + bootClasspath)
|
||||
// If a baseline file is configured as input file, it must exist to be configured, otherwise the task fails.
|
||||
@@ -132,7 +132,7 @@ internal fun Project.registerAndroidCreateBaselineTask(
|
||||
extraInputSource: FileCollection? = null
|
||||
): TaskProvider<DetektCreateBaselineTask> =
|
||||
registerCreateBaselineTask(taskName, extension) {
|
||||
setSource(variant.sourceSets.map { it.javaDirectories })
|
||||
setSource(variant.sourceSets.map { it.javaDirectories + it.kotlinDirectories })
|
||||
extraInputSource?.let { source(it) }
|
||||
classpath.setFrom(variant.getCompileClasspath(null).filter { it.exists() } + bootClasspath)
|
||||
val variantBaselineFile = extension.baseline?.addVariantName(variant.name)
|
||||
|
||||
@@ -25,7 +25,16 @@ object DetektAndroidSpec : Spek({
|
||||
$ANDROID_BLOCK
|
||||
$DETEKT_REPORTS_BLOCK
|
||||
""".trimIndent(),
|
||||
srcDirs = listOf("src/main/java", "src/debug/java", "src/test/java", "src/androidTest/java"),
|
||||
srcDirs = listOf(
|
||||
"src/main/java",
|
||||
"src/debug/java",
|
||||
"src/test/java",
|
||||
"src/androidTest/java",
|
||||
"src/main/kotlin",
|
||||
"src/debug/kotlin",
|
||||
"src/test/kotlin",
|
||||
"src/androidTest/kotlin",
|
||||
),
|
||||
baselineFiles = listOf(
|
||||
"detekt-baseline.xml",
|
||||
"detekt-baseline-release.xml",
|
||||
@@ -43,6 +52,10 @@ object DetektAndroidSpec : Spek({
|
||||
gradleRunner.runTasksAndCheckResult(":app:detektMain") { buildResult ->
|
||||
assertThat(buildResult.output).containsPattern("""--baseline \S*[/\\]detekt-baseline-release.xml """)
|
||||
assertThat(buildResult.output).containsPattern("""--baseline \S*[/\\]detekt-baseline-debug.xml """)
|
||||
assertThat(buildResult.output).containsPattern("""--input \S*[/\\]app[/\\]src[/\\]main[/\\]java""")
|
||||
assertThat(buildResult.output).containsPattern("""--input \S*[/\\]app[/\\]src[/\\]debug[/\\]java""")
|
||||
assertThat(buildResult.output).containsPattern("""--input \S*[/\\]app[/\\]src[/\\]main[/\\]kotlin""")
|
||||
assertThat(buildResult.output).containsPattern("""--input \S*[/\\]app[/\\]src[/\\]debug[/\\]kotlin""")
|
||||
assertThat(buildResult.output).contains("--report xml:")
|
||||
assertThat(buildResult.output).contains("--report sarif:")
|
||||
assertThat(buildResult.output).doesNotContain("--report txt:")
|
||||
@@ -60,6 +73,10 @@ object DetektAndroidSpec : Spek({
|
||||
assertThat(buildResult.output).containsPattern("""--baseline \S*[/\\]detekt-baseline-releaseUnitTest.xml """)
|
||||
assertThat(buildResult.output).containsPattern("""--baseline \S*[/\\]detekt-baseline-debugUnitTest.xml """)
|
||||
assertThat(buildResult.output).containsPattern("""--baseline \S*[/\\]detekt-baseline-debugAndroidTest.xml """)
|
||||
assertThat(buildResult.output).containsPattern("""--input \S*[/\\]app[/\\]src[/\\]test[/\\]java""")
|
||||
assertThat(buildResult.output).containsPattern("""--input \S*[/\\]app[/\\]src[/\\]androidTest[/\\]java""")
|
||||
assertThat(buildResult.output).containsPattern("""--input \S*[/\\]app[/\\]src[/\\]test[/\\]kotlin""")
|
||||
assertThat(buildResult.output).containsPattern("""--input \S*[/\\]app[/\\]src[/\\]androidTest[/\\]kotlin""")
|
||||
assertThat(buildResult.output).contains("--report xml:")
|
||||
assertThat(buildResult.output).contains("--report sarif:")
|
||||
assertThat(buildResult.output).doesNotContain("--report txt:")
|
||||
|
||||
Reference in New Issue
Block a user