-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
50 lines (39 loc) · 1.45 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
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '7.2.1' apply false
id 'com.android.library' version '7.2.1' apply false
id 'org.jetbrains.kotlin.android' version '1.6.21' apply false
id 'jacoco'
}
allprojects {
apply plugin: 'jacoco'
}
task clean(type: Delete) {
delete rootProject.buildDir
}
if (hasProperty('buildScan')) {
buildScan {
termsOfServiceUrl = 'https://gradle.com/terms-of-service'
termsOfServiceAgree = 'yes'
}
}
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)
csv.enabled(true)
}
}
task openJacocoFullReport(type: Exec, dependsOn: 'jacocoFullReport') {
group = "Reporting"
commandLine "open", "$project.buildDir/reports/jacoco/jacocoFullReport/html/index.html"
}