ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Brown <>
Subject Re: using cachefileset for creating war files without staging dir
Date Thu, 21 Feb 2008 18:28:39 GMT

I'm not aware of a prebuilt solution to this.  However, what I do is loop
through the artifacts to bundle in the EAR and dynamically create a
zipfileset statement for each that specifies a fullpath attribute.

I have an Ant build snippet on disk that contains a single token. I replace
that token with the appropriate zipfileset entries then invoke it.

Not the prettiest, but works.



I have a very large build with hundreds of artifacts.  In order to create
war and ear files with their dependent libs in the right place (typically
WEB-INF/lib), I create a temporary "staging" dir, copy in the dependencies
from cachefileset, and then create the war/ear.  This works, but is very
slow due to all the copying.

I can get a significant speedup if I use the fileset references created by
ivy:cachefileset directly when creating the war.  This avoids the
intermediate copying of the dependencies.  It works, but I am unable to
specify the proper location of the libs inside the resulting war/ear, as
they have full paths like
$HOME/.ivy2/cache/organisation/module/jars/foo-1.2.3.jar.  Unfortunately the
war/ear tasks do not take <mapper> arguments.

View this message in context:
Sent from the ivy-user mailing list archive at

View raw message