You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Antony Bourgois (JIRA)" <ji...@codehaus.org> on 2009/10/29 17:40:26 UTC
[jira] Issue Comment Edited: (MRESOURCES-70) Filter does not
process nested ${} variables
[ http://jira.codehaus.org/browse/MRESOURCES-70?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=196551#action_196551 ]
Antony Bourgois edited comment on MRESOURCES-70 at 10/29/09 11:39 AM:
----------------------------------------------------------------------
I'm having the same issue with Maven 2.2.1 - though the nesting works fine in Maven 2.0.7.
[ btw I'm using maven-resources-plugin-2.4.1 and I haven't traced the issue to this plugin ]
In my project's POM, I have the 2 properties:
<deploy-env>local</deploy-env>
<db.user>${db.user.${deploy-env}}</db.user>
In the above config, "deploy-env" is defaulted to "local", which I override at the command prompt with -Ddeploy-env=test
In my ~/.m2/settings.xml, I have the following properties:
<!-- local connection -->
<db.user.local>defaultAdmin</db.user.local>
<!-- test connection -->
<db.user.test>remoteAdmin</db.user.test>
I just have to modify the M2_HOME env variable to switch Maven version and experience the difference in evaluated output.
In my filtered config, ${db.user} evaluates to:
- in 2.0.7 - databaseUser=defaultAdmin (correct)
- in 2.2.1 - databaseUser=${db.user.${deploy-env}} (oops! unexpected)
Is this an actual bug or a feature change between 2.0.x and 2.2.x?
It's actually quite an issue for us as you expect.
If you have a comment, that'd be great.
was (Author: daexus):
I'm having the same issue with Maven 2.2.1 - though the nesting works fine in Maven 2.0.7.
In my project's POM, I have the 2 properties:
<deploy-env>local</deploy-env>
<db.user>${db.user.${deploy-env}}</db.user>
In the above config, "deploy-env" is defaulted to "local", which I override at the command prompt with -Ddeploy-env=test
In my ~/.m2/settings.xml, I have the following properties:
<!-- local connection -->
<db.user.local>defaultAdmin</db.user.local>
<!-- test connection -->
<db.user.test>remoteAdmin</db.user.test>
I just have to modify the M2_HOME env variable to switch Maven version and experience the difference in evaluated output.
In my filtered config, ${db.user} evaluates to:
- in 2.0.7 - databaseUser=defaultAdmin (correct)
- in 2.2.1 - databaseUser=${db.user.${deploy-env}} (oops! unexpected)
Is this an actual bug or a feature change between 2.0.x and 2.2.x?
It's actually quite an issue for us as you expect.
If you have a comment, that'd be great.
> Filter does not process nested ${} variables
> --------------------------------------------
>
> Key: MRESOURCES-70
> URL: http://jira.codehaus.org/browse/MRESOURCES-70
> Project: Maven 2.x Resources Plugin
> Issue Type: New Feature
> Affects Versions: 2.2
> Reporter: Matt Steele
> Fix For: 2.5
>
>
> When I try filtering this under src/main/resources:
> jms.username=${${env}.jms.username}
> with this filtering strategy:
> <resources>
> <resource>
> <directory>src/main/resources</directory>
> <filtering>true</filtering>
> </resource>
> </resources>
> Setting the property (from command line, <property>, etc.) fails to properly filter the nested element:
> jms.username=${${env}.jms.username}
> For example, I'd like the filter to convert to this (using a property of -Denv=dev):
> jms.username=${dev.jms.username}
--
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