maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dmitry Spikhalskiy (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (MENFORCER-252) DependencyConvergence doesn't proceed dependencyManagement section correctly
Date Thu, 19 May 2016 13:30:13 GMT

     [ https://issues.apache.org/jira/browse/MENFORCER-252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Dmitry Spikhalskiy updated MENFORCER-252:
-----------------------------------------
    Description: 
DependencyConvergence doesn't catch dependencyManagement section of dependency correctly.

Specific example:
We have module that depends on async-http-client:

        <dependency>
            <groupId>org.asynchttpclient</groupId>
            <artifactId>async-http-client</artifactId>
            <version>2.0.3</version>
        </dependency>

>From dependencyConvergence rule we get

[WARNING] Rule 0: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
Failed while enforcing releasability the error(s) are [
Dependency convergence error for io.netty:netty-handler:4.0.36.Final paths to dependency are:
+-our_artifact
  +-org.asynchttpclient:async-http-client:2.0.3
    +-io.netty:netty-codec-http:4.0.36.Final
      +-io.netty:netty-handler:4.0.36.Final
and
+-our_artifact
  +-org.asynchttpclient:async-http-client:2.0.3
    +-com.typesafe.netty:netty-reactive-streams:1.0.4
      +-io.netty:netty-handler:4.0.34.Final


While, actually, dependencyManagement section of async-http-client specifies version of netty-handler
and it's dependency tree doesn't contain netty-handler:4.0.34.Final

So... if it's not a bug, it should be a way to ignore such cases of explicitly resolved conflicts
in external artifact maybe.

Current fix for this is
{code:xml}
        <dependency>
            <groupId>org.asynchttpclient</groupId>
            <artifactId>async-http-client</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>io.netty</groupId>
                    <artifactId>netty-handler</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-handler</artifactId>
            <version>4.0.36.Final</version>
        </dependency>
{code}

But it's stupid, because netty-handler already contains only netty-handler:4.0.36.Final

  was:
DependencyConvergence doesn't catch dependencyManagement section of dependency correctly.

Specific example:
We have module that depends on async-http-client:

        <dependency>
            <groupId>org.asynchttpclient</groupId>
            <artifactId>async-http-client</artifactId>
            <version>2.0.3</version>
        </dependency>

>From dependencyConvergence rule we get

[WARNING] Rule 0: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
Failed while enforcing releasability the error(s) are [
Dependency convergence error for io.netty:netty-handler:4.0.36.Final paths to dependency are:
+-our_artifact
  +-org.asynchttpclient:async-http-client:2.0.3
    +-io.netty:netty-codec-http:4.0.36.Final
      +-io.netty:netty-handler:4.0.36.Final
and
+-our_artifact
  +-org.asynchttpclient:async-http-client:2.0.3
    +-com.typesafe.netty:netty-reactive-streams:1.0.4
      +-io.netty:netty-handler:4.0.34.Final


While, actually, dependencyManagement section of async-http-client specifies version of netty-handler
and it's dependency tree doesn't contain netty-handler:4.0.34.Final

So... if it's not a bug, it should be a way to ignore such cases of explicitly resolved conflicts
in external artifact maybe.

Current fix for this is
{code:xml}
        <dependency>
            <groupId>org.asynchttpclient</groupId>
            <artifactId>async-http-client</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>io.netty</groupId>
                    <artifactId>netty-handler</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-handler</artifactId>
            <version>4.0.36.Final</version>
        </dependency>
{code:xml}

But it's stupid, because netty-handler already contains only netty-handler:4.0.36.Final


> DependencyConvergence doesn't proceed dependencyManagement section correctly
> ----------------------------------------------------------------------------
>
>                 Key: MENFORCER-252
>                 URL: https://issues.apache.org/jira/browse/MENFORCER-252
>             Project: Maven Enforcer Plugin
>          Issue Type: Bug
>          Components: Plugin
>    Affects Versions: 1.4.1
>            Reporter: Dmitry Spikhalskiy
>
> DependencyConvergence doesn't catch dependencyManagement section of dependency correctly.
> Specific example:
> We have module that depends on async-http-client:
>         <dependency>
>             <groupId>org.asynchttpclient</groupId>
>             <artifactId>async-http-client</artifactId>
>             <version>2.0.3</version>
>         </dependency>
> From dependencyConvergence rule we get
> [WARNING] Rule 0: org.apache.maven.plugins.enforcer.DependencyConvergence failed with
message:
> Failed while enforcing releasability the error(s) are [
> Dependency convergence error for io.netty:netty-handler:4.0.36.Final paths to dependency
are:
> +-our_artifact
>   +-org.asynchttpclient:async-http-client:2.0.3
>     +-io.netty:netty-codec-http:4.0.36.Final
>       +-io.netty:netty-handler:4.0.36.Final
> and
> +-our_artifact
>   +-org.asynchttpclient:async-http-client:2.0.3
>     +-com.typesafe.netty:netty-reactive-streams:1.0.4
>       +-io.netty:netty-handler:4.0.34.Final
> While, actually, dependencyManagement section of async-http-client specifies version
of netty-handler and it's dependency tree doesn't contain netty-handler:4.0.34.Final
> So... if it's not a bug, it should be a way to ignore such cases of explicitly resolved
conflicts in external artifact maybe.
> Current fix for this is
> {code:xml}
>         <dependency>
>             <groupId>org.asynchttpclient</groupId>
>             <artifactId>async-http-client</artifactId>
>             <exclusions>
>                 <exclusion>
>                     <groupId>io.netty</groupId>
>                     <artifactId>netty-handler</artifactId>
>                 </exclusion>
>             </exclusions>
>         </dependency>
>         <dependency>
>             <groupId>io.netty</groupId>
>             <artifactId>netty-handler</artifactId>
>             <version>4.0.36.Final</version>
>         </dependency>
> {code}
> But it's stupid, because netty-handler already contains only netty-handler:4.0.36.Final



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

Mime
View raw message