Oliver Dungey created ARCHETYPE-492:
---------------------------------------
Summary: Underscore in filenames problematic due to greedy regex
Key: ARCHETYPE-492
URL: https://issues.apache.org/jira/browse/ARCHETYPE-492
Project: Maven Archetype
Issue Type: Bug
Components: Plugin
Affects Versions: 2.4
Environment: Windows 7, Sun JDK
Reporter: Oliver Dungey
If you have a file in a project with an underscore adjacent to a substitution
variable, the substitution will fail i.e.
if {{artifactId}} is 'Test' and a target file is to be named
{{something_test.txt}} the file in the template should be named
{{something___artifactId__.txt}} (3 underscores in the middle) but the result
is an error stating that the property {{_artifactId}} cannot be found. This is
because the term inside the regex is a greedy {{.*}}, a simple fix would be to
change this to something like {{__[^_]*__}} which would only match
non-underscore characters.
Fixing this issue would allow the use of underscores in filenames in all
circumstances rather than the current situation where you may get lucky. The
only down side to fixing this issue is that properties with leading or trailing
underscores will not be valid - this seems a far more preferable situation.
A patch for this issue was put on this bug back in 01//2009 but somehow got
ignored - see [~maslovalex] patch and comments at the end of this issue:
https://issues.apache.org/jira/browse/ARCHETYPE-191
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)