[ 
http://jira.codehaus.org/browse/MRESOURCES-110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dennis Lundberg updated MRESOURCES-110:
---------------------------------------

    Description: 
If the escapeString parameter is specified in plugin configuration this will 
break the filtered output.

For example the configuration
{code:xml}
<plugin>
   <artifactId>maven-resources-plugin</artifactId>
   <version>2.4.1</version>
   <configuration>
     <escapeString>!</escapeString>
   </configuration>
</plugin>
{code}

an file to filter (an XML file)

{code:xml}
<?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>
{code}

and a property

{code:xml}
 <properties>
        <replaceThis>I am the replacement</replaceThis>
 </properties>
{code}

from pom or profile.xml

result in

{code:xml}
<?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>
{code}

Note the broken comment and tags! 
If using Resources-Plugin 2.3 the output is like expected:

{code:xml}
<?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>
{code}

Got even worse when using a complex escape string like 
<escapeString>static</escapeString> (I know it's a silly example ;)). The 
result is

{code:xml}
<?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>
{code}

Note the missing characters all over the file ... :-/

So the actual state of the escapeString feature is unpredictable and nearly 
useless.



  was:
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.




> 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
> {code:xml}
> <plugin>
>    <artifactId>maven-resources-plugin</artifactId>
>    <version>2.4.1</version>
>    <configuration>
>      <escapeString>!</escapeString>
>    </configuration>
> </plugin>
> {code}
> an file to filter (an XML file)
> {code:xml}
> <?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>
> {code}
> and a property
> {code:xml}
>  <properties>
>         <replaceThis>I am the replacement</replaceThis>
>  </properties>
> {code}
> from pom or profile.xml
> result in
> {code:xml}
> <?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>
> {code}
> Note the broken comment and tags! 
> If using Resources-Plugin 2.3 the output is like expected:
> {code:xml}
> <?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>
> {code}
> Got even worse when using a complex escape string like 
> <escapeString>static</escapeString> (I know it's a silly example ;)). The 
> result is
> {code:xml}
> <?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>
> {code}
> 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

        

Reply via email to