-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.common.gradle
123 lines (102 loc) · 2.82 KB
/
build.common.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
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent
apply plugin: "com.github.spotbugs"
apply plugin: "checkstyle"
group = "com.transferwise.common"
ext.artifactoryUser = project.hasProperty("artifactoryUser") ? project.artifactoryUser : System.env.ARTIFACTORY_USER as String
ext.artifactoryPassword = project.hasProperty("artifactoryPassword") ? project.artifactoryPassword : System.env.ARTIFACTORY_PASSWORD as String
repositories {
mavenCentral()
mavenLocal()
}
configurations {
local {
canBeResolved(false)
canBeConsumed(false)
}
compileClasspath {
extendsFrom(local)
}
runtimeClasspath {
extendsFrom(local)
}
testCompileClasspath {
extendsFrom(local)
}
testRuntimeClasspath {
extendsFrom(local)
}
annotationProcessor {
extendsFrom(local)
}
testAnnotationProcessor {
extendsFrom(local)
}
}
dependencies {
local platform("org.springframework.boot:spring-boot-dependencies:${springBootVersion}")
annotationProcessor 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
implementation 'org.projectlombok:lombok'
compileOnly "com.github.spotbugs:spotbugs-annotations:${spotbugs.toolVersion.get()}"
}
java {
if (springBootVersion.startsWith("3.")){
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
else {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
withSourcesJar()
withJavadocJar()
}
compileJava {
options.encoding = 'utf-8'
options.compilerArgs << '-parameters'
options.compilerArgs << '-Xlint'
options.compilerArgs << '-Xlint:-processing'
}
tasks.withType(Checkstyle) {
config = resources.text.fromFile(file('../google_checks.xml'))
maxWarnings = 0
reports {
xml.required = true
html.required = true
}
}
jar {
manifest {
attributes(
"Implementation-Title": projectName,
"Implementation-Version": archiveVersion
)
}
}
test {
useJUnitPlatform()
testLogging {
events TestLogEvent.STARTED, TestLogEvent.FAILED, TestLogEvent.SKIPPED, TestLogEvent.PASSED,
TestLogEvent.STANDARD_ERROR
showExceptions = true
showStackTraces = true
exceptionFormat = TestExceptionFormat.FULL
}
}
tasks.findAll { it.name.startsWith("spotbugs") }*.configure {
effort = "max"
excludeFilter = file('../spotbugs-exclude.xml')
reports {
xml.required = true
html.required = true
}
}
clean.doFirst {
delete "out"
}
yamlValidator {
searchPaths = ['src']
allowDuplicates = false
searchRecursive = true
}