Commit Graph

272 Commits

Author SHA1 Message Date
Agaricus
06adbcdb63 Fix shading of method descriptors 2013-01-22 22:31:16 -08:00
Agaricus
3ff134311d 13x performance increase in jar comparison by parsing method signatures
New class to parse and replace method signatures, instead of iterating over
each class. On my machine, old technique takes 6.8 to compare Minecraft 1.4.7,
new technique: 0.5 seconds, with identical results.
2013-01-22 22:18:08 -08:00
Agaricus
97d8e80769 Add maven-shade-plugin relocation simulation on input mapping
The --shade-relocation/-R option causes the --srg-in mapping old class
names to be transformed with the pattern. Multiple patterns can be given,
though currently only exact prefix matches are supported.

Example:

--shade-relocation net.minecraft.server=net.minecraft.server.v1_4_R1
--shade-relocation org.bouncycastle=net.minecraft.v1_4_R1.org.bouncycastle

The mapping will be 'shaded' before being applied to the jar.

You can use these options with --srg-in 1.4.7/cb2obf.csrg to remap plugins
which depend on the version-shaded class names (aka 'vcb').
2013-01-22 20:53:05 -08:00
Agaricus
01edc9471c Add package remapping
Package remaps are not generated by the jar compare, but can be added
programmatically by adding to JarMapping#packages, or in a .csrg as a
class remap but with a trailing slash, for example:

com/google/ guava10/com/google

will remap all classes in com/google/ to classes in guava10/com/google
2013-01-22 12:17:09 -08:00
Agaricus
5437eb4c9e Add remapping from csrg input file 2013-01-22 00:17:48 -08:00
Agaricus
642612e1c3 Allow remapping jars without Main-Class attribute (ex: Bukkit plugins) 2013-01-22 00:17:01 -08:00
Agaricus
1b15d3b29f Add 'compact srg' output format
This is a simpler mapping format, somewhat easier to parse, and without
the redundant information in the original .srg file format.
2013-01-21 20:58:55 -08:00
Agaricus
a11c2c4698 Move .srg writing into SrgWriter 2013-01-21 20:33:44 -08:00
Agaricus
b20840a65e Add -q option to suppress verbose output 2013-01-21 20:21:33 -08:00
Agaricus
ce4b890f87 Option parsing with joptsimple
Allow optionally writing srg to a file, or to stdout if unspecified.
2013-01-21 20:12:31 -08:00
Agaricus
84e39beee1 Fix missing main class 2013-01-21 19:21:02 -08:00
Agaricus
8e0a4debad Move srg writing and symbol comparison into JarMapping 2013-01-21 19:18:54 -08:00
Agaricus
b004ebf919 Make jar renaming optional (only generate mappings if no 3rd argument given) 2012-12-26 23:34:32 -08:00
Agaricus
9fdbdedf3c Remove 1.4.5 check 2012-12-26 23:24:16 -08:00
md_5
59c6e563c0 Its perfect! 2012-12-19 14:21:32 +11:00
md_5
c2ff5b8f02 Cleanup output of fields srg. Still need to do something about methods, maybe a simple string replace before comparing the descriptor. 2012-12-10 12:38:11 +11:00
md_5
03ae5d07c9 Java 6 support. 2012-12-09 10:29:04 +11:00
md_5
ac9cccdf8e Clean up / ignore unchecked cast 2012-12-09 10:19:52 +11:00
md_5
cb27511800 Fix license formatting. 2012-12-09 10:15:58 +11:00
md_5
045ff4221b [maven-release-plugin] prepare for next development iteration 2012-12-08 09:02:09 +11:00
md_5
a393ec13bc [maven-release-plugin] prepare release SpecialSource-1.0 2012-12-08 09:01:58 +11:00
md_5
e5af484c54 Initial commit. 2012-12-08 08:52:58 +11:00