diff --git a/app-android/build.gradle.kts b/app-android/build.gradle.kts index 1a0f3e1a4..c0305b35c 100644 --- a/app-android/build.gradle.kts +++ b/app-android/build.gradle.kts @@ -9,6 +9,7 @@ plugins { id("droidkaigi.primitive.android.firebase") id("droidkaigi.primitive.spotless") id("droidkaigi.primitive.android.roborazzi") + id("droidkaigi.primitive.kover") } val keystorePropertiesFile = file("keystore.properties") diff --git a/app-ios-shared/build.gradle.kts b/app-ios-shared/build.gradle.kts index 27119fb1d..5c4115599 100644 --- a/app-ios-shared/build.gradle.kts +++ b/app-ios-shared/build.gradle.kts @@ -5,6 +5,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XCFramework plugins { id("droidkaigi.primitive.kmp") id("droidkaigi.primitive.kmp.ios") + id("droidkaigi.primitive.kover") } kotlin { diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts index 2ca1acbbe..c8df65680 100644 --- a/build-logic/build.gradle.kts +++ b/build-logic/build.gradle.kts @@ -96,6 +96,10 @@ gradlePlugin { id = "droidkaigi.primitive.spotless" implementationClass = "io.github.droidkaigi.confsched2023.primitive.SpotlessPlugin" } + register("kover") { + id = "droidkaigi.primitive.kover" + implementationClass = "io.github.droidkaigi.confsched2023.primitive.KoverPlugin" + } // Conventions register("androidFeature") { diff --git a/build-logic/src/main/kotlin/io/github/droidkaigi/confsched2023/convention/AndroidFeaturePlugin.kt b/build-logic/src/main/kotlin/io/github/droidkaigi/confsched2023/convention/AndroidFeaturePlugin.kt index ef2c015a9..7ed2ac9c5 100644 --- a/build-logic/src/main/kotlin/io/github/droidkaigi/confsched2023/convention/AndroidFeaturePlugin.kt +++ b/build-logic/src/main/kotlin/io/github/droidkaigi/confsched2023/convention/AndroidFeaturePlugin.kt @@ -13,6 +13,7 @@ class AndroidFeaturePlugin : Plugin { apply("droidkaigi.primitive.android.hilt") apply("droidkaigi.primitive.android.roborazzi") apply("droidkaigi.primitive.spotless") + apply("droidkaigi.primitive.kover") } } } diff --git a/build-logic/src/main/kotlin/io/github/droidkaigi/confsched2023/primitive/KoverPlugin.kt b/build-logic/src/main/kotlin/io/github/droidkaigi/confsched2023/primitive/KoverPlugin.kt new file mode 100644 index 000000000..bce450344 --- /dev/null +++ b/build-logic/src/main/kotlin/io/github/droidkaigi/confsched2023/primitive/KoverPlugin.kt @@ -0,0 +1,12 @@ +package io.github.droidkaigi.confsched2023.primitive + +import org.gradle.api.Plugin +import org.gradle.api.Project + +class KoverPlugin : Plugin { + override fun apply(target: Project) { + with (target) { + pluginManager.apply("org.jetbrains.kotlinx.kover") + } + } +} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index b1d4170b2..8c97fa717 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,6 +4,7 @@ plugins { alias(libs.plugins.androidGradlePlugin) apply false alias(libs.plugins.androidGradleLibraryPlugin) apply false alias(libs.plugins.kotlinGradlePlugin) apply false + alias(libs.plugins.kotlinxKover) apply false } tasks.register("clean", Delete::class) { diff --git a/core/common/build.gradle.kts b/core/common/build.gradle.kts index 6397bc89a..d426f267f 100644 --- a/core/common/build.gradle.kts +++ b/core/common/build.gradle.kts @@ -4,6 +4,7 @@ plugins { id("droidkaigi.primitive.kmp.ios") id("droidkaigi.primitive.kmp.android.hilt") id("droidkaigi.primitive.spotless") + id("droidkaigi.primitive.kover") } android.namespace = "io.github.droidkaigi.confsched2023.core.common" diff --git a/core/data/build.gradle.kts b/core/data/build.gradle.kts index 1d08db8fd..f1168d78b 100644 --- a/core/data/build.gradle.kts +++ b/core/data/build.gradle.kts @@ -6,6 +6,7 @@ plugins { id("droidkaigi.primitive.spotless") id("droidkaigi.primitive.kmp.ktorfit") id("droidkaigi.primitive.kmp.serialization") + id("droidkaigi.primitive.kover") } android.namespace = "io.github.droidkaigi.confsched2023.core.data" diff --git a/core/designsystem/build.gradle.kts b/core/designsystem/build.gradle.kts index eab0dd9b7..c7d1f10ae 100644 --- a/core/designsystem/build.gradle.kts +++ b/core/designsystem/build.gradle.kts @@ -6,6 +6,7 @@ plugins { id("droidkaigi.primitive.kmp.android.hilt") id("droidkaigi.primitive.spotless") id("droidkaigi.primitive.kmp.android.showkase") + id("droidkaigi.primitive.kover") } android.namespace = "io.github.droidkaigi.confsched2023.core.designsystem" diff --git a/core/model/build.gradle.kts b/core/model/build.gradle.kts index 562cc8442..e6caa1b51 100644 --- a/core/model/build.gradle.kts +++ b/core/model/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("droidkaigi.primitive.kmp.android") id("droidkaigi.primitive.kmp.ios") id("droidkaigi.primitive.spotless") + id("droidkaigi.primitive.kover") } android.namespace = "io.github.droidkaigi.confsched2023.core.model" diff --git a/core/testing/build.gradle.kts b/core/testing/build.gradle.kts index 8709c5aba..a363bb4b0 100644 --- a/core/testing/build.gradle.kts +++ b/core/testing/build.gradle.kts @@ -4,6 +4,7 @@ plugins { id("droidkaigi.primitive.android.compose") id("droidkaigi.primitive.android.hilt") id("droidkaigi.primitive.spotless") + id("droidkaigi.primitive.kover") } android.namespace = "io.github.droidkaigi.confsched2023.core.testing" diff --git a/core/ui/build.gradle.kts b/core/ui/build.gradle.kts index cf801bd5d..bd6131737 100644 --- a/core/ui/build.gradle.kts +++ b/core/ui/build.gradle.kts @@ -5,6 +5,7 @@ plugins { id("droidkaigi.primitive.kmp.compose") id("droidkaigi.primitive.kmp.android.hilt") id("droidkaigi.primitive.spotless") + id("droidkaigi.primitive.kover") } android.namespace = "io.github.droidkaigi.confsched2023.core.ui" diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1322c74e6..d024e3568 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -128,6 +128,7 @@ kotlinGradlePlugin = { id = "org.jetbrains.kotlin.android", version.ref = "kotli hiltGradlePlugin = { id = "com.google.dagger.hilt.android", version.ref = "dagger" } roborazziGradlePlugin = { id = "io.github.takahirom.roborazzi", version.ref = "roborazzi" } kspGradlePlugin = { id = "com.google.devtools.ksp", version.ref = "ksp" } +kotlinxKover = { id = "org.jetbrains.kotlinx.kover", version = "0.7.3" } [bundles] plugins = [