// // Copyright (c) ZeroC, Inc. All rights reserved. // 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(slice.jarDir) { flatDir { name "local" dirs slice.jarDir } } if(this.devRepo) { maven { url this.devRepo } } if(new File("/usr/share/maven-repo").exists()) { maven { url "/usr/share/maven-repo" } } mavenCentral() } 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 } } } 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 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.1') && JavaVersion.current() > JavaVersion.VERSION_1_10) { // TODO: --no-module-directories is an undocumented option required for the // generated search to work properly. Without this option, search returns // .../undefined/... URLs. 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 } 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) // // Used to build the gradle wrapper to automatically download and install // the version of gradle needed to build Ice. // wrapper { gradleVersion = "4.10.2" }