Hi,

I have been helping out with the development of the AppFuse project over the
last month where we make heavy use of the war overlay feature in the Maven
war plugin. It is a really nifty feature!

To get max power with war overlays I have developed the Warpath plugin that
allows projects to use war artifacts as fully fledged dependencies. In
brief:

1) The contents of the /WEB-INF/classes directory in the war dependency
artifacts can be included in the project's classpath for normal compile, etc
tasks.
2) Transitive dependencies from the war dependency artifacts become
available for use by other plugins, e.g. compile and ear - so no more having
to include all the dependencies when creating skinny wars!

The plugin has now been actively used in the AppFuse project for the last
few months, and I feel it is at a point where it is both usable and stable.
Would the war plugin team be interested in including the warpath
functionality inside the war plugin? It would seem to be the most natural
place to host it.

As a side issue one sticking point for us with war overlays has been the
overlay by timestamp for files included in the web project being built. In a
multi-web module project like AppFuse this has led to some unpredictable
behaviour when a file from a dependent war overwrites a file in the war
project being built. Although it is possible to influence the behaviour of
the overlay using dependentWarExcludes, it is a maintenance heavy approach
when many files are involved and requires continual updates to the project's
pom file.

Would it be possible to include functionality, perhaps as a configurable
feature, in the Maven war plugin to automatically prefer all files from the
war project being built over those from dependent war files regardless of
file timestamp? I would be more than happy to do the necessary work and
submit a patch.

Thanks

Mike Horwitz

Reply via email to