Just to clarify, Sisu has _never_ used any Guava APIs directly, the use of Guava comes from its use of Guice.
In Guice 3.0 Guava was shaded in under an internal package, since then Guava is now an external dependency: https://github.com/google/guice/commit/3236b100a95b739577dfcd117c24615370a1d0af Guice also moved from using the makeComputingMap method (removed in Guava 15.0) to the CacheBuilder API (first introduced in Guava 10.0): https://github.com/google/guice/commit/8743a0bb0fb49f30117c846880a7df2e7b36657e This is why upgrading the version of Guice (specifically the frequent-release build used by Maven) was recommended if you wanted to use a more recent version of Guava (independent of any reasons to upgrade Sisu). Regarding the use of ‘sun.misc.Unsafe’ in Guava, looking at the code I believe this comes from the Striped64 class which is used by Cache statistics. This code was changed in Guava 14.0 to fall back to the public API if ‘sun.misc.Unsafe’ was unavailable: https://code.google.com/p/guava-libraries/issues/detail?id=1228 https://code.google.com/p/guava-libraries/source/detail?r=d6da7d86a2cab91bb3d33d983ccf5b07de14cc20 Hope that helps. — Cheers, Stuart On 15 Sep 2014, at 12:24, Igor Fedorenko <i...@ifedorenko.com> wrote: > We can move to the newer version of guava. This was one of the reasons I > updated to the latest sisu, I was told it did not depend on any internal > guava apis any more. Of course, somebody will have to check what guava > version is compatible with JDK 9 before we upgrade. > > -- > Regards, > Igor > > On 2014-09-15, 7:15, Kristian Rosenvold wrote: >> So if I read your report correctly, our code uses guava, which >> contains references to sun.misc.Unsafe. Actually it's sisu that uses >> guava, not maven core itself..... >> >> Not too much we can do about that, other than consider throwing guava >> out of sisu. As long as we're on a sub-1.8 minimum language level I >> assume guava stays in sisu. >> >> So "these are not the droids you're looking for" :) >> >> Kristian >> >> >> >> >> 2014-09-15 12:17 GMT+02:00 Rory O'Donnell Oracle, Dublin Ireland >> <rory.odonn...@oracle.com>: >>> Hi Stephen, >>> >>> One more time, hope this is ok. >>> >>> Rgds,Rory >>> >>> >>> JDK Internal API Usage Report for apache-maven-3.2.3 >>> >>> 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 apache-maven-3.2.3: >>> >>> * Numer of jar files depending on JDK-internal APIs: 1 >>> * Internal APIs that have known replacements: 0 >>> * Internal APIs that your team should migrate away: 1 >>> >>> >>> 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 sun.misc.Unsafe >>> >>> * lib/guava-14.0.1.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 15/09/2014 10:22, Stephen Connolly wrote: >>>> >>>> I think the mailing list stripped the attachment >>>> >>>> On Monday, 15 September 2014, Rory O'Donnell Oracle, Dublin Ireland < >>>> rory.odonn...@oracle.com> wrote: >>>> >>>>> Hi Robert,Kristian, >>>>> >>>>> 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 release apache-maven-3.2.3 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 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 >>> >>> >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org >> For additional commands, e-mail: dev-h...@maven.apache.org >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org >