diff --git a/build.gradle.kts b/build.gradle.kts index 5c59f31f4..3f0952609 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,6 +8,7 @@ plugins { id("com.android.library") apply false alias(libs.plugins.nexus.publish) alias(libs.plugins.dokka) + alias(libs.plugins.kover) } group = "io.embrace" diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 895d96355..26674e811 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -19,7 +19,6 @@ dependencies { implementation(libs.agp) implementation(libs.detekt.gradle.plugin) implementation(libs.binary.compatibility.validator) - implementation(libs.kover.gradle.plugin) } gradlePlugin { diff --git a/buildSrc/src/main/kotlin/io/embrace/internal/ProductionModuleConfig.kt b/buildSrc/src/main/kotlin/io/embrace/internal/ProductionModuleConfig.kt index 9d71d0507..30b38962b 100644 --- a/buildSrc/src/main/kotlin/io/embrace/internal/ProductionModuleConfig.kt +++ b/buildSrc/src/main/kotlin/io/embrace/internal/ProductionModuleConfig.kt @@ -72,8 +72,6 @@ fun Project.configureProductionModule( add("androidTestImplementation", findLibrary("androidx.test.core")) add("androidTestImplementation", findLibrary("androidx.test.runner")) add("androidTestUtil", findLibrary("androidx.test.orchestrator")) - - add("kover", project) } project.afterEvaluate { diff --git a/embrace-android-sdk/build.gradle.kts b/embrace-android-sdk/build.gradle.kts index a7f55729d..b4b1095d7 100644 --- a/embrace-android-sdk/build.gradle.kts +++ b/embrace-android-sdk/build.gradle.kts @@ -1,3 +1,5 @@ +import io.embrace.internal.EmbraceBuildLogicExtension + plugins { id("com.android.library") id("kotlin-android") @@ -43,6 +45,23 @@ kover { } } +val codeCoverageModules = listOf( // FIXME: future: add gradle plugin to code coverage + ":embrace-android-api", + ":embrace-internal-api", + ":embrace-android-sdk", + ":embrace-android-core", + ":embrace-android-infra", + ":embrace-android-features", + ":embrace-android-payload", + ":embrace-android-delivery", + ":embrace-android-okhttp3", + ":embrace-android-fcm", + ":embrace-android-compose", +) +codeCoverageModules.forEach { projectName -> + dependencies.add("kover", project(projectName)) +} + dependencies { api(project(":embrace-android-api")) implementation(project(":embrace-android-infra")) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3bfed21af..ca87a9d52 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -44,7 +44,6 @@ binary-compatibility-validator = { module = "org.jetbrains.kotlinx:binary-compat detekt-gradle-plugin = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detektGradlePlugin" } agp = { module = "com.android.tools.build:gradle", version.ref = "agp" } kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlinGradlePlugin" } -kover-gradle-plugin = { module = "org.jetbrains.kotlinx:kover-gradle-plugin", version.ref = "koverGradlePlugin" } lifecycle-runtime = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle" } lifecycle-compiler = { group = "androidx.lifecycle", name = "lifecycle-compiler", version.ref = "lifecycle" } lifecycle-process = { group = "androidx.lifecycle", name = "lifecycle-process", version.ref = "lifecycle" } @@ -93,3 +92,4 @@ dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } buildconfig = { id = "com.github.gmazzo.buildconfig", version.ref = "buildconfig" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } +kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "koverGradlePlugin" }