diff --git a/.github/workflows/codecov_code_coverage.yml b/.github/workflows/codecov_code_coverage.yml index e4167d99..4e12253b 100644 --- a/.github/workflows/codecov_code_coverage.yml +++ b/.github/workflows/codecov_code_coverage.yml @@ -22,11 +22,11 @@ jobs: distribution: 'corretto' - name: Run test and generate kover report - run: ./gradlew koverXmlReport + run: ./gradlew koverXmlReportCoverage - name: Upload Test Report uses: codecov/codecov-action@v5 with: name: report - files: build/reports/kover/report.xml + files: build/reports/kover/reportCoverage.xml token: ${{ secrets.CODECOV_TOKEN }} diff --git a/build-logic/plugins/src/main/kotlin/KoverConventionPlugin.kt b/build-logic/plugins/src/main/kotlin/KoverConventionPlugin.kt index f04ab0e6..cb163306 100644 --- a/build-logic/plugins/src/main/kotlin/KoverConventionPlugin.kt +++ b/build-logic/plugins/src/main/kotlin/KoverConventionPlugin.kt @@ -13,7 +13,7 @@ * permissions and limitations under the License. */ -import kotlinx.kover.gradle.plugin.dsl.KoverReportExtension +import kotlinx.kover.gradle.plugin.dsl.KoverProjectExtension import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.configure @@ -25,11 +25,14 @@ class KoverConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { pluginManager.apply("org.jetbrains.kotlinx.kover") - - extensions.configure { - defaults { - // Use the release variant for the default coverage report - mergeWith("release") + extensions.configure { + currentProject { + createVariant("coverage") { + add("release") // Use release variant for generating coverage reports + } + } + reports { + filters.excludes.androidGeneratedClasses() } } } diff --git a/build.gradle.kts b/build.gradle.kts index 3f8e5dd1..69274059 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -22,6 +22,15 @@ tasks.register("clean").configure { delete(rootProject.buildDir) } +kover { + currentProject { + createVariant("coverage") { + // Use a custom variant called "coverage" to generate the merged report. This variant only runs the tests + // for the release variant. + } + } +} + dependencies { // Generate combined coverage report kover(project(":authenticator")) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1cabbbd9..e7fc7a7f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -16,7 +16,7 @@ futures = "1.1.0" junit = "4.13.2" kotest = "5.7.1" kotlin = "1.9.10" -kover = "0.7.2" +kover = "0.9.1" ktlint = "11.0.0" licensee = "1.7.0" lifecycle = "2.4.0"