Below is a text output of the report for infinispan-6.0.2.
Rgds,Rory
------------------------------------------------------------------------
JDK Internal API Usage Report for infinispan-6.0.2.Final-all
The OpenJDK Quality Outreach campaign has run a compatibility report to
identify usage of JDK-internal APIs. Usage of these JDK-internal APIs
could pose compatibility issues, as the Java team explained in 1996
<
http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html>.
We have created this report to help you identify which JDK-internal APIs
your project uses, what to use instead, and where those changes should
go. Making these changes will improve your compatibility, and in some
cases give better performance.
Migrating away from the JDK-internal APIs now will give your team
adequate time for testing before the release of JDK 9. If you are unable
to migrate away from an internal API, please provide us with an
explanation below to help us understand it better. As a reminder,
supported APIs are determined by the OpenJDK's Java Community Process
and not by Oracle.
This report was generated by jdeps
<
http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.html>
through static analysis of artifacts: it does not identify any usage of
those APIs through reflection or dynamic bytecode. You may also run
jdeps on your own
<
https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool>
if you would prefer.
Summary of the analysis of the jar files within infinispan-6.0.2.Final-all:
* Numer of jar files depending on JDK-internal APIs: 10
* Internal APIs that have known replacements: 0
* Internal APIs that have no supported replacements: 73
APIs that have known replacements
<
https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool>:
ID Replace Usage of With Inside
JDK-internal APIs without supported replacements:
ID Internal APIs (do not use) Used by
1 com.sun.org.apache.xml.internal.utils.PrefixResolver
* lib/freemarker-2.3.11.jar
Explanation...
2 com.sun.org.apache.xpath.internal.XPath
* lib/freemarker-2.3.11.jar
Explanation...
3 com.sun.org.apache.xpath.internal.XPathContext
* lib/freemarker-2.3.11.jar
Explanation...
4 com.sun.org.apache.xpath.internal.objects.XBoolean
* lib/freemarker-2.3.11.jar
Explanation...
5 com.sun.org.apache.xpath.internal.objects.XNodeSet
* lib/freemarker-2.3.11.jar
Explanation...
6 com.sun.org.apache.xpath.internal.objects.XNull
* lib/freemarker-2.3.11.jar
Explanation...
7 com.sun.org.apache.xpath.internal.objects.XNumber
* lib/freemarker-2.3.11.jar
Explanation...
8 com.sun.org.apache.xpath.internal.objects.XObject
* lib/freemarker-2.3.11.jar
Explanation...
9 com.sun.org.apache.xpath.internal.objects.XString
* lib/freemarker-2.3.11.jar
Explanation...
10 org.w3c.dom.html.HTMLAnchorElement
* lib/xercesImpl-2.9.1.jar
Explanation...
11 org.w3c.dom.html.HTMLAppletElement
* lib/xercesImpl-2.9.1.jar
Explanation...
12 org.w3c.dom.html.HTMLAreaElement
* lib/xercesImpl-2.9.1.jar
Explanation...
13 org.w3c.dom.html.HTMLBRElement
* lib/xercesImpl-2.9.1.jar
Explanation...
14 org.w3c.dom.html.HTMLBaseElement
* lib/xercesImpl-2.9.1.jar
Explanation...
15 org.w3c.dom.html.HTMLBaseFontElement
* lib/xercesImpl-2.9.1.jar
Explanation...
16 org.w3c.dom.html.HTMLBodyElement
* lib/xercesImpl-2.9.1.jar
Explanation...
17 org.w3c.dom.html.HTMLButtonElement
* lib/xercesImpl-2.9.1.jar
Explanation...
18 org.w3c.dom.html.HTMLCollection
* lib/xercesImpl-2.9.1.jar
Explanation...
19 org.w3c.dom.html.HTMLDListElement
* lib/xercesImpl-2.9.1.jar
Explanation...
20 org.w3c.dom.html.HTMLDirectoryElement
* lib/xercesImpl-2.9.1.jar
Explanation...
21 org.w3c.dom.html.HTMLDivElement
* lib/xercesImpl-2.9.1.jar
Explanation...
22 org.w3c.dom.html.HTMLDocument
* lib/xercesImpl-2.9.1.jar
Explanation...
23 org.w3c.dom.html.HTMLElement
* lib/xercesImpl-2.9.1.jar
Explanation...
24 org.w3c.dom.html.HTMLFieldSetElement
* lib/xercesImpl-2.9.1.jar
Explanation...
25 org.w3c.dom.html.HTMLFontElement
* lib/xercesImpl-2.9.1.jar
Explanation...
26 org.w3c.dom.html.HTMLFormElement
* lib/xercesImpl-2.9.1.jar
Explanation...
27 org.w3c.dom.html.HTMLFrameElement
* lib/xercesImpl-2.9.1.jar
Explanation...
28 org.w3c.dom.html.HTMLFrameSetElement
* lib/xercesImpl-2.9.1.jar
Explanation...
29 org.w3c.dom.html.HTMLHRElement
* lib/xercesImpl-2.9.1.jar
Explanation...
30 org.w3c.dom.html.HTMLHeadElement
* lib/xercesImpl-2.9.1.jar
Explanation...
31 org.w3c.dom.html.HTMLHeadingElement
* lib/xercesImpl-2.9.1.jar
Explanation...
32 org.w3c.dom.html.HTMLHtmlElement
* lib/xercesImpl-2.9.1.jar
Explanation...
33 org.w3c.dom.html.HTMLIFrameElement
* lib/xercesImpl-2.9.1.jar
Explanation...
34 org.w3c.dom.html.HTMLImageElement
* lib/xercesImpl-2.9.1.jar
Explanation...
35 org.w3c.dom.html.HTMLInputElement
* lib/xercesImpl-2.9.1.jar
Explanation...
36 org.w3c.dom.html.HTMLIsIndexElement
* lib/xercesImpl-2.9.1.jar
Explanation...
37 org.w3c.dom.html.HTMLLIElement
* lib/xercesImpl-2.9.1.jar
Explanation...
38 org.w3c.dom.html.HTMLLabelElement
* lib/xercesImpl-2.9.1.jar
Explanation...
39 org.w3c.dom.html.HTMLLegendElement
* lib/xercesImpl-2.9.1.jar
Explanation...
40 org.w3c.dom.html.HTMLLinkElement
* lib/xercesImpl-2.9.1.jar
Explanation...
41 org.w3c.dom.html.HTMLMapElement
* lib/xercesImpl-2.9.1.jar
Explanation...
42 org.w3c.dom.html.HTMLMenuElement
* lib/xercesImpl-2.9.1.jar
Explanation...
43 org.w3c.dom.html.HTMLMetaElement
* lib/xercesImpl-2.9.1.jar
Explanation...
44 org.w3c.dom.html.HTMLModElement
* lib/xercesImpl-2.9.1.jar
Explanation...
45 org.w3c.dom.html.HTMLOListElement
* lib/xercesImpl-2.9.1.jar
Explanation...
46 org.w3c.dom.html.HTMLObjectElement
* lib/xercesImpl-2.9.1.jar
Explanation...
47 org.w3c.dom.html.HTMLOptGroupElement
* lib/xercesImpl-2.9.1.jar
Explanation...
48 org.w3c.dom.html.HTMLOptionElement
* lib/xercesImpl-2.9.1.jar
Explanation...
49 org.w3c.dom.html.HTMLParagraphElement
* lib/xercesImpl-2.9.1.jar
Explanation...
50 org.w3c.dom.html.HTMLParamElement
* lib/xercesImpl-2.9.1.jar
Explanation...
51 org.w3c.dom.html.HTMLPreElement
* lib/xercesImpl-2.9.1.jar
Explanation...
52 org.w3c.dom.html.HTMLQuoteElement
* lib/xercesImpl-2.9.1.jar
Explanation...
53 org.w3c.dom.html.HTMLScriptElement
* lib/xercesImpl-2.9.1.jar
Explanation...
54 org.w3c.dom.html.HTMLSelectElement
* lib/xercesImpl-2.9.1.jar
Explanation...
55 org.w3c.dom.html.HTMLStyleElement
* lib/xercesImpl-2.9.1.jar
Explanation...
56 org.w3c.dom.html.HTMLTableCaptionElement
* lib/xercesImpl-2.9.1.jar
Explanation...
57 org.w3c.dom.html.HTMLTableCellElement
* lib/xercesImpl-2.9.1.jar
Explanation...
58 org.w3c.dom.html.HTMLTableColElement
* lib/xercesImpl-2.9.1.jar
Explanation...
59 org.w3c.dom.html.HTMLTableElement
* lib/xercesImpl-2.9.1.jar
Explanation...
60 org.w3c.dom.html.HTMLTableRowElement
* lib/xercesImpl-2.9.1.jar
Explanation...
61 org.w3c.dom.html.HTMLTableSectionElement
* lib/xercesImpl-2.9.1.jar
Explanation...
62 org.w3c.dom.html.HTMLTextAreaElement
* lib/xercesImpl-2.9.1.jar
Explanation...
63 org.w3c.dom.html.HTMLTitleElement
* lib/xercesImpl-2.9.1.jar
Explanation...
64 org.w3c.dom.html.HTMLUListElement
* lib/xercesImpl-2.9.1.jar
Explanation...
65 org.w3c.dom.ranges.DocumentRange
* lib/xercesImpl-2.9.1.jar
Explanation...
66 org.w3c.dom.ranges.Range
* lib/xercesImpl-2.9.1.jar
Explanation...
67 org.w3c.dom.ranges.RangeException
* lib/xercesImpl-2.9.1.jar
Explanation...
68 sun.misc.Signal
* lib/aesh-0.33.7.jar
Explanation...
69 sun.misc.SignalHandler
* lib/aesh-0.33.7.jar
Explanation...
70 sun.misc.Unsafe
* lib/avro-1.7.5.jar
* lib/guava-12.0.jar
* lib/infinispan-commons-6.0.2.Final.jar
* lib/mvel2-2.0.12.jar
* lib/scala-library-2.10.2.jar
Explanation...
71 sun.nio.ch.FileChannelImpl
* lib/leveldb-0.5.jar
Explanation...
72 sun.reflect.ReflectionFactory
* lib/jboss-marshalling-1.4.4.Final.jar
Explanation...
73 sun.reflect.ReflectionFactory$GetReflectionFactoryAction
* lib/jboss-marshalling-1.4.4.Final.jar
Explanation...
Identify External Replacements
You should use a separate third-party library that performs this
functionality.
ID Internal API (grouped by package) Used By Identify External
Replacement
------------------------------------------------------------------------
On 24/09/2014 08:55, Rory O'Donnell Oracle, Dublin Ireland wrote:
Hi Galder,
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], along with
instructions on how to run the jdeps analysis tool yourself .
As part of the ongoing development of JDK 9, I would like to encourage
migration from JDK-internal APIs towards the supported Java APIs. I
have prepared a report for your project rele ase infinispan-6.0.2
based on the jdeps output.
The report is attached to this e-mail.
For anything where your migration path is unclear, I would appreciate
comments on the JDK-internal API usage patterns in the attached jdeps
report - in particular comments elaborating on the rationale for them
- either to me or on this mailing list.
Finding suitable replacements for unsupported interfaces is not always
straightforward, which is why I am reaching out to you early in the
JDK 9 development cycle so you can give feedback about new APIs that
may be needed to facilitate this exercise.
Thank you in advance for any efforts and feedback helping us make JDK
9 better.
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