-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.gradle.kts
71 lines (67 loc) · 1.96 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
buildscript {
repositories {
google()
mavenCentral()
}
}
plugins {
jacoco
alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.firebase.crashlytics) apply false
alias(libs.plugins.oss.licenses) apply false
alias(libs.plugins.gms) apply false
alias(libs.plugins.hilt) apply false
alias(libs.plugins.kotlin.kapt) apply false
alias(libs.plugins.kotlin.serialization) apply false
alias(libs.plugins.ksp) apply false
alias(libs.plugins.secrets) apply false
}
tasks.create<Delete>("clean") {
delete(rootProject.buildDir)
}
tasks.create<JacocoReport>("mergeJacoco") {
gradle.afterProject {
if (project.rootProject != project &&
(project.plugins.hasPlugin("multicolorpicker.android.application.jacoco") ||
project.plugins.hasPlugin("multicolorpicker.android.library.jacoco")
)
) {
executionData.from.add(fileTree("${project.buildDir}/jacoco"))
sourceDirectories.from.add(files("$projectDir/src/main/java", "$projectDir/src/main/kotlin"))
classDirectories.from.add(
fileTree("${project.buildDir}/tmp/kotlin-classes/debug") {
exclude(coverageExclusions)
},
)
}
}
reports {
html.required.set(true)
xml.required.set(true)
}
}
private val coverageExclusions = listOf(
"**/R.class",
"**/R\$*.class",
"**/*Fake*.*",
"**/*Preview*.*",
"**/BuildConfig.*",
"**/*Manifest*.*",
"**/*Test*.*",
"**/*Hilt*.*",
"**/*Factory*.*",
"**/*Module*.*",
"**/*Key*.*",
"**/*Screen*.*",
"**/*Content*.*",
"**/*Dialog*.*",
"**/*Drawer*.*",
"**/*Navigation*.*",
"**/*GoogleAd*.*",
"**/*ReviewManager*.*",
"**/*MainActivity*.*",
"**/ui/feature/common/**",
"**/ui/feature/theme/**",
"**/core/data/default/**",
)