You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Karel Vervaeke (JIRA)" <ji...@codehaus.org> on 2010/02/04 11:01:56 UTC

[jira] Updated: (MNG-1775) No property expansion in profile activation

     [ http://jira.codehaus.org/browse/MNG-1775?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Karel Vervaeke updated MNG-1775:
--------------------------------

    Attachment: basedir_in_activation.patch
                test2.zip

Attached improved test project (which fails when ${basedir} is not expanded, and succeeds when ${basedir} is expanded).

Attached patch which passes a properties object containing a key for 'basedir' to the activators.
The file activator uses the properties for expanding <exists> and <missing> files.

> No property expansion in profile activation
> -------------------------------------------
>
>                 Key: MNG-1775
>                 URL: http://jira.codehaus.org/browse/MNG-1775
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Inheritance and Interpolation
>    Affects Versions: 2.0, 2.0.1
>         Environment: Linux
>            Reporter: Eric Andresen
>             Fix For: 3.0-alpha-7
>
>         Attachments: basedir_in_activation.patch, test.zip, test2.zip
>
>
> I have a profile specified in the pom.xml of a project. It is inteded to be activated based on the presence or absence of a file, using the <file> profile activator.
> The profiles are simple:
>       <profile>
>           <id>metis</id>
>           <activation>
>               <file><missing>${basedir}/../build.properties</missing></file>
>           </activation>
>           <build>
>               <filters><filter>${basedir}/../build.properties.metis</filter></filters>
>           </build>
>       </profile>
>       <profile>
>           <id>dev</id>
>           <activation>
>               <file><exists>${basedir}/../build.properties</exists></file>
>           </activation>
>           <build>
>               <filters><filter>${basedir}/../build.properties</filter></filters>
>           </build>
>       </profile>
> The problem comes in with ${basedir} -- it isn't being expanded for purposes of evaluating the file. It's trying to look for a file named "${basedir}/../build.properties", rather than "/home/joe/projectX/projY/../build.properties"; as a result, the "missing" directive is always true, and the dev profile is never activated. When the filter path is evaluated, the ${basedir} property *is* evaluated, however.

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