Skip to content

Commit 0abf70d

Browse files
authored
Merge pull request #501 from nimblehq/chore/470-update-kover-to-0.7.0
[#470] Migrate to Kover 0.7.0
2 parents 89649db + f8fe485 commit 0abf70d

33 files changed

+250
-284
lines changed

.cicdtemplate/.bitrise/bitrise.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ workflows:
4949
# Execute UnitTest
5050
- android-unit-test@1:
5151
inputs:
52-
- arguments: koverMergedHtmlReport
52+
- arguments: koverHtmlReport
5353
- variant: "$VARIANT"
5454
- module: "$MODULE"
5555
- report_path_pattern: '*build/reports'
@@ -61,7 +61,7 @@ workflows:
6161
# Upload Kover report to Apps & Artifacts for later downloading
6262
- deploy-to-bitrise-io@1:
6363
inputs:
64-
- deploy_path: "$PROJECT_LOCATION/build/reports/kover/merged/html/index.html"
64+
- deploy_path: "$PROJECT_LOCATION/app/build/reports/kover/html/index.html"
6565
- is_enable_public_page: 'false'
6666
- is_compress: 'true'
6767
- notify_user_groups: none

.cicdtemplate/.codemagic/codemagic.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ definitions:
1515
script: ./gradlew detekt
1616
- &unit_test
1717
name: Run unit tests
18-
script: ./gradlew koverMergedReport
18+
script: ./gradlew koverHtmlReport
1919
artifacts:
20-
- &artifacts_test_report build/reports/kover/merged/
20+
- &artifacts_test_report app/build/reports/kover/
2121
- &artifacts_staging_apk app/build/outputs/apk/staging/debug/app-staging-debug.apk
2222
- &artifacts_production_apk app/build/outputs/apk/production/debug/app-production-debug.apk
2323
workflows:

.cicdtemplate/.github/workflows/deploy_staging_and_production_to_firebase_app_distribution.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,13 @@ jobs:
4848
path: build/reports/detekt/
4949

5050
- name: Run unit tests with Kover
51-
run: ./gradlew koverMergedHtmlReport
51+
run: ./gradlew koverHtmlReport
5252

5353
- name: Archive code coverage reports
5454
uses: actions/upload-artifact@v2
5555
with:
5656
name: CodeCoverageReports
57-
path: build/reports/kover/merged/
57+
path: app/build/reports/kover/
5858

5959
- name: Build staging APK
6060
run: ./gradlew assembleStagingDebug

.cicdtemplate/.github/workflows/review_pull_request.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
run: ./gradlew lint
3838

3939
- name: Run unit tests with Kover
40-
run: ./gradlew koverMergedXmlReport
40+
run: ./gradlew koverXmlReport
4141

4242
- name: Set up Ruby
4343
uses: ruby/setup-ruby@v1

.cicdtemplate/.github/workflows/run_detekt_and_unit_tests.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,11 @@ jobs:
5151
path: build/reports/detekt/
5252

5353
- name: Run unit tests with Kover
54-
run: ./gradlew koverMergedHtmlReport
54+
run: ./gradlew koverHtmlReport
5555

5656
- name: Archive code coverage reports
5757
uses: actions/upload-artifact@v2
5858
if: always()
5959
with:
6060
name: CodeCoverageReports
61-
path: build/reports/kover/merged/
61+
path: app/build/reports/kover/

.github/workflows/review_pull_request.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343

4444
- name: Run unit tests with Kover on template-xml
4545
working-directory: ./template-xml
46-
run: ./gradlew koverMergedXmlReport
46+
run: ./gradlew koverXmlReport
4747

4848
# template-compose
4949

@@ -57,7 +57,7 @@ jobs:
5757

5858
- name: Run unit tests with Kover on template-compose
5959
working-directory: ./template-compose
60-
run: ./gradlew koverMergedXmlReport
60+
run: ./gradlew koverXmlReport
6161

6262
- name: Set up Ruby
6363
uses: ruby/setup-ruby@v1

.github/workflows/run_detekt_and_unit_tests.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@ jobs:
4242

4343
- name: Run unit tests with Kover on template-xml
4444
working-directory: ./template-xml
45-
run: ./gradlew koverMergedHtmlReport
45+
run: ./gradlew koverHtmlReport
4646

4747
- name: Archive code coverage reports on template-xml
4848
uses: actions/upload-artifact@v2
4949
with:
5050
name: CodeCoverageReportsTemplateXML
51-
path: template-xml/build/reports/kover/merged/
51+
path: template-xml/app/build/reports/kover/
5252

5353
# template-compose
5454

@@ -64,13 +64,13 @@ jobs:
6464

6565
- name: Run unit tests with Kover on template-compose
6666
working-directory: ./template-compose
67-
run: ./gradlew koverMergedHtmlReport
67+
run: ./gradlew koverHtmlReport
6868

6969
- name: Archive code coverage reports on template-compose
7070
uses: actions/upload-artifact@v2
7171
with:
7272
name: CodeCoverageReportsTemplateCompose
73-
path: template-compose/build/reports/kover/merged/
73+
path: template-compose/app/build/reports/kover/
7474

7575
# sample-xml
7676

@@ -86,13 +86,13 @@ jobs:
8686

8787
- name: Run unit tests with Kover on sample-xml
8888
working-directory: ./sample-xml
89-
run: ./gradlew koverMergedHtmlReport
89+
run: ./gradlew koverHtmlReport
9090

9191
- name: Archive code coverage reports on sample-xml
9292
uses: actions/upload-artifact@v2
9393
with:
9494
name: CodeCoverageReportsTemplateXML
95-
path: sample-xml/build/reports/kover/merged/
95+
path: sample-xml/app/build/reports/kover/
9696

9797
# sample-compose
9898

@@ -108,10 +108,10 @@ jobs:
108108

109109
- name: Run unit tests with Kover on sample-compose
110110
working-directory: ./sample-compose
111-
run: ./gradlew koverMergedHtmlReport
111+
run: ./gradlew koverHtmlReport
112112

113113
- name: Archive code coverage reports on sample-compose
114114
uses: actions/upload-artifact@v2
115115
with:
116116
name: CodeCoverageReportsTemplateCompose
117-
path: sample-compose/build/reports/kover/merged/
117+
path: sample-compose/app/build/reports/kover/

Dangerfile

+3-3
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ end
3131

3232
# Show Danger test coverage report from Kover for templates
3333
# Report coverage of modified files, warn if total project coverage is under 80%
34-
# or if any modified file's coverage is under 90%
35-
kover_file_template_xml = "template-xml/build/reports/kover/merged/xml/report.xml"
34+
# or if any modified file's coverage is under 95%
35+
kover_file_template_xml = "template-xml/app/build/reports/kover/report.xml"
3636
markdown "## Kover report for template-xml:"
3737
shroud.reportKover "Template - XML Unit Tests", kover_file_template_xml, 80, 95, false
3838

39-
kover_file_template_compose = "template-compose/build/reports/kover/merged/xml/report.xml"
39+
kover_file_template_compose = "template-compose/app/build/reports/kover/report.xml"
4040
markdown "## Kover report for template-compose:"
4141
shroud.reportKover "Template - Compose Unit Tests", kover_file_template_compose, 80, 95, false

codemagic.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ definitions:
2121
- &unit_test_on_template_compose
2222
name: Run unit tests on template-compose
2323
working_directory: ./template-compose
24-
script: ./gradlew koverMergedReport
24+
script: ./gradlew koverHtmlReport
2525
- &unit_test_on_template_xml
2626
name: Run unit tests on template-xml
2727
working_directory: ./template-xml
28-
script: ./gradlew koverMergedReport
28+
script: ./gradlew koverHtmlReport
2929
artifacts:
30-
- &artifacts_template_compose template-compose/build/reports/kover/merged/
31-
- &artifacts_template_xml template-xml/build/reports/kover/merged/
30+
- &artifacts_template_compose template-compose/app/build/reports/kover/
31+
- &artifacts_template_xml template-xml/app/build/reports/kover/
3232
- &artifacts_staging_apk template-compose/app/build/outputs/apk/staging/debug/app-staging-debug.apk
3333
- &artifacts_production_apk template-compose/app/build/outputs/apk/production/debug/app-production-debug.apk
3434
workflows:

sample-compose/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ $ ./gradlew domain:test
3838
- Run unit testing with coverage:
3939

4040
```
41-
$ ./gradlew koverMergedHtmlReport
41+
$ ./gradlew koverHtmlReport
4242
```
4343

44-
Report is located at: `./build/reports/kover/merged/`
44+
Report is located at: `app/build/reports/kover/`
4545

4646
## Build and deploy
4747

sample-compose/app/build.gradle.kts

+42-8
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ plugins {
77

88
id("dagger.hilt.android.plugin")
99

10-
id("kover")
10+
id("org.jetbrains.kotlinx.kover")
1111
}
1212

1313
val keystoreProperties = rootDir.loadGradleProperties("signing.properties")
@@ -106,13 +106,6 @@ android {
106106
// Robolectric resource processing/loading https://github.com/robolectric/robolectric/pull/4736
107107
isIncludeAndroidResources = true
108108
}
109-
unitTests.all {
110-
if (it.name != "testStagingDebugUnitTest") {
111-
it.extensions.configure(kotlinx.kover.api.KoverTaskExtension::class) {
112-
isDisabled.set(true)
113-
}
114-
}
115-
}
116109
// Disable device's animation for instrument testing
117110
// animationsDisabled = true
118111
}
@@ -177,3 +170,44 @@ dependencies {
177170
androidTestImplementation("androidx.test:rules:${Versions.TEST_RULES_VERSION}")
178171
androidTestImplementation("io.mockk:mockk-android:${Versions.TEST_MOCKK_VERSION}")
179172
}
173+
174+
/*
175+
* Kover configs
176+
*/
177+
dependencies {
178+
kover(project(":data"))
179+
kover(project(":domain"))
180+
}
181+
182+
koverReport {
183+
defaults {
184+
mergeWith("stagingDebug")
185+
filters {
186+
val excludedFiles = listOf(
187+
"*.BuildConfig.*",
188+
"*.BuildConfig",
189+
// Enum
190+
"*.*\$Creator*",
191+
// DI
192+
"*.di.*",
193+
// Hilt
194+
"*.*_ComponentTreeDeps*",
195+
"*.*_HiltComponents*",
196+
"*.*_HiltModules*",
197+
"*.*_MembersInjector*",
198+
"*.*_Factory*",
199+
"*.Hilt_*",
200+
"dagger.hilt.internal.*",
201+
"hilt_aggregated_deps.*",
202+
// Jetpack Compose
203+
"*.ComposableSingletons*",
204+
"*.*\$*Preview\$*",
205+
"*.ui.preview.*",
206+
)
207+
208+
excludes {
209+
classes(excludedFiles)
210+
}
211+
}
212+
}
213+
}

