Hey guys,

I finally got my first version of the maven 2 minijar plugin
working. It does a byte-code analysis of the class dependencies
and creates a stripped down version of the jar dependencies.

Usecase: You have a dep on commons-io but only use a single class.
The minijar plugin will create commons-io-minimal.jar to keep
the deps as minimal as possible.

...
[INFO] Building jar: /Users/tcurdt/dev/jakarta-commons-jci/target/ jakarta-commons-jci-1.0-SNAPSHOT.jar
[INFO] [minijar:minijar]
[INFO] jakarta-commons-jci-1.0-SNAPSHOT-minimal.jar.jar classes:44 dependencies:130 => 100.0% (58835->59196) [INFO] commons-collections-3.1-minimal.jar.jar classes:446 dependencies:518 => 2.0% (559366->13901) [INFO] groovy-all-1.0-jsr-03-minimal.jar.jar classes:915 dependencies: 1220 => 47.0% (1587529->746634) [INFO] janino-2.3.7-minimal.jar.jar classes:333 dependencies:414 => 64.0% (351643->227840) [INFO] core-3.1.0-minimal.jar.jar classes:1255 dependencies:1469 => 31.0% (3555707->1116189) [INFO] commons-logging-api-1.0.4-minimal.jar.jar classes:13 dependencies:57 => 45.0% (26202->11936) [INFO] commons-lang-2.1-minimal.jar.jar classes:110 dependencies:161 => 2.0% (207723->5730) [INFO] commons-io-1.1-minimal.jar.jar classes:41 dependencies:98 => 48.0% (61562->29818)
...

Next thing on the TODO list is also to support dep inlining.

Does that sound like something the mojo project would be willing to host?

cheers
--
Torsten

Attachment: PGP.sig
Description: This is a digitally signed message part

Reply via email to