plugin not correctly interpolating POM variables like project.build.directory
-----------------------------------------------------------------------------

                 Key: MASSEMBLY-189
                 URL: http://jira.codehaus.org/browse/MASSEMBLY-189
             Project: Maven 2.x Assembly Plugin
          Issue Type: Bug
    Affects Versions: 2.1
         Environment: I used both released version 2.1 and also 2.2-SNAPSHOT
            Reporter: Ray Suliteanu
            Priority: Critical


I have a assembly descriptor file with ${project.build.directory} in the 
<source> element of a <file>. I get an error "Failed to create assembly: File 
to filter not found" because the file path has "${project.build.directory}" 
rather than the value of ${project.build.directory}.

I have traced the problem to AssemblyInterpolator.interpolateElementValue(). It 
tries to look up build.directory in ReflectionValueExtractor.evaluate() rather 
than project.build.directory, and it can't evaluate build.directory. A hack 
workaround is ...

      if (value == null)
      {
        try
        {
          value = ReflectionValueExtractor.evaluate(realExpr, project);
          if (value == null)
          {
            // HACK: strip ${ and } and retry
            wholeExpr = wholeExpr.substring(2, wholeExpr.length() - 1);
            value = ReflectionValueExtractor.evaluate(wholeExpr, project);
          }
        }


-- 
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