forked from CalebFenton/simplify
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
132 lines (107 loc) · 3.53 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
apply plugin: 'idea'
version = '1.2.0'
def jarVersion = version
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.6.3'
}
}
apply plugin: 'com.github.kt3k.coveralls'
allprojects {
apply plugin: 'jacoco'
repositories {
mavenLocal()
mavenCentral()
}
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
}
subprojects {
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
group = 'org.cf'
sourceCompatibility = 1.8
version = parent.version
jar {
version = jarVersion
}
ext {
depends = [
commons_lang : 'org.apache.commons:commons-lang3:3.6',
findbugs : 'com.google.code.findbugs:jsr305:3.0.1',
guava : 'com.google.guava:guava:22.0',
junit : 'junit:junit:4.12',
mockito : 'org.mockito:mockito-core:1.10.19',
perfidix : 'org.perfidix:perfidix:3.6.9',
proguard_gradle: 'net.sf.proguard:proguard-gradle:5.2.1',
slf4j_api : 'org.slf4j:slf4j-api:1.7.21',
slf4j_nop : 'org.slf4j:slf4j-nop:1.7.21',
trove4j : 'net.sf.trove4j:trove4j:3.0.3',
]
}
if (project.name != "demoapp") {
jacocoTestReport {
reports {
html.enabled = true
xml.enabled = true
csv.enabled = false
}
}
}
tasks.withType(JavaCompile) {
options.fork = true
//options.incremental = true
}
tasks.withType(Test) {
maxParallelForks = Runtime.runtime.availableProcessors() / 2
minHeapSize = '128m'
}
}
// Exclude demoapp from Coveralls reporting
def reportProjects = subprojects - project(':demoapp')
task jacocoRootReport(type: JacocoReport, group: 'Coverage reports') {
description = 'Generates an aggregate report from all subprojects'
dependsOn(reportProjects.test)
sourceDirectories = files(reportProjects.sourceSets.main.allJava.srcDirs)
classDirectories = files(reportProjects.sourceSets.main.output.classesDirs)
executionData = files(reportProjects.jacocoTestReport.executionData)
reports {
html.enabled = true
xml.enabled = true
csv.enabled = false
}
doFirst {
executionData = files(executionData.findAll { it.exists() })
}
}
coveralls {
sourceDirs = reportProjects.sourceSets.main.allJava.srcDirs.flatten()
jacocoReportPath = "${buildDir}/reports/jacoco/jacocoRootReport/jacocoRootReport.xml"
}
if (System.env.TRAVIS == 'true') {
allprojects {
tasks.withType(Test) {
testLogging {
// Print out test status to make it easier to debug problematic builds.
events "started", "passed", "skipped", "failed"
}
/*
* Tests are memory intensive and TravisCI only has 3-4 GB available. If we go over, test fails.
* Gradle creates a lot of forks, so keep fork min heap size low.
* Also, fork frequently to get a fresh heap in case of memory leaks.
* Using larger values doesn't seem to improve test performance.
*/
maxParallelForks = 2
minHeapSize = '64m'
forkEvery = 10
}
}
}