[ 
https://issues.apache.org/jira/browse/MRESOURCES-230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15722026#comment-15722026
 ] 

Christian Schulte edited comment on MRESOURCES-230 at 12/5/16 11:27 AM:
------------------------------------------------------------------------

It is not possible to fix this without breaking backwards compatibility. For 
example: Properties resources use the backslash themselves for escaping. They 
rely on filtering to preserve any escape not specific to maven. IN = two 
bachslashes must lead to OUT = two backslashes for those resources. If an 
update makes it OUT = one backslash, those resources are broken after 
filtering. That's why it has been done intentionally. Only escape what is known 
to maven filtering - leave the rest as is. Solution is to use an escape string 
(that's a string not only a single character) not conflicting with anything 
else in the file. For example: You could set the escape string to {{§§§}} or 
something unlikely to conflict with anything in the file.


was (Author: schulte77):
It is not possible to fix this without breaking backwards compatibility. For 
example: Properties resources use the backslash themselves for escaping. They 
rely on filtering to preserve any escape not specific to maven. {{IN = '\\'}} 
must lead to {{OUT = '\\'}} for those resources. If an update makes it {{OUT = 
'\' }}, those resources are broken after filtering. That's why it has been done 
intentionally. Only escape what is known to maven filtering - leave the rest as 
is. Solution is to use an escape string (that's a string not only a single 
character) not conflicting with anything else in the file. For example: You 
could set the escape string to {{§§§}} or something unlikely to conflict with 
anything in the file.

> Can't escape the escape string
> ------------------------------
>
>                 Key: MRESOURCES-230
>                 URL: https://issues.apache.org/jira/browse/MRESOURCES-230
>             Project: Maven Resources Plugin
>          Issue Type: Bug
>          Components: escape string
>    Affects Versions: 3.0.1
>            Reporter: Thomas Mortagne
>            Priority: Critical
>
> I have the following use case in a XML file:
> {code:xml}
>     <variable name="xwikiDataDir" 
> value="%APPDATA%\XWiki\${project.version}\data" 
> condition="windowsSevenAndGreater"/>
> {code}
> Before 3.0 it used to produce
> {code:xml}
>     <variable name="xwikiDataDir" value="%APPDATA%\XWiki\8.2\data" 
> condition="windowsSevenAndGreater"/>
> {code}
> \ is now the default escape character, I'm fine with that but then it should 
> be possible to escape the escape string which is buggy right now.
> The following source
> {code:xml}
>     <variable name="xwikiDataDir" 
> value="%APPDATA%\XWiki\\${project.version}\data" 
> condition="windowsSevenAndGreater"/>
> {code}
> gives me
> {code:xml}
>     <variable name="xwikiDataDir" value="%APPDATA%\\XWiki\8.2\data" 
> condition="windowsSevenAndGreater"/>
> {code}
> Notice the still doubled \. The first one should be removed from the result.
> I tried escapeWindowsPaths bu it does not seems to be matching my string as a 
> Windows path which is probably another bug.
> Since I can't find any way to disable escaping (see MRESOURCES-231),
> I ended up finding a character I don't have in my file and set it as 
> escapeString.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to