Maven Shared Components
  1. Maven Shared Components
  2. MSHARED-228

MultiDelimiterInterpolatorFilterReaderLineEnding() does not filter after a token is escaped

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: maven-filtering-1.0
    • Fix Version/s: maven-filtering-1.1
    • Component/s: maven-filtering
    • Labels:
      None
    • Environment:
      java version "1.6.0_33"
      Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-10M3720)
      Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)
    • Number of attachments :
      1

      Description

      When an attempt is made to filter the following string:

      export SERVER_ENV=\${SERVER_ENV:${httpd.server.env}}

      The escape character "\" ends up escaping the entire token, or failing that the entire line, and the filter "$

      {httpd.server.env}

      " is unresolved.

      Expected:

      export SERVER_ENV=$

      {SERVER_ENV:sandbox}

      Actual:

      export SERVER_ENV=${SERVER_ENV:${httpd.server.env}}

      Patch to follow.

        Issue Links

          Activity

          Hide
          Graham Leggett added a comment -

          Turned out there were many edge cases not covered by the original code, and arbitrary assumptions made (such as the closing token only works if it is one character long), so my only option to fix this was to rewrite the filter parsing code.

          Patch attached, new tests, all existing tests pass.

          Show
          Graham Leggett added a comment - Turned out there were many edge cases not covered by the original code, and arbitrary assumptions made (such as the closing token only works if it is one character long), so my only option to fix this was to rewrite the filter parsing code. Patch attached, new tests, all existing tests pass.
          Hide
          Graham Leggett added a comment -

          Fix and test cases for 1.1-SNAPSHOT.

          Show
          Graham Leggett added a comment - Fix and test cases for 1.1-SNAPSHOT.
          Hide
          Olivier Lamy added a comment -

          Thanks!
          Just have very very quick look on the patch.
          For EOL you use '\n' ? (will that work everywhere )

          Show
          Olivier Lamy added a comment - Thanks! Just have very very quick look on the patch. For EOL you use '\n' ? (will that work everywhere )
          Hide
          Graham Leggett added a comment -

          I didn't do anything special with respect to EOL, just used what was there before to match the existing style - is the svn:eol-style property set correctly for the project?

          Show
          Graham Leggett added a comment - I didn't do anything special with respect to EOL, just used what was there before to match the existing style - is the svn:eol-style property set correctly for the project?
          Hide
          Olivier Lamy added a comment -

          correct.
          Sorry I misread the patch file.

          Show
          Olivier Lamy added a comment - correct. Sorry I misread the patch file.
          Hide
          Olivier Lamy added a comment -

          applied.
          Thanks!

          Show
          Olivier Lamy added a comment - applied. Thanks!

            People

            • Assignee:
              Olivier Lamy
              Reporter:
              Graham Leggett
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: