The change is only for the Mac App Store. You can easily look at the changeset 
associated with JDK-8138650 to verify this:

http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4>


This is the relevant code change:

+++ 
b/modules/fxpackager/src/main/java/com/oracle/tools/packager/mac/MacAppStoreBundler.java
    Fri Oct 02 15:33:14 2015 -0600 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.2>
@@ -290,13 +290,33 @@ 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.3>
                             
I18N.getString("error.non-existent-runtime.advice"))); 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.4>
         } <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.5>
  <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.6>
-        if (new File(baseDir, 
"Contents/Home/lib/libjfxmedia_qtkit.dylib").exists() 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.7>
-            || new File(baseDir, 
"Contents/Home/jre/lib/libjfxmedia_qtkit.dylib").exists()) 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.8>
-        { <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.9>
+        int majorVersion; 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.10>
+        int updateVersion; 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.11>
+         <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.12>
+        try { 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.13>
+            majorVersion = 
Integer.parseInt(params.get(".runtime.version.major").toString()); 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.14>
+            updateVersion = 
Integer.parseInt(params.get(".runtime.version.update").toString()); 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.15>
+        } catch (Exception e) { 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.16>
+            // assume the worst 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.17>
+            majorVersion = 8; 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.18>
+            updateVersion = 60; 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.19>
+        } <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.20>
+         <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.21>
+        // Quicktime 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.22>
+        // before 8u40 it was all of media 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.23>
+        // after 8u40 QTKit dependencies are isolated in it's own library 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.24>
+        if (majorVersion == 8 && updateVersion >= 40) { 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.25>
             
rules.add(JreUtils.Rule.suffixNeg("/lib/libjfxmedia_qtkit.dylib")); 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.26>
         } else { 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.27>
             rules.add(JreUtils.Rule.suffixNeg("/lib/libjfxmedia.dylib")); 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.28>
         } <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.29>
+         <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.30>
+        // webkit 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.31>
+        // 8u60 webkit started using an API Apple didn't like 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.32>
+        if (majorVersion == 8 && updateVersion >= 60) { 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.33>
+            rules.add(JreUtils.Rule.suffixNeg("/lib/libjfxwebkit.dylib")); 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.34>
+        } <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.35>
+         <http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.36>
         return rules.toArray(new JreUtils.Rule[rules.size()]); 
<http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/761213753af4#l2.37>
     }

Chris


> On Nov 17, 2015, at 11:00 AM, Kevin Rushforth <kevin.rushfo...@oracle.com> 
> wrote:
> 
> Yes, this is correct. We consider this only a short term workaround for the 
> problem. A longer term solution will be needed that will allow distributing 
> WebView applications.
> 
> Chris: is there a way to override this behavior?
> 
> -- Kevin
> 
> 
> Dr. Michael Paus wrote:
>> Just in order to better understand this issue and the fix. Does this mean 
>> that the packager
>> will now ALWAYS delete the libjfxwebkit.dylib when building a DMG file? That 
>> would mean
>> that I could not bundle and distribute any application anymore for the Mac 
>> which uses
>> a WebView. Have you considered the fact that many people do bundle their 
>> apps but
>> have their own distribution channels and do not upload the apps to the Apple 
>> store.
>> There should at least be some switch to override this behavior.
>> Just my 2+1/2 cents.
>> Michael
>> 
>> 
>> 
>> 
>> Am 17.11.15 um 18:31 schrieb Kevin Rushforth:
>>> [taking awt-dev off of this thread]
>>> 
>>> The fix that was put into 8u72-b02 is that the packager will no longer 
>>> include libjfxwebkit.dylib in the packaged app. Is this not working 
>>> correctly?
>>> 
>>> -- Kevin
>>> 
>>> 
>>> Sergey Bylokhov wrote:
>>>> I think openjfx-dev@openjdk.java.net (cc) is correct place to ask this 
>>>> question.
>>>> 
>>>> On 16.11.15 23:10, Ondřej Kvasnovský wrote:
>>>>> Hi,
>>>>> 
>>>>> We are facing to an issue with latest Java updates when we try to
>>>>> release apps into Apple app store. I have described the issue here, with
>>>>> all my findings:
>>>>> http://ondrej-kvasnovsky.blogspot.com/2015/10/java-8-update-60-is-causing-apps-that.html
>>>>>  
>>>>> 
>>>>> In short, the issue is that we are not able to release Java app into app
>>>>> store since 1.8_60 because it uses private API (see the link above if
>>>>> you want to know how to verify that).
>>>>> 
>>>>> I spoke about this issue with Martijn Verburg and he pointed me to these
>>>>> two issues:
>>>>> https://bugs.openjdk.java.net/browse/JDK-8138650 - fixed for 8u72
>>>>> https://bugs.openjdk.java.net/browse/JDK-8138652 - permanent fix for 9
>>>>> (replace private libs with public ones)
>>>>> 
>>>>> I have downloaded that jdk1.8.0_72 b05 JDK and run (downloaded from
>>>>> https://jdk8.java.net/download.html):
>>>>> otool -L
>>>>> /Library/Java/JavaVirtualMachines/jdk1.8.0_72.jdk/Contents/Home/jre/lib/libjfxwebkit.dylib
>>>>>  
>>>>> | grep icu
>>>>> /usr/lib/libicucore.A.dylib (compatibility version 1.0.0, current
>>>>> version 51.1.0)
>>>>> And it the issue is still there, Build b05 still references private API.
>>>>> 
>>>>> I could even try to build and app and try to publish it for code review
>>>>> by Apple... but since there is this reference, I do not believe it is
>>>>> going to be successful.
>>>>> 
>>>>> Since this issue https://bugs.openjdk.java.net/browse/JDK-8138650 is
>>>>> considered to be fixed, but it seems it is not, could someone help with
>>>>> that?
>>>>> 
>>>>> 
>>>>> Best wishes,
>>>>> Ondrej Kvasnovsky
>>>> 
>>>> 
>> 

Reply via email to