Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Currently, you can use Groovy in two "flavors":
- using `groovy.jar` and optional modules (`groovy-xml`, `groovy-json`, ...)
- using `groovy-all.jar` which contains all the modules
But it's not the only difference: `groovy-all` also repackages key dependencies using `jarjar`: antlr, asm and commons-cli.
The problem is that when you integrate Groovy in an application, you have to make a choice: either include `groovy.jar` and add explicit dependencies on ASM and Antlr, or use `groovy-all`, which may include things you don't need.
Often, you don't have the choice, and you have to include `groovy-all`, because of conflicts with ASM for example.
To solve this, we should repackage ASM, Antlr and commons-cli in both the light and the all jar.
As a side effect, it would also make it easier for the external AST transformation providers, since they wouldn't have to choose anymore.