You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Samuel Langlois (JIRA)" <ji...@apache.org> on 2016/08/12 13:53:20 UTC

[jira] [Created] (MNG-6079) 3.4 regression: cannot override version of a dependencyManagement in a submodule any more

Samuel Langlois created MNG-6079:
------------------------------------

             Summary: 3.4 regression: cannot override version of a dependencyManagement in a submodule any more
                 Key: MNG-6079
                 URL: https://issues.apache.org/jira/browse/MNG-6079
             Project: Maven
          Issue Type: Bug
          Components: Dependencies
    Affects Versions: 3.4.0
            Reporter: Samuel Langlois
         Attachments: parent-pom.xml, pom.xml

When you import a {{<dependencyManagement>}} section from another pom, you can use a property for the version:
{code}
   <dependencyManagement>
      <dependencies>
         <dependency>
            <groupId>org.apache.maven.surefire</groupId>
            <artifactId>surefire</artifactId>
            <version>${surefire.version}</version>
            <type>pom</type>
            <scope>import</scope>
         </dependency>
      </dependencies>
   </dependencyManagement>
{code}

In Maven 3.3 and before, that version could be overridden in submodules, by overriding the property.
In Maven 3.4, this doesn't work any more: redefining the property doesn't change the dependencies which are defined.

I attach a simple example that uses surefire dependencies. 
{{mvn dependency:list}} will yield different results:
* surefire-api:jar:2.12 with Maven 3.3, because this is the overridden version in the pom
* surefire-api:jar:2.10 with Maven 3.4 (as of snapshot 2016-08-06), which is the version defined in the parent pom

It is admittedly a corner case, or potentially a bug fix. In Maven 3.4, the behaviour of <dependencyManagement> is now more consistent with the one of <dependencies>, where you can't redefine a dependency version simply by overriding a property.
It is however a change in behaviour -- which broke my build.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)