1564 } 1565 1566 if (IS_HEADLESS_TEST) { 1567 systemProperty 'glass.platform', 'Monocle' 1568 systemProperty 'monocle.platform', 'Headless' 1569 systemProperty 'prism.order', 'sw' 1570 systemProperty 'com.sun.javafx.gestures.zoom', 'true' 1571 systemProperty 'com.sun.javafx.gestures.rotate', 'true' 1572 systemProperty 'com.sun.javafx.gestures.scroll', 'true' 1573 } 1574 1575 systemProperty 'unstable.test', IS_UNSTABLE_TEST 1576 } 1577 1578 compileTestJava { 1579 } 1580 } 1581 1582 // Qualified exports needed by javafx.* modules (excluding javafx.swing) 1583 def qualExportsCore = [ 1584 "--add-exports=java.base/sun.util.logging=javafx.base", 1585 "--add-exports=java.base/sun.util.logging=javafx.controls", 1586 "--add-exports=java.base/sun.util.logging=javafx.fxml", 1587 "--add-exports=java.base/sun.util.logging=javafx.graphics", 1588 "--add-exports=java.desktop/sun.print=javafx.graphics", 1589 ] 1590 1591 // Qualified exports needed by javafx.swing 1592 def qualExportsSwing = [ 1593 "--add-exports=java.base/sun.util.logging=javafx.swing", 1594 "--add-exports=java.desktop/java.awt.dnd.peer=javafx.swing", 1595 "--add-exports=java.desktop/sun.awt=javafx.swing", 1596 "--add-exports=java.desktop/sun.awt.dnd=javafx.swing", 1597 "--add-exports=java.desktop/sun.awt.image=javafx.swing", 1598 "--add-exports=java.desktop/sun.java2d=javafx.swing", 1599 "--add-exports=java.desktop/sun.swing=javafx.swing", 1600 ] 1601 1602 // These strings define the module-source-path to be used in compilation. 1603 // They need to contain the full paths to the sources and the * will be 1604 // used to infer the module name that is used. 1605 project.ext.defaultModuleSourcePath = 1606 cygpath(rootProject.projectDir.path + '/modules/*/src/main/java') + 1607 File.pathSeparator + 1608 cygpath(rootProject.projectDir.path + '/modules/*/build/gensrc/{java,jsl-decora,jsl-prism}') 1609 1610 // graphics pass one 1611 project.ext.defaultModuleSourcePath_GraphicsOne = 1612 cygpath(rootProject.projectDir.path + '/modules/*/src/main/java') + 1613 File.pathSeparator + 2113 shims 2114 test 2115 } 2116 2117 project.ext.moduleSourcePath = defaultModuleSourcePath 2118 project.ext.moduleSourcePathShim = defaultModuleSourcePathShim 2119 2120 commonModuleSetup(project, [ 'base', 'graphics', 'controls' ]) 2121 2122 dependencies { 2123 testCompile project(":graphics").sourceSets.test.output 2124 testCompile project(":base").sourceSets.test.output 2125 } 2126 2127 test { 2128 def cssDir = file("$buildDir/classes/java/main/${moduleName}/javafx") 2129 jvmArgs "-Djavafx.toolkit=test.com.sun.javafx.pgstub.StubToolkit", 2130 "-DCSS_META_DATA_TEST_DIR=$cssDir" 2131 } 2132 2133 List<String> css2BinAddExports = [ 2134 '--add-exports=java.base/sun.util.logging=javafx.graphics', 2135 ] 2136 def modulePath = "${project.sourceSets.main.java.outputDir}" 2137 modulePath += File.pathSeparator + "${rootProject.projectDir}/modules/javafx.graphics/build/classes/java/main" 2138 modulePath += File.pathSeparator + "${rootProject.projectDir}/modules/javafx.base/build/classes/java/main" 2139 processResources { 2140 doLast { 2141 def cssFiles = fileTree(dir: "$moduleDir/com/sun/javafx/scene/control/skin") 2142 cssFiles.include "**/*.css" 2143 cssFiles.each { css -> 2144 logger.info("converting CSS to BSS ${css}"); 2145 2146 javaexec { 2147 executable = JAVA 2148 workingDir = project.projectDir 2149 jvmArgs += patchModuleArgs 2150 jvmArgs += "--module-path=$modulePath" 2151 jvmArgs += "--add-modules=javafx.graphics" 2152 jvmArgs += css2BinAddExports 2153 main = "com.sun.javafx.css.parser.Css2Bin" 2154 args css 2155 } 2156 } 2157 } 2158 } 2159 2160 processShimsResources.dependsOn(project.task("copyShimBss", type: Copy) { 2161 from project.moduleDir 2162 into project.moduleShimsDir 2163 include "**/*.bss" 2164 }) 2165 2166 compileJava.options.compilerArgs.addAll(qualExportsCore) 2167 } 2168 2169 project(":swing") { 2170 // Now that JMX is gone, we can likely uncomment the following as 2171 // a fix for JDK-8195669 2172 /* should not be built, but needed in JMX | 1564 } 1565 1566 if (IS_HEADLESS_TEST) { 1567 systemProperty 'glass.platform', 'Monocle' 1568 systemProperty 'monocle.platform', 'Headless' 1569 systemProperty 'prism.order', 'sw' 1570 systemProperty 'com.sun.javafx.gestures.zoom', 'true' 1571 systemProperty 'com.sun.javafx.gestures.rotate', 'true' 1572 systemProperty 'com.sun.javafx.gestures.scroll', 'true' 1573 } 1574 1575 systemProperty 'unstable.test', IS_UNSTABLE_TEST 1576 } 1577 1578 compileTestJava { 1579 } 1580 } 1581 1582 // Qualified exports needed by javafx.* modules (excluding javafx.swing) 1583 def qualExportsCore = [ 1584 "--add-exports=java.desktop/sun.print=javafx.graphics", 1585 ] 1586 1587 // Qualified exports needed by javafx.swing 1588 def qualExportsSwing = [ 1589 "--add-exports=java.desktop/java.awt.dnd.peer=javafx.swing", 1590 "--add-exports=java.desktop/sun.awt=javafx.swing", 1591 "--add-exports=java.desktop/sun.awt.dnd=javafx.swing", 1592 "--add-exports=java.desktop/sun.awt.image=javafx.swing", 1593 "--add-exports=java.desktop/sun.java2d=javafx.swing", 1594 "--add-exports=java.desktop/sun.swing=javafx.swing", 1595 ] 1596 1597 // These strings define the module-source-path to be used in compilation. 1598 // They need to contain the full paths to the sources and the * will be 1599 // used to infer the module name that is used. 1600 project.ext.defaultModuleSourcePath = 1601 cygpath(rootProject.projectDir.path + '/modules/*/src/main/java') + 1602 File.pathSeparator + 1603 cygpath(rootProject.projectDir.path + '/modules/*/build/gensrc/{java,jsl-decora,jsl-prism}') 1604 1605 // graphics pass one 1606 project.ext.defaultModuleSourcePath_GraphicsOne = 1607 cygpath(rootProject.projectDir.path + '/modules/*/src/main/java') + 1608 File.pathSeparator + 2108 shims 2109 test 2110 } 2111 2112 project.ext.moduleSourcePath = defaultModuleSourcePath 2113 project.ext.moduleSourcePathShim = defaultModuleSourcePathShim 2114 2115 commonModuleSetup(project, [ 'base', 'graphics', 'controls' ]) 2116 2117 dependencies { 2118 testCompile project(":graphics").sourceSets.test.output 2119 testCompile project(":base").sourceSets.test.output 2120 } 2121 2122 test { 2123 def cssDir = file("$buildDir/classes/java/main/${moduleName}/javafx") 2124 jvmArgs "-Djavafx.toolkit=test.com.sun.javafx.pgstub.StubToolkit", 2125 "-DCSS_META_DATA_TEST_DIR=$cssDir" 2126 } 2127 2128 def modulePath = "${project.sourceSets.main.java.outputDir}" 2129 modulePath += File.pathSeparator + "${rootProject.projectDir}/modules/javafx.graphics/build/classes/java/main" 2130 modulePath += File.pathSeparator + "${rootProject.projectDir}/modules/javafx.base/build/classes/java/main" 2131 processResources { 2132 doLast { 2133 def cssFiles = fileTree(dir: "$moduleDir/com/sun/javafx/scene/control/skin") 2134 cssFiles.include "**/*.css" 2135 cssFiles.each { css -> 2136 logger.info("converting CSS to BSS ${css}"); 2137 2138 javaexec { 2139 executable = JAVA 2140 workingDir = project.projectDir 2141 jvmArgs += patchModuleArgs 2142 jvmArgs += "--module-path=$modulePath" 2143 jvmArgs += "--add-modules=javafx.graphics" 2144 main = "com.sun.javafx.css.parser.Css2Bin" 2145 args css 2146 } 2147 } 2148 } 2149 } 2150 2151 processShimsResources.dependsOn(project.task("copyShimBss", type: Copy) { 2152 from project.moduleDir 2153 into project.moduleShimsDir 2154 include "**/*.bss" 2155 }) 2156 2157 compileJava.options.compilerArgs.addAll(qualExportsCore) 2158 } 2159 2160 project(":swing") { 2161 // Now that JMX is gone, we can likely uncomment the following as 2162 // a fix for JDK-8195669 2163 /* should not be built, but needed in JMX |