Stephane, Piotr, 
Thanks for taking this on and putting together this proposal. As we discussed 
previously, I have significant issues with the current war plugin, so much that 
we have been stuck using a patched version of 2.0-beta-2 because anything newer 
breaks my build. I believe that your proposal solves nearly all my issues. 

Will the use of this new overlay cause the transitive dependencies of the 
overlayed wars to be resolved and included? I currently construct wars that I 
intend to be used as overlays by excluding all the jars. I do this to avoid 
conflicts but also to reduce the size in the repository. Unfortunately because 
I'm using a very old version of mwar, I have to manually keep my war project 
dependencies synchronized. If these transitive dependencies from the wars are 
automatically pulled in, then I think it's safe to also exclude WEB-INF/lib by 
default from the overlays. I think we'll have an excellent solution at that 
point.

Thanks,

-----Original Message-----
From: Stephane Nicoll [mailto:[EMAIL PROTECTED] 
Sent: Monday, March 19, 2007 5:17 PM
To: Maven Developers List
Cc: Piotr Tabor
Subject: War plugin and Overlays handling

Hi,

Piotr and I are currently working on the war plugin and especially
this overlay mechanism that needs to be upgraded. Currently a couple
of issues [1] in the war plugin are linked to this functionality and
we should really address them.

The idea here is to provide a better way to handle overlays through an
explicit configuration. An overlay has the following parameters:

* groupId
* artifactId
* classifier (optionnal)
* includes (default includes everything)
* excludes (default META-INF)

The order in which overlays are specified defined the order in which
they are applied. An overlay without a groupId/artifactId is
considered as the current build. If no such overlay is defined, it is
applied *last*.

The behavior should be deterministic so the copy will happen not
matter how if a file is newer than the one being applied. Overlays
order always wins.

If no overlays section is defined, the wars are processed as before;
dependentWarIncludes and dependentWarExcludes are honored. If an
overlays section is defined and those configuration items are defined,
they are ignored and a warning is logged.

If a dependent war is missing in the overlays section, it's applied
after custom overlays *and* before the current build (if the current
build is not specified of course) with the default includes/excludes.

Does that sounds ok to you? If so I'll add the proposition to the war
site and start the implementation with Piotr. We're also thinking
about integrating the merge functionality of the cargo plugin but we
still need to discuss with the cargo guys if it will be feasible.

Please comment.

Stéphane

[1] MWAR-72, MWAR-66, MWAR-78

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to