RFR 8058569: Update java/lang/invoke/lambda tests to eliminate dependency on sun.tools.jar.Main
Amy Lu
amy.lu at oracle.com
Thu Sep 18 02:59:20 UTC 2014
On 9/18/14, 10:51 AM, David Holmes wrote:
> 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.
Thank you David!
May I have your help to push this change?
Thanks,
Amy
>
> 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
>>>>
>>
More information about the core-libs-dev
mailing list