./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 ----