forked from bndtools/bnd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
83 lines (78 loc) · 2.37 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
/*
* Master Gradle build script
*
* Depends on bndPlugin property set by settings.gradle.
* and bnd_* values from gradle.properties.
*/
import aQute.lib.io.IO
if (JavaVersion.current().isJava9Compatible()) {
ext.java9options = [
'--add-opens=java.base/java.lang=ALL-UNNAMED',
'--add-opens=java.base/java.lang.invoke=ALL-UNNAMED',
'--add-opens=java.base/java.io=ALL-UNNAMED',
'--add-opens=java.base/java.net=ALL-UNNAMED',
'--add-opens=java.base/java.nio=ALL-UNNAMED',
'--add-opens=java.base/java.util=ALL-UNNAMED',
'--add-opens=java.base/java.util.jar=ALL-UNNAMED',
'--add-opens=java.base/java.util.regex=ALL-UNNAMED',
'--add-opens=java.base/java.util.zip=ALL-UNNAMED',
'--add-opens=java.base/sun.nio.ch=ALL-UNNAMED'
]
}
/* Configure the subprojects */
subprojects {
if (plugins.hasPlugin('biz.aQute.bnd')) {
group bnd('-groupid')
version bnd('base.version')
javadoc {
options.tags = [
'Immutable:t:',
'ThreadSafe:t:',
'NotThreadSafe:t:',
'GuardedBy:mf:"Guarded By:"'
]
}
/* test folders are not part of jar but used by unit tests */
def testfolders = ['testresources/', 'testdata/']
jar {
projectDirInputsExcludes.add('.*')
projectDirInputsExcludes.addAll(testfolders)
}
test {
testLogging {
exceptionFormat 'full'
}
if (JavaVersion.current().isJava9Compatible()) {
jvmArgs java9options
environment 'JAVA_OPTS': java9options.join(' ')
}
inputs.files(fileTree(projectDir) {
include testfolders
exclude {
def f = it.file
if (f.directory && f.list().length == 0) {
return true
}
try {
return "git check-ignore ${f}".execute().waitFor() == 0
} catch (Exception e) {
return false
}
}
}).withPropertyName('testFolders')
if (System.properties['maven.repo.local']) {
systemProperty 'maven.repo.local', IO.getFile(gradle.startParameter.currentDir, System.properties['maven.repo.local'])
}
}
}
}
task wrapper(type: Wrapper) {
jarFile = rootProject.file('.gradle-wrapper/gradle-wrapper.jar')
}
task buildscriptDependencies {
doLast {
println "bnd_plugin: ${bnd_plugin}"
println "bnd_repourl: ${bnd_repourl}"
println buildscript.configurations.classpath.asPath
}
}