[ 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 = '\\'}} 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. 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)