RFR: 8153654: Update jdeps to be multi-release jar aware
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:
>> 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.
More information about the core-libs-dev