jira.codehaus.org

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What?s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Maven 2 & 3
  • MNG-4123

still can't override properties in pom.xml with -D command line settings. regression?

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Cannot Reproduce
  • Affects Version/s: 3.0-alpha-2
  • Fix Version/s: None
  • Component/s: Command Line
  • Labels:
    None
  • Environment:
    windows vista
  • Complexity:
    Intermediate

Description

Hello...
The original bug ( http://jira.codehaus.org/browse/MNG-1992
) was marked as fixed in 2.1.0, and 3.0-alpha-1

I used a slightliy modifed version of the test case described in http://jira.codehaus.org/browse/MNG-3417
to understand what I thought i was seeing...

It still seems not to work as described in the original bug.

I tried two things...

1) tried resource filtering (running > mvn -Dtest.property='overridden' clean verify < and catting test.xt as described in the original bug report.
same result.

Then I tried updating my maven resources plugin to 2.3 – running with maven 3.0-alpha-2 (see modified pom.xml, below). Stil no luck.

2) next i tried
mvn -e -Dtest.result=haha help:effective-pom

the property setting given for test.result was still default.

So it seems like there are two failure modes . one for resource filtering, and one for interpolation process that does not involve filtering..
or maybe they have they same root cause. In any case it seems not to work still (at least on windoze).

thanks !
-chris

modified pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.test</groupId>
  <artifactId>test</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>


  <properties>
     <test.property>default</test.property>
     <test.include.pattern>*.txt</test.include.pattern>
  </properties>
  <profiles>
       <profile>
            <id>test.profile</id>
            <properties>
               <test.property>profile</test.property>
               <test.include.pattern>*.txt</test.include.pattern>
            </properties>
        </profile>
  </profiles>

    <build>
     <pluginManagement>
        <plugins>
                      <plugin>
                          <artifactId>maven-resources-plugin</artifactId>
                              <version>2.3</version>
                      </plugin>

        </plugins>
     </pluginManagement>




    <testResources>
       <testResource>
           <directory>${basedir}/src/test/resources</directory>
           <filtering>true</filtering>
           <includes>
               <include>${test.include.pattern}</include>
           </includes>
       </testResource>
   </testResources>
   </build>
</project>
  • Options
    • Sort By Name
    • Sort By Date
    • Ascending
    • Descending
    • Download All

Attachments

  1. Hide
    Zip Archive
    MNG-4123.zip
    03/Apr/09 3:39 PM
    0.9 kB
    Benjamin Bentmann
    1. XML File
      MNG-4123\pom.xml 2 kB
    Download Zip
    Show
    Zip Archive
    MNG-4123.zip
    03/Apr/09 3:39 PM
    0.9 kB
    Benjamin Bentmann

Issue Links

is related to

Bug - A problem which impairs or prevents the functions of the product. MNG-1992 CLI -D should override properties in settings.xml

  • Major - Major loss of function.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
Hide
Permalink
Benjamin Bentmann added a comment - 02/Apr/09 3:34 PM

I can't reproduce the problem you mentioned in the issue title. Running "mvn help:effective-pom -D test.property=cli" on the attached project using Maven 3.0-alpha-2 outputs

<properties>
  <!--
  NOTE: model properties get never overriden by system properties.
  However, system properties take precedence over model properties
  during interpolation.
  -->
  <test.property>default</test.property>
  <test.result>cli</test.result>
</properties>

The effective value of test.result is however known to be wrong when "mvn ... -P test" is invoked instead (see MNG-3900).

Show
Benjamin Bentmann added a comment - 02/Apr/09 3:34 PM I can't reproduce the problem you mentioned in the issue title. Running "mvn help:effective-pom -D test.property=cli" on the attached project using Maven 3.0-alpha-2 outputs
<properties>
  <!--
  NOTE: model properties get never overriden by system properties.
  However, system properties take precedence over model properties
  during interpolation.
  -->
  <test.property>default</test.property>
  <test.result>cli</test.result>
</properties>
The effective value of test.result is however known to be wrong when "mvn ... -P test" is invoked instead (see MNG-3900).
Hide
Permalink
Benjamin Bentmann added a comment - 02/Apr/09 3:35 PM

About resource filtering: This is beyond the Maven core, so any issues with resources need to be filled against the Maven Resources Plugin.

Show
Benjamin Bentmann added a comment - 02/Apr/09 3:35 PM About resource filtering: This is beyond the Maven core, so any issues with resources need to be filled against the Maven Resources Plugin.
Hide
Permalink
Steve Holmes added a comment - 02/Apr/09 5:18 PM

