./build.gradle

Print this page
rev 10034 : JDK-8165809: Rework build to enable future jigsaw aware JDK9 build
Reviewed-by: kcr

*** 970,980 **** project.assemble.dependsOn(nativeTask) if (project.hasProperty("cleanNativeAllTask")) project.cleanNativeAllTask.dependsOn cleanTask // Each of the different compile targets will be placed in a sub directory // of these root dirs, with the name of the dir being the name of the target ! def headerRootDir = project.file("$project.buildDir/generated-src/headers/$name") def nativeRootDir = project.file("$project.buildDir/native/$name") def libRootDir = project.file("$project.buildDir/libs/$name") // For each compile target, create a javah / cc / link triplet compileTargets { t -> def targetProperties = project.rootProject.ext[t.upper] --- 970,980 ---- project.assemble.dependsOn(nativeTask) if (project.hasProperty("cleanNativeAllTask")) project.cleanNativeAllTask.dependsOn cleanTask // Each of the different compile targets will be placed in a sub directory // of these root dirs, with the name of the dir being the name of the target ! def headerRootDir = project.file("$project.buildDir/gensrc/headers/$name") def nativeRootDir = project.file("$project.buildDir/native/$name") def libRootDir = project.file("$project.buildDir/libs/$name") // For each compile target, create a javah / cc / link triplet compileTargets { t -> def targetProperties = project.rootProject.ext[t.upper]
*** 1070,1120 **** def lowerName = name.toLowerCase() def compileCompilers = project.task("compile${name}Compilers", type: JavaCompile, dependsOn: project.compileJava) { description = "Compile the $name JSL Compilers" classpath = project.files(project.sourceSets.main.output.classesDir) + ! rootProject.BUILD_SRC + ! project.configurations.antlr3 source = [project.file("src/main/jsl-$lowerName")] destinationDir = project.file("$project.buildDir/classes/jsl-compilers/$lowerName") } def generateShaders = project.task("generate${name}Shaders", dependsOn: compileCompilers) { description = "Generate $name shaders from JSL" def sourceDir = project.file("src/main/jsl-$lowerName") ! def destinationDir = project.file("$project.buildDir/generated-src/jsl-$lowerName") inputs.dir sourceDir outputs.dir destinationDir doLast { compile(sourceDir, destinationDir) } } - project.task("compile${name}JavaShaders", type: JavaCompile, dependsOn: generateShaders) { - description = "Compile the Java $name JSL shaders" - classpath = project.files(project.sourceSets.main.output.classesDir) + rootProject.BUILD_SRC - source = [project.file("$project.buildDir/generated-src/jsl-$lowerName")] - destinationDir = project.file("$project.buildDir/classes/jsl-$lowerName") - } - def compileHLSLShaders = project.task("compile${name}HLSLShaders", dependsOn: generateShaders, type: CompileHLSLTask) { enabled = IS_WINDOWS description = "Compile $name HLSL files into .obj files" matches = ".*\\.hlsl" output project.file("$project.buildDir/hlsl/$name/$pkg") ! source project.file("$project.buildDir/generated-src/jsl-$lowerName/$pkg") } ! project.task("process${name}Shaders", dependsOn: [generateShaders, compileHLSLShaders], type: Copy, description: "Copy hlsl / frag shaders to build/resources/jsl-$lowerName") { from("$project.buildDir/hlsl/$name") { include "**/*.obj" } ! from("$project.buildDir/generated-src/jsl-$lowerName") { include("**/*.frag") } ! into "$project.buildDir/resources/jsl-$lowerName" } } /** * Parses a JDK version string. The string must be in one of the following * two formats: --- 1070,1117 ---- def lowerName = name.toLowerCase() def compileCompilers = project.task("compile${name}Compilers", type: JavaCompile, dependsOn: project.compileJava) { description = "Compile the $name JSL Compilers" classpath = project.files(project.sourceSets.main.output.classesDir) + ! project.files(project.sourceSets.jslc.output.classesDir) + ! project.configurations.antlr source = [project.file("src/main/jsl-$lowerName")] destinationDir = project.file("$project.buildDir/classes/jsl-compilers/$lowerName") } def generateShaders = project.task("generate${name}Shaders", dependsOn: compileCompilers) { description = "Generate $name shaders from JSL" def sourceDir = project.file("src/main/jsl-$lowerName") ! def destinationDir = project.file("$project.buildDir/gensrc/jsl-$lowerName") inputs.dir sourceDir outputs.dir destinationDir doLast { compile(sourceDir, destinationDir) } } def compileHLSLShaders = project.task("compile${name}HLSLShaders", dependsOn: generateShaders, type: CompileHLSLTask) { enabled = IS_WINDOWS description = "Compile $name HLSL files into .obj files" matches = ".*\\.hlsl" output project.file("$project.buildDir/hlsl/$name/$pkg") ! source project.file("$project.buildDir/gensrc/jsl-$lowerName/$pkg") } ! def processShaders = project.task("process${name}Shaders", dependsOn: [generateShaders, compileHLSLShaders], type: Copy, description: "Copy hlsl / frag shaders to build/resources/jsl-$lowerName") { from("$project.buildDir/hlsl/$name") { include "**/*.obj" } ! from("$project.buildDir/gensrc/jsl-$lowerName") { include("**/*.frag") } ! into project.sourceSets.main.output.resourcesDir } + + project.processShaders.dependsOn(processShaders) + project.sourceSets.shaders.output.dir("$project.buildDir/gensrc/jsl-$lowerName", builtBy: processShaders ) + } /** * Parses a JDK version string. The string must be in one of the following * two formats:
*** 1358,1368 **** null, testInclude, project.projectDir.path + "/src/test/addExports" ) dependencies { - compile BUILD_SRC } // We need to take the VersionInfo.java file and replace the various // properties within it def replacements = [ --- 1355,1364 ----
*** 1372,1384 **** "PROMOTED_BUILD_NUMBER": PROMOTED_BUILD_NUMBER, "PRODUCT_NAME": PRODUCT_NAME, "RELEASE_VERSION": RELEASE_VERSION, "RELEASE_SUFFIX": RELEASE_SUFFIX]; task processVersionInfo(type: Copy, description: "Replace params in VersionInfo and copy file to destination") { ! doFirst { mkdir "$buildDir/generated-src/version-info" } from "src/main/version-info" ! into "$buildDir/generated-src/version-info/com/sun/javafx/runtime" filter {line-> replacements.each() {k, v -> line = line.replace("@$k@", v.toString()); } line --- 1368,1380 ---- "PROMOTED_BUILD_NUMBER": PROMOTED_BUILD_NUMBER, "PRODUCT_NAME": PRODUCT_NAME, "RELEASE_VERSION": RELEASE_VERSION, "RELEASE_SUFFIX": RELEASE_SUFFIX]; task processVersionInfo(type: Copy, description: "Replace params in VersionInfo and copy file to destination") { ! doFirst { mkdir "$buildDir/gensrc/java" } from "src/main/version-info" ! into "$buildDir/gensrc/java/com/sun/javafx/runtime" filter {line-> replacements.each() {k, v -> line = line.replace("@$k@", v.toString()); } line
*** 1387,1415 **** if (IS_COMPILE_JFR) { sourceSets.main.java.srcDirs += "src/main/java-jfr" } ! // Make sure to include $buildDir/generated-src/version-info that we previously created. // We DO NOT want to include src/main/version-info ! sourceSets.main.java.srcDirs += "$buildDir/generated-src/version-info" compileJava.dependsOn processVersionInfo } // The graphics module is needed for any graphical JavaFX application. It requires // the base module and includes the scene graph, layout, css, prism, windowing, etc. // This is a fairly complicated module. There are many different types of native components // that all need to be compiled. project(":graphics") { ! // Workaround for lack of Antlr 3 support in Gradle. By defining a configuration, ! // we can then give it a class path and use that classpath to execute a java command ! getConfigurations().create("antlr3"); sourceSets { main test stub } project.ext.buildModule = true --- 1383,1413 ---- if (IS_COMPILE_JFR) { sourceSets.main.java.srcDirs += "src/main/java-jfr" } ! // Make sure to include $buildDir/gensrc/java that we previously created. // We DO NOT want to include src/main/version-info ! sourceSets.main.java.srcDirs += "$buildDir/gensrc/java" compileJava.dependsOn processVersionInfo } // The graphics module is needed for any graphical JavaFX application. It requires // the base module and includes the scene graph, layout, css, prism, windowing, etc. // This is a fairly complicated module. There are many different types of native components // that all need to be compiled. project(":graphics") { ! ! apply plugin: 'antlr' sourceSets { + antlr // antlr sources for JSLC + jslc // JSLC gramar subset main + shaders // generated shaders (prism & decora) test stub } project.ext.buildModule = true
*** 1420,1444 **** configureJigsawTests(project, [ "base" ], null, testInclude, project.projectDir.path + "/src/test/addExports" ) - project.ext.extraBuildDirs = [ - "${buildDir}/classes/jsl-decora", - "${buildDir}/resources/jsl-decora", - "${buildDir}/classes/jsl-prism", - "${buildDir}/resources/jsl-prism" - ] - dependencies { ! compile project(":base"), BUILD_SRC stubCompile group: "junit", name: "junit", version: "4.8.2", project(":base").sourceSets.test.output, sourceSets.main.output ! antlr3 group: "org.antlr", name: "antlr", version: "3.1.3" ! antlr3 group: "org.antlr", name: "antlr-runtime", version: "3.1.3" ! antlr3 group: "org.antlr", name: "stringtemplate", version: "3.2" } // Create a single "native" task which will depend on all the individual native tasks for graphics project.ext.nativeAllTask = task("native", group: "Build", description: "Compiles and Builds all native libraries for Graphics"); project.ext.cleanNativeAllTask = task("cleanNative", group: "Build", description: "Clean all native libraries and objects for Graphics"); --- 1418,1469 ---- configureJigsawTests(project, [ "base" ], null, testInclude, project.projectDir.path + "/src/test/addExports" ) dependencies { ! compile project(":base") stubCompile group: "junit", name: "junit", version: "4.8.2", project(":base").sourceSets.test.output, sourceSets.main.output ! ! jslcCompile group: "org.antlr", name: "antlr-complete", version: "3.5.2" ! ! antlr group: "org.antlr", name: "antlr-complete", version: "3.5.2" ! } ! ! compileJslcJava.dependsOn(generateGrammarSource) ! compileJava.dependsOn(compileJslcJava) ! ! /* ! Graphics compilation is "complicated" by the generated shaders. ! ! We have two shader groups - Decora and Prism. ! ! The shader groups each will generate a custom compiler that ! then genarates the shader code. These compilers rely on the JSLC ! gramar parser which is antlr generated and compile separately. ! ! The decora compiler relies on compileJava - which is sourceSet.main.java ! It also accesses module private packages, so will need add-exports ! ! Once the shader java code is generated, we can compileFullJava ! ! After that, we can generate the required native header and then build the native code ! */ ! ! project.task("processShaders") { ! // an empty task to hang the prism and decora shaders on ! } ! ! project.task("compileFullJava", type: JavaCompile, dependsOn: processShaders) { ! description = "Compile all of the graphics java classes - main and shaders" ! classpath = configurations.compile ! source = project.sourceSets.main.java.srcDirs ! source += project.sourceSets.shaders.output ! destinationDir = project.sourceSets.main.output.classesDir } + classes.dependsOn(compileFullJava) // Create a single "native" task which will depend on all the individual native tasks for graphics project.ext.nativeAllTask = task("native", group: "Build", description: "Compiles and Builds all native libraries for Graphics"); project.ext.cleanNativeAllTask = task("cleanNative", group: "Build", description: "Clean all native libraries and objects for Graphics");
*** 1555,1568 **** // The Decora and Prism JSL files have to be generated in a very specific set of steps. // 1) Compile the *Compile.java classes. These live in src/main/jsl-* and will be // output to $buildDir/classes/jsl-compilers/* (where * == decora or prism). // 2) Generate source files from the JSL files contained in src/main/jsl-*. These ! // will be output to $buildDir/generated-src/jsl-* ! // 3) Compile the JSL Java sources in $buildDir/generated-src/jsl-* and put the output // into classes/jsl-* ! // 4) Compile the native JSL sources in $buildDir/generated-src/jsl-* and put the obj // files into native/jsl-* and the resulting library into libs/jsl-*.dll|so|dylib // 5) Modify the jar step to include classes/jsl-* // The native library must be copied over during SDK creation time in the "sdk" task. In // addition to these steps, the clean task is created. Note that I didn't bother to create // a new task for each of the decora files, preferring instead just to create a rule?? Also --- 1580,1593 ---- // The Decora and Prism JSL files have to be generated in a very specific set of steps. // 1) Compile the *Compile.java classes. These live in src/main/jsl-* and will be // output to $buildDir/classes/jsl-compilers/* (where * == decora or prism). // 2) Generate source files from the JSL files contained in src/main/jsl-*. These ! // will be output to $buildDir/gensrc/jsl-* ! // 3) Compile the JSL Java sources in $buildDir/gensrc/jsl-* and put the output // into classes/jsl-* ! // 4) Compile the native JSL sources in $buildDir/gensrc/jsl-* and put the obj // files into native/jsl-* and the resulting library into libs/jsl-*.dll|so|dylib // 5) Modify the jar step to include classes/jsl-* // The native library must be copied over during SDK creation time in the "sdk" task. In // addition to these steps, the clean task is created. Note that I didn't bother to create // a new task for each of the decora files, preferring instead just to create a rule?? Also
*** 1581,1615 **** [fileName: "LinearConvolveShadow", generator: "CompileLinearConvolve", outputs: "-hw"]].each { settings -> javaexec { executable = JAVA workingDir = project.projectDir main = settings.generator ! classpath = configurations.compile + configurations.antlr3 classpath += files("$buildDir/classes/main") classpath += files("$buildDir/classes/jsl-compilers/decora") args = ["-i", sourceDir, "-o", destinationDir, "-t", "-pkg", "com/sun/scenario/effect", "$settings.outputs", "$settings.fileName"] } } } ! task generateDecoraNativeHeaders(type: JavaHeaderTask, dependsOn: compileDecoraJavaShaders) { description = "Generates JNI Headers for Decora SSE Natives" - source file("$buildDir/classes/jsl-decora") source file("$buildDir/classes/main") include("com/sun/scenario/effect/impl/sw/sse/*"); ! classpath = files("$buildDir/classes/main", "$buildDir/classes/jsl-decora") ! output = file("$buildDir/generated-src/headers/jsl-decora") } task nativeDecora(dependsOn: compileDecoraHLSLShaders, group: "Build") { description = "Generates JNI headers, compiles, and builds native dynamic library for Decora" } task cleanNativeDecora(type: Delete, group: "Build") { description = "Clean native objects for Decora" } ! def headerDir = file("$buildDir/generated-src/headers/jsl-decora") def nativeRootDir = project.file("$project.buildDir/native/jsl-decora") def libRootDir = project.file("$project.buildDir/libs/jsl-decora") // For each compile target, create cc and link tasks compileTargets { t -> def target = t.name --- 1606,1645 ---- [fileName: "LinearConvolveShadow", generator: "CompileLinearConvolve", outputs: "-hw"]].each { settings -> javaexec { executable = JAVA workingDir = project.projectDir main = settings.generator ! classpath = configurations.compile + configurations.antlr ! classpath += files(project.sourceSets.jslc.output.classesDir) ! ! //classpath += files(project.sourceSets.jslc.resources) // not quite right.. ! classpath += files("${project.projectDir}/src/jslc/resources") ! classpath += files("$buildDir/classes/main") classpath += files("$buildDir/classes/jsl-compilers/decora") args = ["-i", sourceDir, "-o", destinationDir, "-t", "-pkg", "com/sun/scenario/effect", "$settings.outputs", "$settings.fileName"] } } } ! task generateDecoraNativeHeaders(type: JavaHeaderTask, dependsOn: compileFullJava) { description = "Generates JNI Headers for Decora SSE Natives" source file("$buildDir/classes/main") include("com/sun/scenario/effect/impl/sw/sse/*"); ! classpath = files("$buildDir/classes/main") ! classpath += files(project.sourceSets.jslc.output.classesDir) ! output = file("$buildDir/gensrc/headers/jsl-decora") } task nativeDecora(dependsOn: compileDecoraHLSLShaders, group: "Build") { description = "Generates JNI headers, compiles, and builds native dynamic library for Decora" } task cleanNativeDecora(type: Delete, group: "Build") { description = "Clean native objects for Decora" } ! def headerDir = file("$buildDir/gensrc/headers/jsl-decora") def nativeRootDir = project.file("$project.buildDir/native/jsl-decora") def libRootDir = project.file("$project.buildDir/libs/jsl-decora") // For each compile target, create cc and link tasks compileTargets { t -> def target = t.name
*** 1627,1637 **** def ccOutput = variant == "" ? nativeDir : file("$nativeDir/$variant") def ccTask = task("compileDecoraNativeShaders$capitalTarget$capitalVariant", type: CCTask, dependsOn: generateDecoraNativeHeaders) { description = "Compiles Decora SSE natives for ${t.name}${capitalVariant != '' ? ' for variant ' + capitalVariant : ''}" matches = ".*\\.cc" ! source file("$buildDir/generated-src/jsl-decora") source file(project.projectDir.path + "/src/main/native-decora") headers = headerDir params.addAll(variantProperties.ccFlags) output(ccOutput) compiler = variantProperties.compiler --- 1657,1667 ---- def ccOutput = variant == "" ? nativeDir : file("$nativeDir/$variant") def ccTask = task("compileDecoraNativeShaders$capitalTarget$capitalVariant", type: CCTask, dependsOn: generateDecoraNativeHeaders) { description = "Compiles Decora SSE natives for ${t.name}${capitalVariant != '' ? ' for variant ' + capitalVariant : ''}" matches = ".*\\.cc" ! source file("$buildDir/gensrc/jsl-decora") source file(project.projectDir.path + "/src/main/native-decora") headers = headerDir params.addAll(variantProperties.ccFlags) output(ccOutput) compiler = variantProperties.compiler
*** 1672,1690 **** inputFiles.each { file -> javaexec { executable = JAVA workingDir = project.projectDir main = "CompileJSL" ! classpath = configurations.compile + configurations.antlr3 classpath += files("$buildDir/classes/jsl-compilers/prism", project.projectDir.path + "/src/main/jsl-prism") // for the .stg args = ["-i", sourceDir, "-o", destinationDir, "-t", "-pkg", "com/sun/prism", "-d3d", "-es2", "-name", "$file"] } } } - classes.dependsOn compilePrismJavaShaders; nativePrism.dependsOn compilePrismHLSLShaders; project.nativeAllTask.dependsOn nativeDecora project.cleanNativeAllTask.dependsOn cleanNativeDecora assemble.dependsOn nativeDecora --- 1702,1721 ---- inputFiles.each { file -> javaexec { executable = JAVA workingDir = project.projectDir main = "CompileJSL" ! classpath = configurations.compile + configurations.antlr ! classpath += files(project.sourceSets.jslc.output.classesDir) ! classpath += files(project.sourceSets.jslc.resources) classpath += files("$buildDir/classes/jsl-compilers/prism", project.projectDir.path + "/src/main/jsl-prism") // for the .stg args = ["-i", sourceDir, "-o", destinationDir, "-t", "-pkg", "com/sun/prism", "-d3d", "-es2", "-name", "$file"] } } } nativePrism.dependsOn compilePrismHLSLShaders; project.nativeAllTask.dependsOn nativeDecora project.cleanNativeAllTask.dependsOn cleanNativeDecora assemble.dependsOn nativeDecora
*** 1725,1741 **** File f = new File(libsDir, name) if (!f.exists()) allLibsPresent = false } if (allLibsPresent) return; ! for (File f : [configurations.compile.files, configurations.antlr3.files].flatten()) { copy { into libsDir from f.getParentFile() ! include "**/antlr-3.1.3.jar" ! include "**/stringtemplate-3.2.jar" ! include "**/antlr-runtime-3.1.3.jar" includeEmptyDirs = false } } } } --- 1756,1770 ---- File f = new File(libsDir, name) if (!f.exists()) allLibsPresent = false } if (allLibsPresent) return; ! for (File f : [configurations.compile.files, configurations.antlr.files].flatten()) { copy { into libsDir from f.getParentFile() ! include "**/antlr-complete-3.5.2.jar" includeEmptyDirs = false } } } }
*** 1750,1760 **** null, testInclude, project.projectDir.path + "/src/test/addExports" ) dependencies { ! compile BUILD_SRC, project(":base"), project(":graphics") // TODO not sure how to specify this? processResources project(":base"), project(":graphics") testCompile project(":graphics").sourceSets.test.output testCompile project(":base").sourceSets.test.output } --- 1779,1789 ---- null, testInclude, project.projectDir.path + "/src/test/addExports" ) dependencies { ! compile project(":base"), project(":graphics") // TODO not sure how to specify this? processResources project(":base"), project(":graphics") testCompile project(":graphics").sourceSets.test.output testCompile project(":base").sourceSets.test.output }
*** 1799,1809 **** project.ext.buildModule = COMPILE_SWING project.ext.moduleRuntime = true project.ext.moduleName = "javafx.swing" dependencies { ! compile BUILD_SRC, project(":base"), project(":graphics") } Set<String> testInclude = [ "test/**" ] configureJigsawTests(project, [ "base", "graphics", "controls" ], null, testInclude, --- 1828,1838 ---- project.ext.buildModule = COMPILE_SWING project.ext.moduleRuntime = true project.ext.moduleName = "javafx.swing" dependencies { ! compile project(":base"), project(":graphics") } Set<String> testInclude = [ "test/**" ] configureJigsawTests(project, [ "base", "graphics", "controls" ], null, testInclude,
*** 1822,1832 **** // javafx.swt is an automatic module project.ext.buildModule = false dependencies { ! compile BUILD_SRC, project(":base"), project(":graphics") compile name: SWT_FILE_NAME } classes << { // Copy all of the download libraries to libs directory for the sake of the IDEs File libsDir = rootProject.file("build/libs"); --- 1851,1861 ---- // javafx.swt is an automatic module project.ext.buildModule = false dependencies { ! compile project(":base"), project(":graphics") compile name: SWT_FILE_NAME } classes << { // Copy all of the download libraries to libs directory for the sake of the IDEs File libsDir = rootProject.file("build/libs");
*** 1874,1885 **** null, testInclude, project.projectDir.path + "/src/test/addExports" ) dependencies { ! compile BUILD_SRC, ! project(":base"), project(":graphics"), project(":controls") testCompile project(":graphics").sourceSets.test.output } test { --- 1903,1913 ---- null, testInclude, project.projectDir.path + "/src/test/addExports" ) dependencies { ! compile project(":base"), project(":graphics"), project(":controls") testCompile project(":graphics").sourceSets.test.output } test {
*** 2392,2402 **** project.ext.buildModule = true project.ext.moduleRuntime = true project.ext.moduleName = "javafx.media" dependencies { ! compile BUILD_SRC, project(":base"), project(":graphics") } compileJava.dependsOn updateCacheIfNeeded sourceSets { --- 2420,2430 ---- project.ext.buildModule = true project.ext.moduleRuntime = true project.ext.moduleName = "javafx.media" dependencies { ! compile project(":base"), project(":graphics") } compileJava.dependsOn updateCacheIfNeeded sourceSets {
*** 2412,2422 **** project.ext.makeJobsFlag = IS_WINDOWS && IS_DEBUG_NATIVE ? "-j1" : "-j5"; project.ext.buildType = IS_DEBUG_NATIVE ? "Debug" : "Release"; def nativeSrcDir = file("${projectDir}/src/main/native") ! def generatedHeadersDir = file("${buildDir}/generated-src/headers") task generateHeaders(dependsOn: compileJava) { enabled = IS_COMPILE_MEDIA doLast { def classpath = sourceSets.main.output; --- 2440,2450 ---- project.ext.makeJobsFlag = IS_WINDOWS && IS_DEBUG_NATIVE ? "-j1" : "-j5"; project.ext.buildType = IS_DEBUG_NATIVE ? "Debug" : "Release"; def nativeSrcDir = file("${projectDir}/src/main/native") ! def generatedHeadersDir = file("${buildDir}/gensrc/headers") task generateHeaders(dependsOn: compileJava) { enabled = IS_COMPILE_MEDIA doLast { def classpath = sourceSets.main.output;
*** 2739,2749 **** task generateHeaders(dependsOn: compileJava) { doLast { def classpath = files("$buildDir/classes/main", project(":graphics").sourceSets.main.output.classesDir) ! def dest = file("$buildDir/generated-src/headers"); mkdir dest; exec { commandLine("$JAVAH", "-d", "$dest", "-classpath", "${classpath.asPath}"); args("java.lang.Character", --- 2767,2777 ---- task generateHeaders(dependsOn: compileJava) { doLast { def classpath = files("$buildDir/classes/main", project(":graphics").sourceSets.main.output.classesDir) ! def dest = file("$buildDir/gensrc/headers"); mkdir dest; exec { commandLine("$JAVAH", "-d", "$dest", "-classpath", "${classpath.asPath}"); args("java.lang.Character",
*** 3060,3070 **** [it.sourceSets.main.java] })); setDestinationDir(new File(buildDir, 'javadoc')); // FIXME: The following is a workaround for JDK-8151191; it should be // reverted once that bug is fixed - classpath = rootProject.BUILD_SRC classpath += files(projectsToDocument.collect { project -> project.sourceSets.main.java.srcDirs }); /* // Might need a classpath --- 3088,3097 ----
*** 3592,3604 **** def buildDir = project.buildDir def sourceBuildDirs = [ "${buildDir}/classes/main", "${buildDir}/resources/main" ] - if (project.hasProperty("extraBuildDirs")) { - sourceBuildDirs += project.ext.extraBuildDirs - } doLast { def moduleClassesDir = "$buildDir/${platformPrefix}module-classes" copy { includeEmptyDirs = false sourceBuildDirs.each { d -> --- 3619,3628 ----