Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0, 2.0.1, 2.0.2, 2.1-alpha-1
-
None
-
None
Description
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 first.
The behavior should be deterministic so the copy will happen not
matter how if a file is newer than the one being applied. Overlays
use a first win strategy.
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 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
Attachments
Attachments
Issue Links
- is depended upon by
-
MWAR-66 No control over war overlay order
- Closed
-
MWAR-72 Need ability to protect (or exclude) resource from being destroyed during war overlay.
- Closed
-
MWAR-78 War overlay can overwrite files in dependant war artifact
- Closed
-
MWAR-22 patch to allow extra webapp and webapp/WEB-INF/classes files to be specified that override existing files
- Closed