jarjar
jarjar copied to clipboard
An export of https://code.google.com/p/jarjar/ @ svn:r142 for pants tool use and further development.
Rename
This addresses #49. The motivation for this change is to support shading of netty which contains a native library as a resource. In order for a shaded netty library to...
I ran into this when trying to shade some code I'd written with lambdas. I think this is the jarjar equivalent of https://issues.apache.org/jira/browse/MSHADE-260 I could work up a proof of...
This PR allows to have `$` signs appear in class names inside patterns, like ```java Rule rule = new Rule(); rule.setPattern("org.something.Test$1"); rule.setResult("shaded.@0"); ``` (renames `org.something.Test$1` to `shaded.org.something.Test$1`). It cautiously escapes...
In some projects, such as Netty, the JAR files ship with native dependencies (e.g. `META-INF/native/libnetty_tcnative.so` files). In order for shaded versions of such projects to coexist, the native dependencies must...
After processing a .jar with a rule which prefixes package names (`rule some.pkg.** my.prefix.@0`), the resulting file includes an empty `some/pkg` entry. Would be nice to get rid of it.
When used from sbt-assembly, an attempt to shade the classes in a jar with a bad package namespace to a valid namespace fails during initialization of the Wildcard instance. E.g....
The github reviews leave so much to be desire and there seems to be a lot of work to do in jarjar.
In some codepaths, ASM will attempt to call `ClassWriter.getCommonSuperClass` for a class referenced from a class it is shading. The class is available in the subject classpath, but is not...
When using _jarjar_ with https://github.com/sbt/sbt-assembly on Windows I get the following messages: ``` Fully-qualified classname does not match jar entry: jar entry: com\typesafe\scalalogging\slf4j\LoggerMacros$$treecreator1$1.class class name: com/typesafe/scalalogging/slf4j/LoggerMacros$$treecreator1$1.class Omitting com\typesafe\scalalogging\slf4j\LoggerMacros$$treecreator1$1.class. ``` Classes...