diff --git a/plugin/src/main/kotlin/io/getstream/android/BaseConfiguration.kt b/plugin/src/main/kotlin/io/getstream/android/BaseConfiguration.kt index a31ec53..79cc72d 100644 --- a/plugin/src/main/kotlin/io/getstream/android/BaseConfiguration.kt +++ b/plugin/src/main/kotlin/io/getstream/android/BaseConfiguration.kt @@ -46,6 +46,10 @@ internal inline fun > Project.co all(Test::configureTestLogging) } } + + // Add Kotlin source directories to Android source sets. Useful, for example, for letting + // them being picked up in Sonar analyses. + sourceSets { all { java.srcDir("src/$name/kotlin") } } } tasks.withType().configureEach { diff --git a/plugin/src/main/kotlin/io/getstream/android/coverage/CoverageConfiguration.kt b/plugin/src/main/kotlin/io/getstream/android/coverage/CoverageConfiguration.kt index 8c9e3d8..6b77a57 100644 --- a/plugin/src/main/kotlin/io/getstream/android/coverage/CoverageConfiguration.kt +++ b/plugin/src/main/kotlin/io/getstream/android/coverage/CoverageConfiguration.kt @@ -85,7 +85,7 @@ private fun Project.configureSonar(extension: StreamProjectExtension) { property( "sonar.coverage.jacoco.xmlReportPaths", layout.buildDirectory - .file("/reports/kover/report${KoverConstants.VARIANT_SUFFIX}.xml") + .file("reports/kover/report${KoverConstants.VARIANT_SUFFIX}.xml") .get(), ) } @@ -103,13 +103,14 @@ private fun Project.setupKoverDependencyOnModules(includedModules: Set) internal fun Project.configureCoverageModule() { val coverageOptions = requireStreamProjectExtension().coverage + pluginManager.apply("org.sonarqube") + // Only configure coverage for included modules if (name !in coverageOptions.includedModules.get()) { + extensions.configure { isSkipProject = true } return } - pluginManager.apply("org.sonarqube") - // Configure Android test coverage if this is an Android module pluginManager.withPlugin("com.android.library") { configureAndroid() } pluginManager.withPlugin("com.android.application") { configureAndroid() }