apache / apache/maven-enforcer
[MENFORCER-414] Architecture-specific versions of library wrongly flagged by dependency convergence rule
- Dominant language
- Java
- Stars
- 161
- Forks
- 180
- Avg merge
- 1d 20m
- Merged PRs (30d)
- 8
Description
**[Vladimir B](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=JIRAUSER287072)** opened **[MENFORCER-414](https://issues.apache.org/jira/browse/MENFORCER-414?redirect=false)** and commented
I get the following warning reported by the dependency convergence rule of the plugin:
```java
Dependency convergence error for io.netty:netty-tcnative-boringssl-static:jar:2.0.50.Final:compile paths to dependency are:
+-com.ing.wbs.toolkit:wbs-toolkit-tpa-httpclient:jar:5.5.0
+-com.ing.apisdk:toolkit-connectivity-transport-http_2.12:jar:20.1.0:compile
+-com.twitter:finagle-http_2.12:jar:22.2.0:compile
+-com.twitter:finagle-http2_2.12:jar:22.2.0:compile
+-io.netty:netty-tcnative-boringssl-static:jar:2.0.50.Final:compile
and
+-com.ing.wbs.toolkit:wbs-toolkit-tpa-httpclient:jar:5.5.0
+-com.ing.apisdk:toolkit-connectivity-transport-http_2.12:jar:20.1.0:compile
+-com.twitter:finagle-http_2.12:jar:22.2.0:compile
+-io.netty:netty-tcnative-boringssl-static:jar:2.0.50.Final:compile
and
+-com.ing.wbs.toolkit:wbs-toolkit-tpa-httpclient:jar:5.5.0
+-com.ing.apisdk:toolkit-connectivity-transport-http_2.12:jar:20.1.0:compile
+-com.twitter:finagle-http_2.12:jar:22.2.0:compile
+-io.netty:netty-tcnative-boringssl-static:jar:2.0.50.Final:compile
+-io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64:2.0.48.Final:compile
and
+-com.ing.wbs.toolkit:wbs-toolkit-tpa-httpclient:jar:5.5.0
+-com.ing.apisdk:toolkit-connectivity-transport-http_2.12:jar:20.1.0:compile
+-com.twitter:finagle-http_2.12:jar:22.2.0:compile
+-io.netty:netty-tcnative-boringssl-static:jar:2.0.50.Final:compile
+-io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64:2.0.48.Final:compile
and
+-com.ing.wbs.toolkit:wbs-toolkit-tpa-httpclient:jar:5.5.0
+-com.ing.apisdk:toolkit-connectivity-transport-http_2.12:jar:20.1.0:compile
+-com.twitter:finagle-http_2.12:jar:22.2.0:compile
+-io.netty:netty-tcnative-boringssl-static:jar:2.0.50.Final:compile
+-io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64:2.0.48.Final:compile
and
+-com.ing.wbs.toolkit:wbs-toolkit-tpa-httpclient:jar:5.5.0
+-com.ing.apisdk:toolkit-connectivity-transport-http_2.12:jar:20.1.0:compile
+-com.twitter:finagle-http_2.12:jar:22.2.0:compile
+-io.netty:netty-tcnative-boringssl-static:jar:2.0.50.Final:compile
+-io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64:2.0.48.Final:compile
and
+-com.ing.wbs.toolkit:wbs-toolkit-tpa-httpclient:jar:5.5.0
+-com.ing.apisdk:toolkit-connectivity-transport-http_2.12:jar:20.1.0:compile
+-com.twitter:finagle-http_2.12:jar:22.2.0:compile
+-io.netty:netty-tcnative-boringssl-static:jar:2.0.50.Final:compile
+-io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64:2.0.48.Final:compile
```
It seems that the conflicting library is seen as being the same for all the paths, while in fact there are architecture-specific versions of the same library, which shouldn't be treated as the same library in my opinion.
---
**Affects:** 3.0.0
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the dependency convergence rule and reproduce the warning using the dependency paths in the report. Trace how io.netty:netty-tcnative-boringssl-static and its architecture-specific artifacts are compared. Done means the rule no longer treats platform-specific artifacts as the same conflicting library when their versions differ.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100