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
|
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
import org.gradle.util.GradleVersion
subprojects {
project.ext.topSrcDir = "$rootProject.projectDir/.."
project.version = iceVersion
project.group = "com.zeroc"
apply plugin: 'java'
apply plugin: 'idea'
apply from: "$rootProject.projectDir/gradle/ice.gradle"
repositories {
if(this.devRepo) {
maven {
url this.devRepo
}
}
if(new File("/usr/share/maven-repo").exists()) {
maven {
url "/usr/share/maven-repo"
}
}
mavenCentral()
}
// Only enable infer module path with Java 9 and up
if(GradleVersion.current() >= GradleVersion.version('6.4')) {
java {
modularity.inferModulePath = targetJavaRelease.toInteger() > 8
}
}
jar {
manifest {
attributes("Built-By": "ZeroC, Inc.")
}
}
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:-options"
options.encoding = "UTF-8"
options.deprecation = true
}
idea.module {
excludeDirs -= file(buildDir)
buildDir.listFiles({d, f ->f != 'generated-src'} as FilenameFilter).each { excludeDirs += it }
}
}
if(!System.env.ICE_BIN_DIST?.split(" ").find{ it == 'all' || it.contains('java')}) {
def exportedProjects = [
":glacier2",
":ice",
":icebox",
":icebt",
":icegrid",
":icepatch2",
":icessl",
":icestorm"
]
task alljavadoc(type: Javadoc) {
// We rely on Java9+ javadoc features
enabled = JavaVersion.current() > JavaVersion.VERSION_1_8
exclude "**/module-info.java"
source exportedProjects.collect { project(it).javadoc.source }
classpath = files(exportedProjects.collect { project(it).javadoc.classpath })
destinationDir = file("${buildDir}/docs/javadoc")
if(GradleVersion.current() >= GradleVersion.version('4.7') &&
JavaVersion.current() > JavaVersion.VERSION_1_10 && JavaVersion.current() <= JavaVersion.VERSION_11) {
// --no-module-directories is an undocumented option required for the generated search to work properly.
// Without this option, search returns ../undefined/... URLs.
//
// This option was removed on JDK 13 https://bugs.openjdk.java.net/browse/JDK-8215582
//
options.addBooleanOption('-no-module-directories', true)
}
options.addBooleanOption('html5', true)
options.header = 'Ice for Java'
options.docTitle = "Ice ${iceVersion} API Reference"
}
alljavadoc.dependsOn = exportedProjects.collect { project(it).javadoc.dependsOn }
}
task clean(type: Delete) {
delete rootProject.buildDir
}
if(!System.env.ICE_BIN_DIST?.split(" ").find{ it == 'all' || it.contains('java')}) {
task dist()
dist.dependsOn(project(":ice").assemble)
dist.dependsOn(project(":icessl").assemble)
dist.dependsOn(project(":glacier2").assemble)
dist.dependsOn(project(":icegrid").assemble)
dist.dependsOn(project(":icebox").assemble)
dist.dependsOn(project(":icebt").assemble)
dist.dependsOn(project(":icediscovery").assemble)
dist.dependsOn(project(":icelocatordiscovery").assemble)
dist.dependsOn(project(":icepatch2").assemble)
dist.dependsOn(project(":icestorm").assemble)
dist.dependsOn(project(":IceGridGUI").assemble)
project(":test").compileJava.dependsOn(dist)
}
|