You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by Rory O'Donnell <ro...@oracle.com> on 2015/06/15 15:08:29 UTC

Apache MyFaces dependencies on JDK-Internal APIs

Hi,

My name is Rory O'Donnell, I am the OpenJDK Quality Group Lead.

I'm contacting you because your open source project seems to be a very 
popular dependency for other open source projects.
As part of the preparations for JDK 9, Oracle’s engineers have been 
analyzing open source projects like yours to understand usage. One area 
of concern involves identifying compatibility problems, such as reliance 
on JDK-internal APIs.

Our engineers have already prepared guidance on migrating some of the 
more common usage patterns of JDK-internal APIs to supported public 
interfaces.  The list is on the OpenJDK wiki [0].

As part of the ongoing development of JDK 9, I would like to inquire 
about your usage of  JDK-internal APIs and to encourage migration 
towards supported Java APIs if necessary.

The first step is to identify if your application(s) is leveraging 
internal APIs.

/Step 1: Download JDeps. /

    Just download a preview release of JDK8(JDeps Download
    <https://jdk8.java.net/download.html>). You do not need to actually
    test or run your application on JDK8. JDeps(Docs
    <http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.html>)
    looks through JAR files and identifies which JAR files use internal
    APIs and then lists those APIs.

/Step 2: To run JDeps against an application/. The command looks like:

    jdk8/bin/jdeps -P -jdkinternals *.jar > your-application.jdeps.txt

    The output inside your-application.jdeps.txt will look like:

    your.package (Filename.jar)
           -> com.sun.corba.se            JDK internal API (rt.jar)

_3rd party library using Internal APIs:_
If your analysis uncovers a third-party component that you rely on, you 
can contact the provider and let them know of the upcoming changes. You 
can then either work with the provider to get an updated library that 
won't rely on Internal APIs, or you can find an alternative provider for 
the capabilities that the offending library provides.

_Dynamic use of Internal APIs:_
JDeps can not detect dynamic use of internal APIs, for example through 
reflection, service loaders and similar mechanisms.

Rgds,Rory

[0] https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool

-- 
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland


Re: Apache MyFaces dependencies on JDK-Internal APIs

Posted by Dennis Kieselhorst <ma...@dekies.de>.
Rory O'Donnell wrote
> Thanks for that, was that Tobago 2.0.8 ?

Yes.

Regards
Dennis



--
View this message in context: http://myfaces.10567.n7.nabble.com/Apache-MyFaces-dependencies-on-JDK-Internal-APIs-tp120180p120327.html
Sent from the My Faces - Dev mailing list archive at Nabble.com.

Re: Apache MyFaces dependencies on JDK-Internal APIs

Posted by Rory O'Donnell <ro...@oracle.com>.
Thanks for that, was that Tobago 2.0.8 ?

Rgds, Rory

On 06/07/2015 09:47, Dennis Kieselhorst wrote:
> Today I checked it for Tobago, the report is empty.
>
> Regards
> Dennis
>
>
>
> --
> View this message in context: http://myfaces.10567.n7.nabble.com/Apache-MyFaces-dependencies-on-JDK-Internal-APIs-tp120180p120325.html
> Sent from the My Faces - Dev mailing list archive at Nabble.com.

-- 
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland


Re: Apache MyFaces dependencies on JDK-Internal APIs

Posted by Dennis Kieselhorst <ma...@dekies.de>.
Today I checked it for Tobago, the report is empty.

Regards
Dennis



--
View this message in context: http://myfaces.10567.n7.nabble.com/Apache-MyFaces-dependencies-on-JDK-Internal-APIs-tp120180p120325.html
Sent from the My Faces - Dev mailing list archive at Nabble.com.

Re: Apache MyFaces dependencies on JDK-Internal APIs

Posted by Rory O'Donnell <ro...@oracle.com>.
Great, thanks Mark.

Rgds,Rory

On 23/06/2015 15:37, Mark Struberg wrote:
> I’ve checked core api + impl with 1.8.0_45 and didn’t find anything popping up.
>
>
> find . -name „*.jar" | xargs $JAVA_HOME/bin/jdeps -P -jdkinternals
>
> LieGrue,
> strub
>
>
>> Am 22.06.2015 um 19:29 schrieb Mike Kienenberger <mk...@gmail.com>:
>>
>> MyFaces encompasses 11 subprojects, so it's going to take a lot of
>> resources to check all of them.
>>
>> I know that there was a dependency fixed for the MyFaces Tomahawk
>> examples to the sun image package in the last couple of months.
>>
>> On Mon, Jun 22, 2015 at 1:03 PM, Mark Struberg <st...@yahoo.de> wrote:
>>> I quickly checked but had not enough spare time to dig deeper.
>>> Probably doing in the next days.
>>>
>>> Txs for the ping though, higly appreciated!
>>>
>>> LieGrue,
>>> strub
>>>
>>>
>>>
>>>> Am 22.06.2015 um 13:30 schrieb Rory O'Donnell <ro...@oracle.com>:
>>>>
>>>> Hi,
>>>>
>>>> Just wondering if anyone has had a chance to run the jdeps tool to check for dependencies on JDK-Internal APIs ?
>>>>
>>>> Rgds,Rory
>>>>
>>>> On 15/06/2015 14:08, Rory O'Donnell wrote:
>>>>> Hi,
>>>>>
>>>>> My name is Rory O'Donnell, I am the OpenJDK Quality Group Lead.
>>>>>
>>>>> I'm contacting you because your open source project seems to be a very popular dependency for other open source projects.
>>>>> As part of the preparations for JDK 9, Oracle’s engineers have been analyzing open source projects like yours to understand usage. One area of concern involves identifying compatibility problems, such as reliance on JDK-internal APIs.
>>>>>
>>>>> Our engineers have already prepared guidance on migrating some of the more common usage patterns of JDK-internal APIs to supported public interfaces.  The list is on the OpenJDK wiki [0].
>>>>>
>>>>> As part of the ongoing development of JDK 9, I would like to inquire about your usage of  JDK-internal APIs and to encourage migration towards supported Java APIs if necessary.
>>>>>
>>>>> The first step is to identify if your application(s) is leveraging internal APIs.
>>>>>
>>>>> Step 1: Download JDeps.
>>>>> Just download a preview release of JDK8(JDeps Download). You do not need to actually test or run your application on JDK8.  JDeps(Docs) looks through JAR files and identifies which JAR files use internal APIs and then lists those APIs.
>>>>> Step 2: To run JDeps against an application. The command looks like:
>>>>> jdk8/bin/jdeps -P -jdkinternals *.jar > your-application.jdeps.txt
>>>>>
>>>>> The output inside your-application.jdeps.txt will look like:
>>>>>
>>>>> your.package (Filename.jar)
>>>>>      -> com.sun.corba.se            JDK internal API (rt.jar)
>>>>> 3rd party library using Internal APIs:
>>>>> If your analysis uncovers a third-party component that you rely on, you can contact the provider and let them know of the upcoming changes. You can then either work with the provider to get an updated library that won't rely on Internal APIs, or you can find an alternative provider for the capabilities that the offending library provides.
>>>>>
>>>>> Dynamic use of Internal APIs:
>>>>> JDeps can not detect dynamic use of internal APIs, for example through reflection, service loaders and similar mechanisms.
>>>>>
>>>>> Rgds,Rory
>>>>>
>>>>> [0] https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
>>>>> --
>>>>> Rgds,Rory O'Donnell
>>>>> Quality Engineering Manager
>>>>> Oracle EMEA , Dublin, Ireland
>>>>>
>>>> --
>>>> Rgds,Rory O'Donnell
>>>> Quality Engineering Manager
>>>> Oracle EMEA , Dublin, Ireland
>>>>

-- 
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland


Re: Apache MyFaces dependencies on JDK-Internal APIs

Posted by Mark Struberg <st...@yahoo.de>.
I’ve checked core api + impl with 1.8.0_45 and didn’t find anything popping up.


find . -name „*.jar" | xargs $JAVA_HOME/bin/jdeps -P -jdkinternals

LieGrue,
strub


> Am 22.06.2015 um 19:29 schrieb Mike Kienenberger <mk...@gmail.com>:
> 
> MyFaces encompasses 11 subprojects, so it's going to take a lot of
> resources to check all of them.
> 
> I know that there was a dependency fixed for the MyFaces Tomahawk
> examples to the sun image package in the last couple of months.
> 
> On Mon, Jun 22, 2015 at 1:03 PM, Mark Struberg <st...@yahoo.de> wrote:
>> I quickly checked but had not enough spare time to dig deeper.
>> Probably doing in the next days.
>> 
>> Txs for the ping though, higly appreciated!
>> 
>> LieGrue,
>> strub
>> 
>> 
>> 
>>> Am 22.06.2015 um 13:30 schrieb Rory O'Donnell <ro...@oracle.com>:
>>> 
>>> Hi,
>>> 
>>> Just wondering if anyone has had a chance to run the jdeps tool to check for dependencies on JDK-Internal APIs ?
>>> 
>>> Rgds,Rory
>>> 
>>> On 15/06/2015 14:08, Rory O'Donnell wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> My name is Rory O'Donnell, I am the OpenJDK Quality Group Lead.
>>>> 
>>>> I'm contacting you because your open source project seems to be a very popular dependency for other open source projects.
>>>> As part of the preparations for JDK 9, Oracle’s engineers have been analyzing open source projects like yours to understand usage. One area of concern involves identifying compatibility problems, such as reliance on JDK-internal APIs.
>>>> 
>>>> Our engineers have already prepared guidance on migrating some of the more common usage patterns of JDK-internal APIs to supported public interfaces.  The list is on the OpenJDK wiki [0].
>>>> 
>>>> As part of the ongoing development of JDK 9, I would like to inquire about your usage of  JDK-internal APIs and to encourage migration towards supported Java APIs if necessary.
>>>> 
>>>> The first step is to identify if your application(s) is leveraging internal APIs.
>>>> 
>>>> Step 1: Download JDeps.
>>>> Just download a preview release of JDK8(JDeps Download). You do not need to actually test or run your application on JDK8.  JDeps(Docs) looks through JAR files and identifies which JAR files use internal APIs and then lists those APIs.
>>>> Step 2: To run JDeps against an application. The command looks like:
>>>> jdk8/bin/jdeps -P -jdkinternals *.jar > your-application.jdeps.txt
>>>> 
>>>> The output inside your-application.jdeps.txt will look like:
>>>> 
>>>> your.package (Filename.jar)
>>>>     -> com.sun.corba.se            JDK internal API (rt.jar)
>>>> 3rd party library using Internal APIs:
>>>> If your analysis uncovers a third-party component that you rely on, you can contact the provider and let them know of the upcoming changes. You can then either work with the provider to get an updated library that won't rely on Internal APIs, or you can find an alternative provider for the capabilities that the offending library provides.
>>>> 
>>>> Dynamic use of Internal APIs:
>>>> JDeps can not detect dynamic use of internal APIs, for example through reflection, service loaders and similar mechanisms.
>>>> 
>>>> Rgds,Rory
>>>> 
>>>> [0] https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
>>>> --
>>>> Rgds,Rory O'Donnell
>>>> Quality Engineering Manager
>>>> Oracle EMEA , Dublin, Ireland
>>>> 
>>> 
>>> --
>>> Rgds,Rory O'Donnell
>>> Quality Engineering Manager
>>> Oracle EMEA , Dublin, Ireland
>>> 
>> 


Re: Apache MyFaces dependencies on JDK-Internal APIs

Posted by Rory O'Donnell <ro...@oracle.com>.
Thanks for the update, let us know how you progress.

Rgds,Rory

On 22/06/2015 18:29, Mike Kienenberger wrote:
> MyFaces encompasses 11 subprojects, so it's going to take a lot of
> resources to check all of them.
>
> I know that there was a dependency fixed for the MyFaces Tomahawk
> examples to the sun image package in the last couple of months.
>
> On Mon, Jun 22, 2015 at 1:03 PM, Mark Struberg <st...@yahoo.de> wrote:
>> I quickly checked but had not enough spare time to dig deeper.
>> Probably doing in the next days.
>>
>> Txs for the ping though, higly appreciated!
>>
>> LieGrue,
>> strub
>>
>>
>>
>>> Am 22.06.2015 um 13:30 schrieb Rory O'Donnell <ro...@oracle.com>:
>>>
>>> Hi,
>>>
>>> Just wondering if anyone has had a chance to run the jdeps tool to check for dependencies on JDK-Internal APIs ?
>>>
>>> Rgds,Rory
>>>
>>> On 15/06/2015 14:08, Rory O'Donnell wrote:
>>>> Hi,
>>>>
>>>> My name is Rory O'Donnell, I am the OpenJDK Quality Group Lead.
>>>>
>>>> I'm contacting you because your open source project seems to be a very popular dependency for other open source projects.
>>>> As part of the preparations for JDK 9, Oracle’s engineers have been analyzing open source projects like yours to understand usage. One area of concern involves identifying compatibility problems, such as reliance on JDK-internal APIs.
>>>>
>>>> Our engineers have already prepared guidance on migrating some of the more common usage patterns of JDK-internal APIs to supported public interfaces.  The list is on the OpenJDK wiki [0].
>>>>
>>>> As part of the ongoing development of JDK 9, I would like to inquire about your usage of  JDK-internal APIs and to encourage migration towards supported Java APIs if necessary.
>>>>
>>>> The first step is to identify if your application(s) is leveraging internal APIs.
>>>>
>>>>    Step 1: Download JDeps.
>>>> Just download a preview release of JDK8(JDeps Download). You do not need to actually test or run your application on JDK8.  JDeps(Docs) looks through JAR files and identifies which JAR files use internal APIs and then lists those APIs.
>>>>    Step 2: To run JDeps against an application. The command looks like:
>>>> jdk8/bin/jdeps -P -jdkinternals *.jar > your-application.jdeps.txt
>>>>
>>>> The output inside your-application.jdeps.txt will look like:
>>>>
>>>> your.package (Filename.jar)
>>>>        -> com.sun.corba.se            JDK internal API (rt.jar)
>>>> 3rd party library using Internal APIs:
>>>> If your analysis uncovers a third-party component that you rely on, you can contact the provider and let them know of the upcoming changes. You can then either work with the provider to get an updated library that won't rely on Internal APIs, or you can find an alternative provider for the capabilities that the offending library provides.
>>>>
>>>> Dynamic use of Internal APIs:
>>>> JDeps can not detect dynamic use of internal APIs, for example through reflection, service loaders and similar mechanisms.
>>>>
>>>> Rgds,Rory
>>>>
>>>> [0] https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
>>>> --
>>>> Rgds,Rory O'Donnell
>>>> Quality Engineering Manager
>>>> Oracle EMEA , Dublin, Ireland
>>>>
>>> --
>>> Rgds,Rory O'Donnell
>>> Quality Engineering Manager
>>> Oracle EMEA , Dublin, Ireland
>>>

-- 
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland


Re: Apache MyFaces dependencies on JDK-Internal APIs

Posted by Mike Kienenberger <mk...@gmail.com>.
MyFaces encompasses 11 subprojects, so it's going to take a lot of
resources to check all of them.

I know that there was a dependency fixed for the MyFaces Tomahawk
examples to the sun image package in the last couple of months.

On Mon, Jun 22, 2015 at 1:03 PM, Mark Struberg <st...@yahoo.de> wrote:
> I quickly checked but had not enough spare time to dig deeper.
> Probably doing in the next days.
>
> Txs for the ping though, higly appreciated!
>
> LieGrue,
> strub
>
>
>
>> Am 22.06.2015 um 13:30 schrieb Rory O'Donnell <ro...@oracle.com>:
>>
>> Hi,
>>
>> Just wondering if anyone has had a chance to run the jdeps tool to check for dependencies on JDK-Internal APIs ?
>>
>> Rgds,Rory
>>
>> On 15/06/2015 14:08, Rory O'Donnell wrote:
>>>
>>> Hi,
>>>
>>> My name is Rory O'Donnell, I am the OpenJDK Quality Group Lead.
>>>
>>> I'm contacting you because your open source project seems to be a very popular dependency for other open source projects.
>>> As part of the preparations for JDK 9, Oracle’s engineers have been analyzing open source projects like yours to understand usage. One area of concern involves identifying compatibility problems, such as reliance on JDK-internal APIs.
>>>
>>> Our engineers have already prepared guidance on migrating some of the more common usage patterns of JDK-internal APIs to supported public interfaces.  The list is on the OpenJDK wiki [0].
>>>
>>> As part of the ongoing development of JDK 9, I would like to inquire about your usage of  JDK-internal APIs and to encourage migration towards supported Java APIs if necessary.
>>>
>>> The first step is to identify if your application(s) is leveraging internal APIs.
>>>
>>>   Step 1: Download JDeps.
>>> Just download a preview release of JDK8(JDeps Download). You do not need to actually test or run your application on JDK8.  JDeps(Docs) looks through JAR files and identifies which JAR files use internal APIs and then lists those APIs.
>>>   Step 2: To run JDeps against an application. The command looks like:
>>> jdk8/bin/jdeps -P -jdkinternals *.jar > your-application.jdeps.txt
>>>
>>> The output inside your-application.jdeps.txt will look like:
>>>
>>> your.package (Filename.jar)
>>>       -> com.sun.corba.se            JDK internal API (rt.jar)
>>> 3rd party library using Internal APIs:
>>> If your analysis uncovers a third-party component that you rely on, you can contact the provider and let them know of the upcoming changes. You can then either work with the provider to get an updated library that won't rely on Internal APIs, or you can find an alternative provider for the capabilities that the offending library provides.
>>>
>>> Dynamic use of Internal APIs:
>>> JDeps can not detect dynamic use of internal APIs, for example through reflection, service loaders and similar mechanisms.
>>>
>>> Rgds,Rory
>>>
>>> [0] https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
>>> --
>>> Rgds,Rory O'Donnell
>>> Quality Engineering Manager
>>> Oracle EMEA , Dublin, Ireland
>>>
>>
>> --
>> Rgds,Rory O'Donnell
>> Quality Engineering Manager
>> Oracle EMEA , Dublin, Ireland
>>
>

Re: Apache MyFaces dependencies on JDK-Internal APIs

Posted by Mark Struberg <st...@yahoo.de>.
I quickly checked but had not enough spare time to dig deeper. 
Probably doing in the next days.

Txs for the ping though, higly appreciated!

LieGrue,
strub



> Am 22.06.2015 um 13:30 schrieb Rory O'Donnell <ro...@oracle.com>:
> 
> Hi,
> 
> Just wondering if anyone has had a chance to run the jdeps tool to check for dependencies on JDK-Internal APIs ?
> 
> Rgds,Rory
> 
> On 15/06/2015 14:08, Rory O'Donnell wrote:
>> 
>> Hi, 
>> 
>> My name is Rory O'Donnell, I am the OpenJDK Quality Group Lead.  
>> 
>> I'm contacting you because your open source project seems to be a very popular dependency for other open source projects.
>> As part of the preparations for JDK 9, Oracle’s engineers have been analyzing open source projects like yours to understand usage. One area of concern involves identifying compatibility problems, such as reliance on JDK-internal APIs. 
>> 
>> Our engineers have already prepared guidance on migrating some of the more common usage patterns of JDK-internal APIs to supported public interfaces.  The list is on the OpenJDK wiki [0].
>> 
>> As part of the ongoing development of JDK 9, I would like to inquire about your usage of  JDK-internal APIs and to encourage migration towards supported Java APIs if necessary.
>> 
>> The first step is to identify if your application(s) is leveraging internal APIs. 
>> 
>>   Step 1: Download JDeps. 
>> Just download a preview release of JDK8(JDeps Download). You do not need to actually test or run your application on JDK8.  JDeps(Docs) looks through JAR files and identifies which JAR files use internal APIs and then lists those APIs.    
>>   Step 2: To run JDeps against an application. The command looks like:
>> jdk8/bin/jdeps -P -jdkinternals *.jar > your-application.jdeps.txt
>> 
>> The output inside your-application.jdeps.txt will look like:
>> 
>> your.package (Filename.jar)
>>       -> com.sun.corba.se            JDK internal API (rt.jar)
>> 3rd party library using Internal APIs:
>> If your analysis uncovers a third-party component that you rely on, you can contact the provider and let them know of the upcoming changes. You can then either work with the provider to get an updated library that won't rely on Internal APIs, or you can find an alternative provider for the capabilities that the offending library provides.
>> 
>> Dynamic use of Internal APIs:
>> JDeps can not detect dynamic use of internal APIs, for example through reflection, service loaders and similar mechanisms.
>> 
>> Rgds,Rory 
>> 
>> [0] https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
>> -- 
>> Rgds,Rory O'Donnell
>> Quality Engineering Manager
>> Oracle EMEA , Dublin, Ireland 
>> 
> 
> -- 
> Rgds,Rory O'Donnell
> Quality Engineering Manager
> Oracle EMEA , Dublin, Ireland 
> 


Re: Apache MyFaces dependencies on JDK-Internal APIs

Posted by Rory O'Donnell <ro...@oracle.com>.
Hi,

Just wondering if anyone has had a chance to run the jdeps tool to check 
for dependencies on JDK-Internal APIs ?

Rgds,Rory

On 15/06/2015 14:08, Rory O'Donnell wrote:
>
> Hi,
>
> My name is Rory O'Donnell, I am the OpenJDK Quality Group Lead.
>
> I'm contacting you because your open source project seems to be a very 
> popular dependency for other open source projects.
> As part of the preparations for JDK 9, Oracle’s engineers have been 
> analyzing open source projects like yours to understand usage. One 
> area of concern involves identifying compatibility problems, such as 
> reliance on JDK-internal APIs.
>
> Our engineers have already prepared guidance on migrating some of the 
> more common usage patterns of JDK-internal APIs to supported public 
> interfaces.  The list is on the OpenJDK wiki [0].
>
> As part of the ongoing development of JDK 9, I would like to inquire 
> about your usage of  JDK-internal APIs and to encourage migration 
> towards supported Java APIs if necessary.
>
> The first step is to identify if your application(s) is leveraging 
> internal APIs.
>
> /Step 1: Download JDeps. /
>
>     Just download a preview release of JDK8(JDeps Download
>     <https://jdk8.java.net/download.html>). You do not need to
>     actually test or run your application on JDK8.  JDeps(Docs
>     <http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.html>)
>     looks through JAR files and identifies which JAR files use
>     internal APIs and then lists those APIs.
>
> /Step 2: To run JDeps against an application/. The command looks like:
>
>     jdk8/bin/jdeps -P -jdkinternals *.jar > your-application.jdeps.txt
>
>     The output inside your-application.jdeps.txt will look like:
>
>     your.package (Filename.jar)
>           -> com.sun.corba.se            JDK internal API (rt.jar)
>
> _3rd party library using Internal APIs:_
> If your analysis uncovers a third-party component that you rely on, 
> you can contact the provider and let them know of the upcoming 
> changes. You can then either work with the provider to get an updated 
> library that won't rely on Internal APIs, or you can find an 
> alternative provider for the capabilities that the offending library 
> provides.
>
> _Dynamic use of Internal APIs:_
> JDeps can not detect dynamic use of internal APIs, for example through 
> reflection, service loaders and similar mechanisms.
>
> Rgds,Rory
>
> [0] 
> https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
> -- 
> Rgds,Rory O'Donnell
> Quality Engineering Manager
> Oracle EMEA , Dublin, Ireland

-- 
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland