forked from testcontainers/testcontainers-java
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
107 lines (89 loc) · 2.83 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
buildscript {
repositories {
mavenCentral()
}
dependencies {
// https://github.com/melix/japicmp-gradle-plugin/issues/36
classpath 'com.google.guava:guava:30.1.1-jre'
}
}
plugins {
id 'io.franzbecker.gradle-lombok' version '4.0.0'
id 'com.github.johnrengelman.shadow' version '7.0.0'
id 'me.champeau.gradle.japicmp' version '0.2.9' apply false
}
apply from: "$rootDir/gradle/ci-support.gradle"
subprojects {
apply plugin: 'java-library'
apply plugin: 'idea'
apply plugin: 'io.franzbecker.gradle-lombok'
apply from: "$rootDir/gradle/shading.gradle"
group = "org.testcontainers"
sourceCompatibility = 1.8
targetCompatibility = 1.8
compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'
repositories {
mavenCentral()
}
configurations {
provided
api.extendsFrom(provided)
}
lombok {
version = '1.18.20'
}
task delombok(type: io.franzbecker.gradle.lombok.task.DelombokTask) {
def outputDir = file("$buildDir/delombok")
outputs.dir(outputDir)
for (srcDir in project.sourceSets.main.java.srcDirs) {
inputs.dir(srcDir)
args(srcDir, "-d", outputDir)
}
}
delombok.onlyIf {
project.sourceSets.main.java.srcDirs.find { it.exists() }
}
// specific modules should be excluded from publication
if ( ! ["test-support", "jdbc-test"].contains(it.name) && !it.path.startsWith(":docs:") && it != project(":docs") ) {
apply from: "$rootDir/gradle/publishing.gradle"
if (it.name != "bom") {
apply plugin: "me.champeau.gradle.japicmp"
tasks.register('japicmp', me.champeau.gradle.japicmp.JapicmpTask)
apply from: "$rootDir/gradle/japicmp.gradle"
}
}
test {
defaultCharacterEncoding = "UTF-8"
testLogging {
displayGranularity 1
showStackTraces = true
exceptionFormat = 'full'
events "STARTED", "PASSED", "FAILED", "SKIPPED"
}
}
tasks.withType(Test).all {
reports {
junitXml.outputPerTestCase = true
}
}
// Ensure that Javadoc generation is always tested
check.dependsOn(javadoc)
def postCheckCommand = properties["postCheckCommand"]
if (postCheckCommand) {
check.finalizedBy(tasks.create("postCheckExec", Exec) {
if (org.gradle.internal.os.OperatingSystem.current().isWindows()) {
commandLine('cmd', '/c', postCheckCommand)
} else {
commandLine('sh', '-c', postCheckCommand)
}
})
}
javadoc {
dependsOn delombok
source = delombok.outputs
}
dependencies {
testImplementation 'ch.qos.logback:logback-classic:1.2.3'
}
}