Go to file
Agaricus 37ce7f0b37 Add remapped runtime inheritance provider
RemappedRuntimeInheritanceProvider is similar to RuntimeInheritanceProvider, providing
access to inheritance information at runtime, but class names are remapped before
looking up, and the inheritance is reverse-remapped before returning.

This allows the inheritance to be provided from an obfuscated jar, via the cb2obf
mappings. For example:

java -cp target/SpecialSource-1.2-SNAPSHOT-shaded.jar:mcpc-plus-1.4.7-R0.2-SNAPSHOT-023.jar net.md_5.specialsource.SpecialSource --shade-relocation net.minecraft.server=net.minecraft.server.v1_4_R1 --shade-relocation org.bouncycastle=net.minecraft.v1_4_R1.org.bouncycastle --srg-in ../jars/1.4.7/cb2obf.csrg --in-jar ../IncompatiblePlugin/IncompatiblePlugin-01.jar  --out-jar /tmp/sp/out.jar -L

-L enables remapped runtime inheritance, in order to use the obfuscated MCPC+ jar classes
to lookup the inherited classes for remapping. The same mappings are used as for remapping
the plugin (--srg-in and --shade-relocation take effect).

The original option, -l, in contrast does not remap on class lookup, and can be used to
lookup inheritance from a jar with CraftBukkit mappings, for example:

java -cp target/SpecialSource-1.2-SNAPSHOT-shaded.jar:craftbukkit-1.4.7-R0.1.jar net.md_5.specialsource.SpecialSource --shade-relocation net.minecraft.server=net.minecraft.server.v1_4_R1 --shade-relocation org.bouncycastle=net.minecraft.v1_4_R1.org.bouncycastle --srg-in ../jars/1.4.7/cb2obf.csrg --in-jar ../IncompatiblePlugin/IncompatiblePlugin-01.jar  --out-jar /tmp/sp/out.jar -l
2013-01-23 20:48:24 -08:00
src/main/java/net/md_5/specialsource Add remapped runtime inheritance provider 2013-01-23 20:48:24 -08:00
.gitignore Initial commit. 2012-12-08 08:52:58 +11:00
LICENSE Fix license formatting. 2012-12-09 10:15:58 +11:00
pom.xml [maven-release-plugin] prepare for next development iteration 2013-01-23 20:11:49 +11:00
README.md Initial commit. 2012-12-08 08:52:58 +11:00

Special Source

Automatic generator and renamer of jar obfuscation mappings.