You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Paul Gazda (JIRA)" <ji...@codehaus.org> on 2012/11/21 15:45:13 UTC

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Paul Gazda created MANTRUN-177:
----------------------------------

             Summary: Ant properties not passed to maven 3.0.4
                 Key: MANTRUN-177
                 URL: https://jira.codehaus.org/browse/MANTRUN-177
             Project: Maven 2.x Antrun Plugin
          Issue Type: Bug
    Affects Versions: 1.7
         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
            Reporter: Paul Gazda
         Attachments: build.log, pom.xml_test

I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
to detect the run environment, and based on that set the appropriate
filters file path as property "filters.file". exportAntProperties is set to
true. The filters.file property is supposed to be used in the filters tag
like this:
  <build>
      <filters>
        <filter>${filters.file}</filter>
      </filters>
 .
 .
 .

This worked when I was using maven 2.2.1, but since I upgraded to maven
3.0.4, the value for filters.file is no longer being passed to the <filter>
tag.

I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Darryl L. Miles (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=316523#comment-316523 ] 

Darryl L. Miles edited comment on MANTRUN-177 at 1/2/13 9:52 PM:
-----------------------------------------------------------------

`# Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

`# Windows
set MY_VARIABLE_ON_THIS_HOST=prd

<project>
 <properties>
  <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
 </properties>
</project>

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                
      was (Author: dlmiles):
     # Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

 # Windows
set MY_VARIABLE_ON_THIS_HOST=prd

<project>
 <properties>
  <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
 </properties>
</project>

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                  
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Darryl L. Miles (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=315687#comment-315687 ] 

Darryl L. Miles edited comment on MANTRUN-177 at 12/14/12 3:46 AM:
-------------------------------------------------------------------

A quick look from my point of view you are setting the property:

<property name="filters.file" value="../filters/filters.pc.properties"/> 

For the execution of the maven-antrun-plugin only.  But you have it configured in the pom.xml as <build><filters><filter> I am sure this behavior was not supported even in Maven 2.x it happened to work by chance not engineering.

Why don't you setup a pom.xml section:

<project>
 <properties>
  <filter.file>../filters/filters.pc.properties</filter.file>
 </properties>
</project>

and remove the <property ..../> element from the antrun configuration completely ?  what would be wrong with that ?  the path being used is setup is still configured in the same pom.xml file.

The only side-effect I can think up is that any children pom's would inherit the value, but maybe there is a way to inhibit that?  check maven documentation on <properties> sections.  Or simply use a name that will never clash change 'filter.file' for 'local.project.abc.efg.filter.file'
                
      was (Author: dlmiles):
    A quick look from my point of view you are setting the property:

<property name="filters.file" value="../filters/filters.pc.properties"/> 

For the execution of the maven-antrun-plugin only.  But you have it configured in the pom.xml as <build><filters><filter> I am sure this behavior was not supported even in Maven 2.x it happened to work by chance not engineering.

Why don't you setup a pom.xml section:

<project>
 <properties>
  <filter.file>../filters/filters.pc.properties</filter.file>
 </properties>
</project>

and remove the <property ..../> element from the antrun configuration completely ?  what would be wrong with that ?  the path being used is setup is still configured in the same pom.xml file.

The only side-effect I can think up is that any children pom's would inherit the value, but maybe there is a way to inhibit that?  check maven documentation on <properties> sections.  Or simply use a name that will never clash change 'filter.file' for 'local.project.foobar.filter.file'
                  
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Darryl L. Miles (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=315687#comment-315687 ] 

Darryl L. Miles edited comment on MANTRUN-177 at 12/14/12 3:50 AM:
-------------------------------------------------------------------

A quick look from my point of view you are setting the property:

<property name="filters.file" value="../filters/filters.pc.properties"/> 

For the execution of the maven-antrun-plugin only.  But you have it configured in the pom.xml as <build><filters><filter> I am sure this behavior was not supported even in Maven 2.x it happened to work by chance not engineering.  You have only configured the property at a lower (more nested) scope than the place where it is being used.  Each plugin has its own scope the <property ... /> is used by antrun/ANT not by maven.

Why don't you setup a pom.xml section:

<project>
 <properties>
  <filter.file>../filters/filters.pc.properties</filter.file>
 </properties>
</project>

and remove the <property ..../> element from the antrun configuration completely ?  what would be wrong with that ?  the path being used is setup is still configured in the same pom.xml file.

The only side-effect I can think up is that any children pom's would inherit the value, but maybe there is a way to inhibit that?  check maven documentation on <properties> sections.  Or simply use a name that will never clash change 'filter.file' for 'local.project.abc.efg.filter.file'
                
      was (Author: dlmiles):
    A quick look from my point of view you are setting the property:

<property name="filters.file" value="../filters/filters.pc.properties"/> 

For the execution of the maven-antrun-plugin only.  But you have it configured in the pom.xml as <build><filters><filter> I am sure this behavior was not supported even in Maven 2.x it happened to work by chance not engineering.

Why don't you setup a pom.xml section:

<project>
 <properties>
  <filter.file>../filters/filters.pc.properties</filter.file>
 </properties>
</project>

and remove the <property ..../> element from the antrun configuration completely ?  what would be wrong with that ?  the path being used is setup is still configured in the same pom.xml file.

The only side-effect I can think up is that any children pom's would inherit the value, but maybe there is a way to inhibit that?  check maven documentation on <properties> sections.  Or simply use a name that will never clash change 'filter.file' for 'local.project.abc.efg.filter.file'
                  
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Darryl L. Miles (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=316523#comment-316523 ] 

Darryl L. Miles edited comment on MANTRUN-177 at 1/2/13 9:54 PM:
-----------------------------------------------------------------

{code}# Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

# Windows
set MY_VARIABLE_ON_THIS_HOST=prd
{code}

{code:xml}
    <project>
     <properties>
      <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
     </properties>
    </project>
{code}

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                
      was (Author: dlmiles):
    {code}# Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

# Windows
set MY_VARIABLE_ON_THIS_HOST=prd
{code}

{code:xml}     <project>
     <properties>
      <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
     </properties>
    </project>
{code}

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                  
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Darryl L. Miles (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=316523#comment-316523 ] 

Darryl L. Miles commented on MANTRUN-177:
-----------------------------------------

# Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

# Windows
set MY_VARIABLE_ON_THIS_HOST=prd

<project>
 <properties>
  <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
 </properties>
</project>

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Paul Gazda (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=316735#comment-316735 ] 

Paul Gazda commented on MANTRUN-177:
------------------------------------

Darryl,
Thank you for the suggestion. I worked around the problem by using the antrun plugin to copy the correct filters file to a temp file with a static name, but your method looks simpler.
                
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Darryl L. Miles (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=315687#comment-315687 ] 

Darryl L. Miles commented on MANTRUN-177:
-----------------------------------------

A quick look from my point of view you are setting the property:

<property name="filters.file" value="../filters/filters.pc.properties"/> 

For the execution of the maven-antrun-plugin only.  But you have it configured in the pom.xml as <build><filters><filter> I am sure this behavior was not supported even in Maven 2.x it happened to work by chance not engineering.

Why don't you setup a pom.xml section:

<properties>
 <filter.file>../foobar</filter.file>
</properties>

and remove the <property ..../> element from the antrun configuration ?  what would be wrong with that ?  the path being used it setup is still configured in the same pom.xml file.

The only new thing that would happen is that any children pom's would inherit the value, but maybe there is a way to inhibit that?  check maven documentation on <properties> sections.
                
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Darryl L. Miles (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=316523#comment-316523 ] 

Darryl L. Miles edited comment on MANTRUN-177 at 1/2/13 9:53 PM:
-----------------------------------------------------------------

'# Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

'# Windows
set MY_VARIABLE_ON_THIS_HOST=prd

{{    <project>
     <properties>
      <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
     </properties>
    </project>}}

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                
      was (Author: dlmiles):
    '# Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

'# Windows
set MY_VARIABLE_ON_THIS_HOST=prd

    <project>
     <properties>
      <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
     </properties>
    </project>

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                  
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Darryl L. Miles (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=316523#comment-316523 ] 

Darryl L. Miles edited comment on MANTRUN-177 at 1/2/13 9:54 PM:
-----------------------------------------------------------------

{code}# Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

# Windows
set MY_VARIABLE_ON_THIS_HOST=prd
{code}

{code:xml}     <project>
     <properties>
      <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
     </properties>
    </project>
{code}

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                
      was (Author: dlmiles):
    bq.# Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

bq.# Windows
set MY_VARIABLE_ON_THIS_HOST=prd

bq.    <project>
     <properties>
      <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
     </properties>
    </project>

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                  
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Darryl L. Miles (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=316523#comment-316523 ] 

Darryl L. Miles edited comment on MANTRUN-177 at 1/2/13 9:53 PM:
-----------------------------------------------------------------

bq.# Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

bq.# Windows
set MY_VARIABLE_ON_THIS_HOST=prd

bq.    <project>
     <properties>
      <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
     </properties>
    </project>

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                
      was (Author: dlmiles):
    '# Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

'# Windows
set MY_VARIABLE_ON_THIS_HOST=prd

{{    <project>
     <properties>
      <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
     </properties>
    </project>}}

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                  
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Darryl L. Miles (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=316523#comment-316523 ] 

Darryl L. Miles edited comment on MANTRUN-177 at 1/2/13 9:51 PM:
-----------------------------------------------------------------

 # Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

 # Windows
set MY_VARIABLE_ON_THIS_HOST=prd

<project>
 <properties>
  <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
 </properties>
</project>

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                
      was (Author: dlmiles):
    # Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

# Windows
set MY_VARIABLE_ON_THIS_HOST=prd

<project>
 <properties>
  <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
 </properties>
</project>

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                  
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Darryl L. Miles (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=316523#comment-316523 ] 

Darryl L. Miles edited comment on MANTRUN-177 at 1/2/13 9:52 PM:
-----------------------------------------------------------------

'# Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

'# Windows
set MY_VARIABLE_ON_THIS_HOST=prd

<project>
 <properties>
  <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
 </properties>
</project>

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                
      was (Author: dlmiles):
    `# Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

`# Windows
set MY_VARIABLE_ON_THIS_HOST=prd

<project>
 <properties>
  <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
 </properties>
</project>

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                  
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Paul Gazda (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=315735#comment-315735 ] 

Paul Gazda commented on MANTRUN-177:
------------------------------------

Thank you for the suggestion, Darryl. But in this case it will not achieve what I am after. There is some additional info that is not in my test case that I constructed to demonstrate the problem. The purpose of the ant task is to to look at the machine name it is running on and determine what environment it is in: pc, dev, test, prd. That allows the correct filters file to be used.

To do this, I had the ant task run in the validation phase and set the file name that is then used as a <filter> to set the correct db connection values in a hibernate config file.

In the actual mvn pom I have:
  <build>
       <filters>
         <filter>${filters.file}</filter>
       </filters>
...
        <plugin>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.7</version>
          <executions>
            <execution>
              <phase>validate</phase>
              <configuration>
                <target>
                  ... <!-- finds machine name here and sets filter.type property -->
                  <property name="thisEnv" value="${filter.type}"/>
                  <property name="filters.file" value="../filters/filters.${thisEnv}.properties"/> 
                  <echo message="filters.file = ${filters.file}" />
                </target>
...

I don't know of another way for maven to determine what environment it is running in.
                
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Darryl L. Miles (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=315687#comment-315687 ] 

Darryl L. Miles edited comment on MANTRUN-177 at 12/14/12 3:46 AM:
-------------------------------------------------------------------

A quick look from my point of view you are setting the property:

<property name="filters.file" value="../filters/filters.pc.properties"/> 

For the execution of the maven-antrun-plugin only.  But you have it configured in the pom.xml as <build><filters><filter> I am sure this behavior was not supported even in Maven 2.x it happened to work by chance not engineering.

Why don't you setup a pom.xml section:

<project>
 <properties>
  <filter.file>../filters/filters.pc.properties</filter.file>
 </properties>
</project>

and remove the <property ..../> element from the antrun configuration completely ?  what would be wrong with that ?  the path being used is setup is still configured in the same pom.xml file.

The only side-effect I can think up is that any children pom's would inherit the value, but maybe there is a way to inhibit that?  check maven documentation on <properties> sections.  Or simply use a name that will never clash change 'filter.file' for 'local.project.foobar.filter.file'
                
      was (Author: dlmiles):
    A quick look from my point of view you are setting the property:

<property name="filters.file" value="../filters/filters.pc.properties"/> 

For the execution of the maven-antrun-plugin only.  But you have it configured in the pom.xml as <build><filters><filter> I am sure this behavior was not supported even in Maven 2.x it happened to work by chance not engineering.

Why don't you setup a pom.xml section:

<properties>
 <filter.file>../foobar</filter.file>
</properties>

and remove the <property ..../> element from the antrun configuration ?  what would be wrong with that ?  the path being used it setup is still configured in the same pom.xml file.

The only new thing that would happen is that any children pom's would inherit the value, but maybe there is a way to inhibit that?  check maven documentation on <properties> sections.
                  
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MANTRUN-177) Ant properties not passed to maven 3.0.4

Posted by "Darryl L. Miles (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MANTRUN-177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=316523#comment-316523 ] 

Darryl L. Miles edited comment on MANTRUN-177 at 1/2/13 9:52 PM:
-----------------------------------------------------------------

'# Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

'# Windows
set MY_VARIABLE_ON_THIS_HOST=prd

    <project>
     <properties>
      <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
     </properties>
    </project>

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                
      was (Author: dlmiles):
    '# Unix
MY_VARIABLE_ON_THIS_HOST=prd
export MY_VARIABLE_ON_THIS_HOST

'# Windows
set MY_VARIABLE_ON_THIS_HOST=prd

<project>
 <properties>
  <filters.file>${env.MY_VARIABLE_ON_THIS_HOST}</filters.file>
 </properties>
</project>

You can use the 'maven-enforcer-plugin' [ https://maven.apache.org/enforcer/maven-enforcer-plugin/usage.html ] to fail any Maven usage that does not setup the environment variable first.  There is <requireEnvironmentVariable>  but I'd use <requireProperty>  for ${filters.file} being a non-empty value, or better any one of the valid values <regex>^(pc|dev|test|prd)$</regex> info on this at https://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

You can configure the environment variable in a place on each system that is globally picked up by all logged in users /etc/profile on Unix or System Properties on Windows.


Now you no longer need to tie your config to a 'hostname' which is an unrelated information, you also do not need an 'ANT' dependency if this is the only use.


                  
> Ant properties not passed to maven 3.0.4
> ----------------------------------------
>
>                 Key: MANTRUN-177
>                 URL: https://jira.codehaus.org/browse/MANTRUN-177
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.7
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 01:44:56-0700)
> Java version: 1.6.0_34, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
>            Reporter: Paul Gazda
>         Attachments: build.log, pom.xml_test
>
>
> I have a pom.xml that uses maven-antrun-plugin v 1.7 in phase "validate"
> to detect the run environment, and based on that set the appropriate
> filters file path as property "filters.file". exportAntProperties is set to
> true. The filters.file property is supposed to be used in the filters tag
> like this:
>   <build>
>       <filters>
>         <filter>${filters.file}</filter>
>       </filters>
>  .
>  .
>  .
> This worked when I was using maven 2.2.1, but since I upgraded to maven
> 3.0.4, the value for filters.file is no longer being passed to the <filter>
> tag.
> I have attached a test pom.xml I created to demonstrate the problem. If "mvn install" is run with maven 2.2.1, the value for ${filters.file} is passed to maven (the install will fail after this because it is a dummy test, but it is clear that the ${filters.file} value has been passed correctly). If I run it with maven 3.0.4, the value for ${filters.file} is not passed to maven. I have attached and the maven build log from the failed 3.0.4 "mvn install".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira