RFR: 8153654: Update jdeps to be multi-release jar aware

Mandy Chung mandy.chung at oracle.com
Fri Sep 16 20:56:13 UTC 2016


> On Sep 16, 2016, at 1:30 PM, Steve Drach <steve.drach at oracle.com> wrote:
> 
>> 
>> VersionHelper.java
>>  nameToVersion can simply be Map<String,Integer> (I missed this last round)
> 
> It should be <String,String>, see line 43 of VersionHelper.

This returns a concatenated string. line 43 will work as is as  (javap shows what javac emits.)

> 
>> 
>>  56                 String name = cf.getName().replace('/', '.');
>>  57                 nameToVersion.put(name, version);
>> 
>> Can you add a check to make sure the version is the same if the entry is present; otherwise, throw InternalError.  This will catch any unexpected code path.
> 
> That’s a good idea, but is InternalError the right one?  The spec is a bit ambiguous but implies to me that it’s a JVM error since it’s a subclass of VirtualMachineError.  How about just using the MultiReleaseException?

MultiReleaseException or InternalError is fine too. Right now jdeps will only parse a MRJAR of a given version.  I expect that we won’t run into this conflict but we may have missed other scenarios.

Mandy


More information about the core-libs-dev mailing list