CadixDev / Bombe

A model of Java types, as per the JVMS specification.
BSD 3-Clause "New" or "Revised" License
6 stars 6 forks source link

Multi-release jar remapping support #14

Open zml2008 opened 3 years ago

zml2008 commented 3 years ago

Currently, JarEntryRemappingTransformer uses the full path of class files to map their names. This works fine for normal jars where the class name is relative to the jar root, but does not work for multi-release jars where the class name is relative to the META-INF/versions/<n>/ directory.

The actual fix for this should be fairly straightforward, but for other API users it would be nice to integrate some of that handling into the JarClassEntry API (exposing whether a class is a multi-release variant, and a way to get/set the class name no matter how it is located).