Author: schulte Date: Sat Dec 31 01:06:53 2016 New Revision: 1776671 URL: http://svn.apache.org/viewvc?rev=1776671&view=rev Log: [MINVOKER-213] The plugin should escape any XML special characters (&<>) during interpolating XML files.
o Updated to only escape characters leading to invalid XML if not escaped. I did run the ITs locally and they succeeded. On Jenkins they fail. Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java Modified: maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java?rev=1776671&r1=1776670&r2=1776671&view=diff ============================================================================== --- maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java (original) +++ maven/plugins/trunk/maven-invoker-plugin/src/main/java/org/apache/maven/plugin/invoker/AbstractInvokerMojo.java Sat Dec 31 01:06:53 2016 @@ -51,7 +51,6 @@ import java.util.TreeSet; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; -import org.apache.commons.lang.StringEscapeUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.model.Model; import org.apache.maven.model.Profile; @@ -2303,7 +2302,12 @@ public abstract class AbstractInvokerMoj for ( final Map.Entry<String, Object> e : props.entrySet() ) { - escapedProperties.put( e.getKey(), StringEscapeUtils.escapeXml( e.getValue().toString() ) ); + escapedProperties.put( e.getKey(), e.getValue().toString(). + replaceAll( "\"", """ ). + replaceAll( "<", "<" ). + replaceAll( ">", ">" ). + replaceAll( "&", "&" ) ); + } props = escapedProperties;