views:

67

answers:

0

I'm trying to flatten out the lib directory of a project using jarjar, where it will produce a jar file with my main code and all my required libraries inside of it. I can get the project code into the jar, but I need to find a way to get every jar in the './lib/' directory extracted to the base directory of the final output jar. I don't want it flattened in the sense that I still want the package hiearchy preserved. I could manually list every jar file using zipfileset, but I was hoping to do it dynamically. I would also like to include any *.so files flattened into the base directory of the output jar so I can extract them into a temp dir easily without having to search through the jar. I just need a working ant syntax for using jarjar to do this.

For example my lib directory...

./lib/library1.jar
./lib/library2.jar
./lib/foo/library3.jar
./lib/foo/bar.so

would look like this when cracked open in the output jar file...

/..library1_package_hierarchy../lib1.class
/..library1_package_heirarchy../lib2.class
         ... (and so on)
/..library2_package_hierarchy../lib1.class
/..library2_package_heirarchy../lib2.class
         ... (and so on)
/..library3_package_hierarchy../lib1.class <-- foo gone
/..library3_package_heirarchy../lib2.class <-- foo gone
/bar.so <-- foo gone