On 18/09/2014 1:29 AM, Amy Lu wrote:
Hi, David

Thank you for your review!

Here's the updated version, run jar tool directly:
webrev: http://cr.openjdk.java.net/~tyan/amylu/8058569/webrev.02/

Looks fine to me.

Thanks,
David

com.sun.tools.javac.Main is not reported as internal API so far (see
below jdeps result before the fix), if this changed in the future, it
will be fixed in a separate bug.

Before the fix:
$ $TEST_JAVA/bin/jdeps -jdkinternals $CLASSES_DIR
lambda -> jdk.dev
    LUtils (lambda)
       -> sun.tools.jar.Main JDK internal API (jdk.dev)
    LambdaAccessControlDoPrivilegedTest (lambda)
       -> sun.tools.jar.Main JDK internal API (jdk.dev)

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 dependency 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
----------------                         ---------------------
sun.tools.jar.Main                       Use java.util.jar or jar tool
@since 1.2


Thanks,
Amy

On 9/17/14, 8:31 AM, David Holmes wrote:
Hi Amy,

On 17/09/2014 1:49 AM, Amy Lu wrote:
Some java/lang/invoke/lambda tests have dependency on sun.tools.jar.Main
This fix is to remove above internal JDK API dependency from the tests.

bug: https://bugs.openjdk.java.net/browse/JDK-8058569
webrev: http://cr.openjdk.java.net/~tyan/amylu/8058569/webrev.01/

I'm a little confused as to the issue here. Running the jar tool
programmatically as a Java program doesn't seem like a big deal, but
if it is then just run the the jar tool directly (this test is a
JDK-only test either way); or remove the static dependency with
reflection based code. Plus the same code still has this dependency:

     static final com.sun.tools.javac.Main javac =
              new com.sun.tools.javac.Main();

so I don't see that anything is being gained at the moment.

Is there a bigger picture that this is part of?

Thanks,
David

Thanks,
Amy


Reply via email to