I copied the example POM and my output shows:

<properties>
<test.include.pattern>*.txt</test.include.pattern>
<test.property>default</test.property>
</properties>

Shouldn't the test.property show "cli"?

-Steve

Show
Steve Holmes added a comment - 02/Apr/09 5:18 PM I copied the example POM and my output shows: <properties> <test.include.pattern>*.txt</test.include.pattern> <test.property>default</test.property> </properties> Shouldn't the test.property show "cli"? -Steve
Hide
Permalink
Benjamin Bentmann added a comment - 02/Apr/09 5:24 PM

As said:

NOTE: model properties get never overriden by system properties. However, system properties take precedence over model properties during interpolation.

The CLI directive -D defines system properties which are kept separate from the <properties> defined in the POM. The system properties are merely the preferred data source during POM interpolation or plugin configuration. <properties> defined by profiles on the other hand override the properties in the POM, because these are the same kind of property sources.

Show
Benjamin Bentmann added a comment - 02/Apr/09 5:24 PM As said:
NOTE: model properties get never overriden by system properties. However, system properties take precedence over model properties during interpolation.
The CLI directive -D defines system properties which are kept separate from the <properties> defined in the POM. The system properties are merely the preferred data source during POM interpolation or plugin configuration. <properties> defined by profiles on the other hand override the properties in the POM, because these are the same kind of property sources.
Hide
Permalink
Steve Holmes added a comment - 02/Apr/09 5:37 PM

I should mention I am using 2.1

Show
Steve Holmes added a comment - 02/Apr/09 5:37 PM I should mention I am using 2.1
Hide
Permalink
chris bedford added a comment - 03/Apr/09 12:25 PM

Hi, Benjamin:
thanks for your previous comments on this bug. I hope you don't mind this request to
reopen this issue. I think reopening is warranted because at least two people have seen
inconsistent behavior from what you reported you saw when you ran

"mvn help:effective-pom -D test.property=cli"

You see
> <test.result>cli</test.result>

in the output.

I see: <test.result>default</test.result>

If it helps I would be happy to package up a vmware image that contains my complete environment
and allows you to repro the behavior i have observed in maven 2.1 (on both windows and Linux).

I can't reproduce the problem you mentioned in the issue title. Running "mvn help:effective-pom -D test.property=cli" on the attached project using Maven 3.0-alpha-2 outputs

<properties>
<!--
NOTE: model properties get never overriden by system properties.
However, system properties take precedence over model properties
during interpolation.
-->
<test.property>default</test.property>
<test.result>cli</test.result>
</properties>

Show
chris bedford added a comment - 03/Apr/09 12:25 PM Hi, Benjamin: thanks for your previous comments on this bug. I hope you don't mind this request to reopen this issue. I think reopening is warranted because at least two people have seen inconsistent behavior from what you reported you saw when you ran "mvn help:effective-pom -D test.property=cli" You see > <test.result>cli</test.result> in the output. I see: <test.result>default</test.result> If it helps I would be happy to package up a vmware image that contains my complete environment and allows you to repro the behavior i have observed in maven 2.1 (on both windows and Linux). I can't reproduce the problem you mentioned in the issue title. Running "mvn help:effective-pom -D test.property=cli" on the attached project using Maven 3.0-alpha-2 outputs <properties> <!-- NOTE: model properties get never overriden by system properties. However, system properties take precedence over model properties during interpolation. --> <test.property>default</test.property> <test.result>cli</test.result> </properties>
Hide
Permalink
Benjamin Bentmann added a comment - 03/Apr/09 3:39 PM

We might want to start with a full debug log or your build, i.e.

mvn help:effective-pom -D test.property=cli -X > debug.log
Show
Benjamin Bentmann added a comment - 03/Apr/09 3:39 PM We might want to start with a full debug log or your build, i.e.
mvn help:effective-pom -D test.property=cli -X > debug.log

People

  • Assignee:
    Benjamin Bentmann
    Reporter:
    chris bedford
Vote (0)
Watch (0)

Dates

  • Created:
    02/Apr/09 2:45 PM
    Updated:
    02/Apr/10 6:29 AM
    Resolved:
    02/Apr/10 6:29 AM
  • Atlassian JIRA (v5.0.4#731-sha1:3aa7374)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Codehaus. Try JIRA - bug tracking software for your team.