forked from bndtools/bnd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
73 lines (66 loc) · 1.88 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
/*
* Master Gradle build script
*
* Depends on bndPlugin property set by settings.gradle.
* and bnd_* values from gradle.properties.
*/
import aQute.bnd.build.Workspace
import aQute.bnd.osgi.Constants
/* Add bnd gradle plugin as a script dependency */
buildscript {
dependencies {
classpath bndPlugin
}
}
/* Initialize the bnd workspace */
Workspace.setDriver(Constants.BNDDRIVER_GRADLE)
Workspace.addGestalt(Constants.GESTALT_BATCH, null)
ext.bndWorkspace = new Workspace(rootDir, bnd_cnf)
if (bndWorkspace == null) {
throw new GradleException("Unable to load workspace ${rootDir}/${bnd_cnf}")
}
ext.cnf = rootProject.project(bnd_cnf)
/* Configure the subprojects */
subprojects {
def bndProject = bndWorkspace.getProject(name)
if (bndProject != null) {
plugins.apply 'biz.aQute.bnd'
group bnd('-groupid')
version bnd('base.version')
/* Turn off javadoc 8 overly pedantic lint checking */
if (JavaVersion.current().isJava8Compatible()) {
javadoc.options.addStringOption('Xdoclint:none', '-quiet')
}
/* test folders are not part of jar but used by unit tests */
def testfolders = ['testresources/', 'testdata/']
jar {
projectDirInputsExcludes << '.*'
projectDirInputsExcludes += testfolders
}
test {
testLogging {
exceptionFormat 'full'
}
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
}
}
}
}
}
}
task wrapper(type: Wrapper) {
jarFile = rootProject.file('.gradle-wrapper/gradle-wrapper.jar')
}
task buildscriptDependencies << {
println buildscript.configurations.classpath.asPath
}