-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
63 lines (50 loc) · 1.62 KB
/
build.gradle
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
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = "1.4.0"
ext.jacoco_version = "0.8.5"
repositories {
google()
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:4.0.1"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
apply plugin: 'jacoco'
jacoco {
toolVersion = jacoco_version
}
task jacocoFullReport(type: JacocoReport, group: 'Coverage reports') {
group = 'Verification'
description = 'Generate Jacoco aggregate report for all modules'
def projects = subprojects.findAll { it.getTasksByName("jacocoTestReport", false) }
//noinspection GrUnresolvedAccess
dependsOn(projects.jacocoTestReport)
final source = files(projects.jacocoTestReport.sourceDirectories)
additionalSourceDirs.setFrom source
sourceDirectories.setFrom source
classDirectories.setFrom files(projects.jacocoTestReport.classDirectories)
executionData.setFrom files(projects.jacocoTestReport.executionData)
reports {
html {
enabled true
destination file("${buildDir}/reports/jacoco/html")
}
}
doFirst {
//noinspection GroovyAssignabilityCheck
executionData.setFrom files(executionData.findAll { it.exists() })
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}