My recommendation would be to avoid this dependency if possible, but if not, then Dave's suggestion is the way to go. What is it that you need from jdk.internal.ref that you can't do using public API?

-- Kevin



David Hill wrote:
On 11/9/16, 4:30 AM, Laurent Bourgès wrote:
Any workaround ?

PS: as you recommended me for Marlin JavaFX, I am trying adding a dependencies on modules:
openjfx9/dependencies/java.base/module-info.java.extra:
27d26
< exports jdk.internal.ref to javafx.graphics;

What is the magic to make cross-references between OpenJDK / OpenJFX builds ?

I think this should work. Note that the real fix is to get the second part into a JDK, at which point the workaround part goes away.

diff --git a/build.gradle b/build.gradle
--- a/build.gradle
+++ b/build.gradle
@@ -1678,6 +1678,16 @@
     }
     classes.dependsOn(compileFullJava)

+
+    //Temporary workaround until this is part of the java.base module
+    compileJava.options.compilerArgs.addAll([
+            "--add-exports=java.base/jdk.internal.ref=javafx.graphics",
+            ])
+    compileFullJava.options.compilerArgs.addAll([
+            "--add-exports=java.base/jdk.internal.ref=javafx.graphics",
+            ])
+    //End workaround
+
// 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"); diff --git a/dependencies/java.base/module-info.java.extra b/dependencies/java.base/module-info.java.extra
--- a/dependencies/java.base/module-info.java.extra
+++ b/dependencies/java.base/module-info.java.extra
@@ -24,6 +24,7 @@
  */

 exports jdk.internal.misc to javafx.graphics;
+exports jdk.internal.ref to javafx.graphics;
 exports jdk.internal.ref to javafx.media;
 exports sun.net.www to javafx.web;
 exports sun.nio.ch to javafx.media;


Reply via email to