Typical problem - I have x-1.0.jar
, x-2.0.jar
and y-1.0.jar
. I want to use x-2.0.jar
and y-1.0.jar
but y-1.0.jar
depends on x-1.0.jar
.
There is a tool out there which allows you to bundle up dependencies into a single JAR and change the package names internally so it avoids conflict. For example, if "x" contains software in the package "com.foo", then it can change all classes in x-1.0.jar
to be in package "old.com.foo", as well as any references in y-1.0.jar
, so we could make a new JAR xy-1.0.jar
; this JAR would not contain any publicly-exposed classes in the "com.foo" packages, so that we could feel free to use it alongside x-2.0.jar
with no conflict.
The problem is, I have totally forgotten what the name of that tool is! We considered using it once in my company, but my management were concerned about doing binary-level modifications to classes. However now (several years later) we have a similar problem which only affects test code, so I want to propose it again. But I have totally forgotten the name!
Things I remember about it:
- Open source hosted on Google Code
- Based on ObjectWeb ASM underneath
- I think the name may have been a pun of some description
Does anyone know what tool this might be? Please help me out!