escapeString is broken - break filtered output ----------------------------------------------
Key: MRESOURCES-110 URL: http://jira.codehaus.org/browse/MRESOURCES-110 Project: Maven 2.x Resources Plugin Issue Type: Bug Affects Versions: 2.4.1, 2.4 Environment: Maven 2.0.9, WinXP Reporter: Marco Rothe Priority: Critical If the escapeString parameter is specified in plugin configuration this will break the filtered output. For example the configuration <plugin> <artifactId>maven-resources-plugin</artifactId> <version>2.4.1</version> <configuration> <escapeString>!</escapeString> </configuration> </plugin> an file to filter (an XML file) <?xml version="1.0" encoding="UTF-8"?> <root> <!-- This is a comment ... until filtering ... --> <broken-tag>Why are my !\${\}\! static.content broken if the escapeString occure ?!?</broken-tag> <broken-tag>Content with replacement: ${replaceThis} !</broken-tag> <broken-tag>Content with escaped replacement: Do not !${replaceThis} !</broken-tag> </root> and a property <properties> <replaceThis>I am the replacement</replaceThis> </properties> from pom or profile.xml result in <?xml version="1.0" encoding="UTF-8"?> <root> <!- This is a comment ... until filtering ... --> <broken-tag>Why are my !${\}\!static.content broken if the escapeString occure ?!</broken-tag> <broken-tag>Content with replacement: I am the replacement !/broken-tag> <broken-tag>Content with escaped replacement: Do not ${replaceThis} !/broken-tag> </root> Note the broken comment and tags! If using Resources-Plugin 2.3 the output is like expected: <?xml version="1.0" encoding="UTF-8"?> <root> <!-- This is a comment ... until filtering ... --> <broken-tag>Why are my !\${\}\! static.content broken if the escapeString occure ?!?</broken-tag> <broken-tag>Content with replacement: I am the replacement !</broken-tag> <broken-tag>Content with escaped replacement: Do not ${replaceThis} !</broken-tag> </root> Got even worse when using a complex escape string like <escapeString>static</escapeString> (I know it's a silly example ;)). The result is <?xml version=".0" encoding="UTF-8"?> <root> <!-- This is acomment ... until filtering ... --> <broken-tag>Why are my !\${\}\! staticcontent broken if the escapeSring occure ?!?</broken-tag> <broken-tag>Content with replacement: I am the replacement !</broken-tag> <broken-tag>Content with escapedreplacement: Do not !I am the replacement !</broken-tag> </root> Note the missing characters all over the file ... :-/ So the actual state of the escapeString feature is unpredictable and nearly useless. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira