From 9f28f692cb4507dfae4144a6b7cb7c0248aafebf Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Mon, 5 Dec 2022 11:56:28 +0800 Subject: [PATCH] Add Jacoco coverage report task for SpaLib Bug: 260441791 Test: Gradle Sync Test: Generate Jacoco coverage report Change-Id: I31259be00ec52defff6a2dbe55724cd05757f417 --- packages/SettingsLib/Spa/tests/build.gradle | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/SettingsLib/Spa/tests/build.gradle b/packages/SettingsLib/Spa/tests/build.gradle index 59718951e3817..c4a17d8c8920d 100644 --- a/packages/SettingsLib/Spa/tests/build.gradle +++ b/packages/SettingsLib/Spa/tests/build.gradle @@ -56,6 +56,11 @@ android { composeOptions { kotlinCompilerExtensionVersion jetpack_compose_compiler_version } + buildTypes { + debug { + testCoverageEnabled = true + } + } } dependencies { @@ -63,3 +68,15 @@ dependencies { androidTestImplementation project(":testutils") androidTestImplementation "com.linkedin.dexmaker:dexmaker-mockito:2.28.1" } + +task coverageReport(type: JacocoReport, dependsOn: "connectedDebugAndroidTest") { + group = "Reporting" + description = "Generate Jacoco coverage reports after running tests." + + sourceDirectories.from = files("../spa/src") + classDirectories.from = fileTree( + dir: "../spa/build/tmp/kotlin-classes/debug", + excludes: ["com/android/settingslib/spa/debug/**"], + ) + executionData.from = fileTree(dir: "$buildDir/outputs/code_coverage/debugAndroidTest/connected") +}