sample-compose/build.gradle.kts

-32
Original file line numberDiff line numberDiff line change
@@ -63,35 +63,3 @@ detekt {
6363
ignoredFlavors = listOf("production")
6464

6565
}
66-
67-
koverMerged {
68-
enable()
69-
70-
val excludedFiles = listOf(
71-
"*.BuildConfig.*",
72-
"*.BuildConfig",
73-
// Enum
74-
"*.*\$Creator*",
75-
// DI
76-
"*.di.*",
77-
// Hilt
78-
"*.*_ComponentTreeDeps*",
79-
"*.*_HiltComponents*",
80-
"*.*_HiltModules*",
81-
"*.*_MembersInjector*",
82-
"*.*_Factory*",
83-
"*.Hilt_*",
84-
"dagger.hilt.internal.*",
85-
"hilt_aggregated_deps.*",
86-
// Jetpack Compose
87-
"*.ComposableSingletons*",
88-
"*.*\$*Preview\$*",
89-
"*.ui.preview.*",
90-
)
91-
92-
filters {
93-
classes {
94-
excludes += excludedFiles
95-
}
96-
}
97-
}

sample-compose/buildSrc/src/main/java/Versions.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ object Versions {
2828

2929
const val KOTLIN_VERSION = "1.8.21"
3030
const val KOTLINX_COROUTINES_VERSION = "1.7.1"
31-
const val KOVER_VERSION = "0.6.0"
31+
const val KOVER_VERSION = "0.7.3"
3232

3333
const val MOSHI_VERSION = "1.12.0"
3434

sample-compose/data/build.gradle.kts

+1-11
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ plugins {
22
id("com.android.library")
33
id("kotlin-android")
44

5-
id("kover")
5+
id("org.jetbrains.kotlinx.kover")
66
}
77

88
android {
@@ -41,16 +41,6 @@ android {
4141
xmlReport = true
4242
xmlOutput = file("build/reports/lint/lint-result.xml")
4343
}
44-
45-
testOptions {
46-
unitTests.all {
47-
if (it.name != "testDebugUnitTest") {
48-
it.extensions.configure(kotlinx.kover.api.KoverTaskExtension::class) {
49-
isDisabled.set(true)
50-
}
51-
}
52-
}
53-
}
5444
}
5545

5646
dependencies {

sample-compose/domain/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ plugins {
22
id("java-library")
33
id("kotlin")
44

5-
id("kover")
5+
id("org.jetbrains.kotlinx.kover")
66
}
77

88
java {

sample-xml/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ $ ./gradlew domain:test
3838
- Run unit testing with coverage:
3939

4040
```
41-
$ ./gradlew koverMergedHtmlReport
41+
$ ./gradlew koverHtmlReport
4242
```
4343

44-
Report is located at: `./build/reports/kover/merged/`
44+
Report is located at: `app/build/reports/kover/`
4545

4646
## Build and deploy
4747

0 commit comments

Comments
 (0)