You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Andrew Williams (JIRA)" <ji...@codehaus.org> on 2009/12/07 22:46:55 UTC

[jira] Commented: (MRESOURCES-110) escapeString is broken - break filtered output

    [ http://jira.codehaus.org/browse/MRESOURCES-110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=201613#action_201613 ] 

Andrew Williams commented on MRESOURCES-110:
--------------------------------------------

Yes, it strips the next character if the escapeString is not followed by a filter character.
Very annoying!

> 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, 2.4.1
>         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