Details
Description
UberWar is unable to merge nodes when comma is used as patter end mark.
This is a common case when Spring's "contextConfigLocation" parameter should be merged.
Sample configuration:
<strategy name="NodeMerge">
<context-param>
<param-name>$left:param-name</param-name>
<param-value>$left:param-value,$right:param-value</param-value>
</context-param>
</strategy>
Exception:
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Merging exception creating UBERWAREmbedded error: Exception merging web.xml files
Illegal group reference
[INFO] ------------------------------------------------------------------------
[INFO] Trace
.....
Caused by: java.lang.IllegalArgumentException: Illegal group reference
at java.util.regex.Matcher.appendReplacement(Matcher.java:713)
at java.util.regex.Matcher.replaceFirst(Matcher.java:861)
at org.codehaus.cargo.module.merge.tagstrategy.NodeMergeStrategy.applyValues(NodeMergeStrategy.java:154)
at org.codehaus.cargo.module.merge.tagstrategy.NodeMergeStrategy.applyValues(NodeMergeStrategy.java:140)
at org.codehaus.cargo.module.merge.tagstrategy.NodeMergeStrategy.applyValues(NodeMergeStrategy.java:140)
at org.codehaus.cargo.module.merge.tagstrategy.NodeMergeStrategy.inBoth(NodeMergeStrategy.java:92)
at org.codehaus.cargo.module.merge.tagstrategy.AbstractChoiceMergeStrategy.inBoth(AbstractChoiceMergeStrategy.java:61)
at org.codehaus.cargo.module.merge.DescriptorMergerByTag.merge(DescriptorMergerByTag.java:194)
... 24 more