Ah,
by the way, the jai-core and jai-imageio bits are grayed out, but they need
to be deal with somewhere.
I have the impression that the complaints are related to parts of those
libs that we are not using,
and maybe they can be solved by just manually re-packaging those jars with
only the bits that we are actually using,
but I'm not sure, needs to be investigated.

Cheers
Andrea


On Sun, Sep 30, 2018 at 11:06 AM Andrea Aime <andrea.a...@geo-solutions.it>
wrote:

> Hi,
> I am looking at internal API usage that we (likely) have to remove during
> the JDK 11 upgrade effort.
> The jdeps tool can scan jars and find internal API usage, so I used it.
> I've already run it on jai-ext (no complaints)
> and imageio-ext (see results at
> https://github.com/geosolutions-it/imageio-ext/issues/172 ).
>
> Here are the results running it onto GeoTools (I've collected the GeoTools
> jars, release style, went into target/binaries, and run jdeps):
>
> jdeps --jdk-internals -R *.jar
> ehcache-2.10.3.jar -> jdk.unsupported
>    net.sf.ehcache.pool.sizeof.UnsafeSizeOf            -> sun.misc.Unsafe
>                                   JDK internal API (jdk.unsupported)
> gt-arcsde-21-SNAPSHOT.jar -> java.desktop
>    org.geotools.arcsde.raster.info.RasterUtils        ->
> com.sun.imageio.plugins.common.BogusColorSpace     JDK internal API
> (java.desktop)
> gt-coverage-api-21-SNAPSHOT.jar -> java.desktop
>    org.geotools.coverage.io.util.Utilities            -> sun.awt.OSInfo
>                                  JDK internal API (java.desktop)
>    org.geotools.coverage.io.util.Utilities            ->
> sun.awt.OSInfo$OSType                              JDK internal API
> (java.desktop)
> imageio-ext-streams-1.1.25.jar -> java.desktop
>    it.geosolutions.imageio.stream.input.spi.FileImageInputStreamExtImplSpi
> -> com.sun.imageio.spi.FileImageInputStreamSpi        JDK internal API
> (java.desktop)
>
>  it.geosolutions.imageio.stream.output.spi.FileImageOutputStreamExtImplSpi
> -> com.sun.imageio.spi.FileImageOutputStreamSpi       JDK internal API
> (java.desktop)
> imageio-ext-utilities-1.1.25.jar -> java.desktop
>    it.geosolutions.imageio.utilities.ImageIOUtilities ->
> com.sun.imageio.plugins.common.BogusColorSpace     JDK internal API
> (java.desktop)
> jai_codec-1.1.3.jar -> JDK removed internal API
> jai_codec-1.1.3.jar -> java.base
>    com.sun.media.jai.codecimpl.JPEGImage              ->
> com.sun.image.codec.jpeg.ImageFormatException      JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.JPEGImage              ->
> com.sun.image.codec.jpeg.JPEGCodec                 JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.JPEGImage              ->
> com.sun.image.codec.jpeg.JPEGImageDecoder          JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.JPEGImageEncoder       ->
> com.sun.image.codec.jpeg.JPEGCodec                 JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.JPEGImageEncoder       ->
> com.sun.image.codec.jpeg.JPEGEncodeParam           JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.JPEGImageEncoder       ->
> com.sun.image.codec.jpeg.JPEGImageEncoder          JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.JPEGImageEncoder       ->
> com.sun.image.codec.jpeg.JPEGQTable                JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.PNMImage               ->
> sun.security.action.GetPropertyAction              JDK internal API
> (java.base)
>    com.sun.media.jai.codecimpl.PNMImageEncoder        ->
> sun.security.action.GetPropertyAction              JDK internal API
> (java.base)
>    com.sun.media.jai.codecimpl.TIFFImage              ->
> com.sun.image.codec.jpeg.JPEGCodec                 JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.TIFFImage              ->
> com.sun.image.codec.jpeg.JPEGDecodeParam           JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.TIFFImage              ->
> com.sun.image.codec.jpeg.JPEGImageDecoder          JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.TIFFImageEncoder       ->
> com.sun.image.codec.jpeg.JPEGCodec                 JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.TIFFImageEncoder       ->
> com.sun.image.codec.jpeg.JPEGEncodeParam           JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.TIFFImageEncoder       ->
> com.sun.image.codec.jpeg.JPEGImageEncoder          JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.fpx.FPXImage           ->
> com.sun.image.codec.jpeg.JPEGCodec                 JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.fpx.FPXImage           ->
> com.sun.image.codec.jpeg.JPEGDecodeParam           JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.codecimpl.fpx.FPXImage           ->
> com.sun.image.codec.jpeg.JPEGImageDecoder          JDK internal API (JDK
> removed internal API)
> jai_core-1.1.3.jar -> JDK removed internal API
> jai_core-1.1.3.jar -> java.desktop
>    com.sun.media.jai.opimage.IIPResolutionOpImage     ->
> com.sun.image.codec.jpeg.JPEGCodec                 JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.opimage.IIPResolutionOpImage     ->
> com.sun.image.codec.jpeg.JPEGDecodeParam           JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.opimage.IIPResolutionOpImage     ->
> com.sun.image.codec.jpeg.JPEGImageDecoder          JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.tilecodec.JPEGTileDecoder        ->
> com.sun.image.codec.jpeg.JPEGCodec                 JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.tilecodec.JPEGTileDecoder        ->
> com.sun.image.codec.jpeg.JPEGDecodeParam           JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.tilecodec.JPEGTileDecoder        ->
> com.sun.image.codec.jpeg.JPEGImageDecoder          JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.tilecodec.JPEGTileDecoder        ->
> com.sun.image.codec.jpeg.JPEGQTable                JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.tilecodec.JPEGTileEncoder        ->
> com.sun.image.codec.jpeg.JPEGCodec                 JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.tilecodec.JPEGTileEncoder        ->
> com.sun.image.codec.jpeg.JPEGEncodeParam           JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.tilecodec.JPEGTileEncoder        ->
> com.sun.image.codec.jpeg.JPEGImageEncoder          JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.tilecodec.JPEGTileEncoder        ->
> com.sun.image.codec.jpeg.JPEGQTable                JDK internal API (JDK
> removed internal API)
>    com.sun.media.jai.tilecodec.JPEGTileEncoder        ->
> sun.awt.image.codec.JPEGParam                      JDK internal API (JDK
> removed internal API)
>    javax.media.jai.RasterAccessor                     ->
> sun.awt.image.BytePackedRaster                     JDK internal API
> (java.desktop)
> jai_imageio-1.1.jar -> java.base
>    com.sun.media.imageioimpl.plugins.pnm.PNMImageReader ->
> sun.security.action.GetPropertyAction              JDK internal API
> (java.base)
>    com.sun.media.imageioimpl.plugins.pnm.PNMImageWriter ->
> sun.security.action.GetPropertyAction              JDK internal API
> (java.base)
> protobuf-java-3.4.0.jar -> jdk.unsupported
>    com.google.protobuf.UnsafeUtil                     -> sun.misc.Unsafe
>                                   JDK internal API (jdk.unsupported)
>    com.google.protobuf.UnsafeUtil$1                   -> sun.misc.Unsafe
>                                   JDK internal API (jdk.unsupported)
>    com.google.protobuf.UnsafeUtil$JvmMemoryAccessor   -> sun.misc.Unsafe
>                                   JDK internal API (jdk.unsupported)
>    com.google.protobuf.UnsafeUtil$MemoryAccessor      -> sun.misc.Unsafe
>                                   JDK internal API (jdk.unsupported)
> swt.win32.win32.x86_64-3.6.1.v3655c.jar -> java.desktop
>    org.eclipse.swt.awt.SWT_AWT$1                      ->
> java.awt.peer.ComponentPeer                        JDK internal API
> (java.desktop)
>
> Warning: JDK internal APIs are unsupported and private to JDK
> implementation that are
> subject to be removed or changed incompatibly and could break your
> application.
> Please modify your code to eliminate dependence on any JDK internal APIs.
> For the most recent update on JDK internal API replacements, please check:
> https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
>
> JDK Internal API                         Suggested Replacement
> ----------------                         ---------------------
> com.sun.image.codec.jpeg.ImageFormatException Use javax.imageio @since 1.4
> com.sun.image.codec.jpeg.JPEGCodec       Use javax.imageio @since 1.4
> com.sun.image.codec.jpeg.JPEGDecodeParam Use javax.imageio @since 1.4
> com.sun.image.codec.jpeg.JPEGEncodeParam Use javax.imageio @since 1.4
> com.sun.image.codec.jpeg.JPEGImageDecoder Use javax.imageio @since 1.4
> com.sun.image.codec.jpeg.JPEGImageEncoder Use javax.imageio @since 1.4
> com.sun.image.codec.jpeg.JPEGQTable      Use javax.imageio @since 1.4
> java.awt.peer.ComponentPeer              Should not use. See
> https://bugs.openjdk.java.net/browse/JDK-8037739
> sun.awt.image.codec.JPEGParam            Use javax.imageio @since 1.4
> sun.misc.Unsafe                          See
> http://openjdk.java.net/jeps/260
> sun.security.action.GetPropertyAction    Use
> java.security.PrivilegedAction @since 1.1
>
> As you can see part of the report is due to imageoi-ext jars in the
> collection (I've made it light gray), but the rest seems legit and
> points to both GeoTools sources and some dependencies.
>
> Cheers
> Andrea
>
> == GeoServer Professional Services from the experts! Visit
> http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf
> Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa
> (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549
> http://www.geo-solutions.it http://twitter.com/geosolutions_it
> ------------------------------------------------------- *Con riferimento
> alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
> Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
> circostanza inerente alla presente email (il suo contenuto, gli eventuali
> allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
> destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
> errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
> sarei comunque grato se potesse darmene notizia. This email is intended
> only for the person or entity to which it is addressed and may contain
> information that is privileged, confidential or otherwise protected from
> disclosure. We remind that - as provided by European Regulation 2016/679
> “GDPR” - copying, dissemination or use of this e-mail or the information
> herein by anyone other than the intended recipient is prohibited. If you
> have received this email by mistake, please notify us immediately by
> telephone or e-mail.*
>


-- 

Regards, Andrea Aime == GeoServer Professional Services from the experts!
Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime
@geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054
Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339
8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it
------------------------------------------------------- *Con riferimento
alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
circostanza inerente alla presente email (il suo contenuto, gli eventuali
allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
sarei comunque grato se potesse darmene notizia. This email is intended
only for the person or entity to which it is addressed and may contain
information that is privileged, confidential or otherwise protected from
disclosure. We remind that - as provided by European Regulation 2016/679
“GDPR” - copying, dissemination or use of this e-mail or the information
herein by anyone other than the intended recipient is prohibited. If you
have received this email by mistake, please notify us immediately by
telephone or e-mail.*
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to