RFC: jdeps output - "jdk8internals" vs "JDK removed internal API" after JDK-8213909

Aleksei Voitylov aleksei.voitylov at bell-sw.com
Thu Apr 22 11:21:38 UTC 2021


Hi,

JDK-8213909 [1] (since JDK 12, backported into 11.0.11), aside from
bringing great additions to transitive module analysis, introduced a
slight change in output of jdeps:

jdk-11.0.11/bin/jdeps -s reactor-core-3.4.5.jar
reactor-core-3.4.5.jar -> jdk8internals
reactor-core-3.4.5.jar -> java.base
reactor-core-3.4.5.jar -> java.logging
reactor-core-3.4.5.jar -> not found

jdk-11.0.10/bin/jdeps -s reactor-core-3.4.5.jar
reactor-core-3.4.5.jar -> JDK removed internal API
reactor-core-3.4.5.jar -> java.base
reactor-core-3.4.5.jar -> java.logging
reactor-core-3.4.5.jar -> not found

Note the difference "jdk8internals" vs "JDK removed internal API", not
discussed in the relevant CSR [2] or the review thread [3]. This change
is likely to affect some automation systems built around jdeps. Since
the change has already landed, I wanted to check if there is a reason
behind this naming change, and if "jdk8internals" should be the naming
convention the users are expected to standardize their automation on
going forward?

I would assume most now are used to parsing for "JDK removed internal
API" to determine if the project uses any removed APIs (and should
probably be using --print-module-deps to feed jlink input), but I also
see merit in having a single convention for mainline and CPU releases.

-Aleksei

[1] https://bugs.openjdk.java.net/browse/JDK-8213909
[2] https://bugs.openjdk.java.net/browse/JDK-8213915
[3]
http://mail.openjdk.java.net/pipermail/core-libs-dev/2018-November/056660.html




More information about the core-libs-dev mailing list