You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Tamas Cservenak (Jira)" <ji...@apache.org> on 2023/04/28 11:21:00 UTC

[jira] [Updated] (MRESOLVER-357) ConflictResolver STANDARD verbosity misbehaves

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

Tamas Cservenak updated MRESOLVER-357:
--------------------------------------
    Description: 
As per use report, the 1.9.8 and 1.9.9 versions produce different "verbose tree" that previous versions:
{noformat}
Input node:
some-group:a:jar:1.0 [compile]
+- some-group:b:jar:1.0 [compile]
|  +- some-group:c:jar:1.0 [compile]
|  +- some-group:c:jar:2.0 [compile]
|  \- some-group:d:jar:1.0 [compile]
+- some-group:c:jar:2.0 [compile]
+- some-group:c:jar:1.0 [compile]
\- some-group:d:jar:2.0 [compile]

Transformed node:
some-group:a:jar:1.0 [compile]
+- some-group:b:jar:1.0 [compile]
|  \- some-group:c:jar:2.0 [compile] (nearer exists)
+- some-group:c:jar:2.0 [compile]
\- some-group:d:jar:2.0 [compile] {noformat}
The {{some-group:d:jar:1.0 [compile]}} should not be removed.

Seems that code comment "leaving only 1 loser" is present in comments only, but the actual code does not deliver this promise (the check is wrong, it should check for same GAs and not ANY child count).

  was:
As per use report, the 1.9.8 and 1.9.9 versions produce different "verbose tree" that previous versions:
{noformat}
Input node:
some-group:a:jar:1.0 [compile]
+- some-group:b:jar:1.0 [compile]
|  +- some-group:c:jar:1.0 [compile]
|  +- some-group:c:jar:2.0 [compile]
|  \- some-group:d:jar:1.0 [compile]
+- some-group:c:jar:2.0 [compile]
+- some-group:c:jar:1.0 [compile]
\- some-group:d:jar:2.0 [compile]

Transformed node:
some-group:a:jar:1.0 [compile]
+- some-group:b:jar:1.0 [compile]
|  \- some-group:c:jar:2.0 [compile] (nearer exists)
+- some-group:c:jar:2.0 [compile]
\- some-group:d:jar:2.0 [compile] {noformat}
The d:1.0 should not be removed.

Seems that code comment "leaving only 1 loser" is present in comments only, but the actual code does not deliver this promise (the check is wrong, it should check for same GAs and not ANY child count).


> ConflictResolver STANDARD verbosity misbehaves
> ----------------------------------------------
>
>                 Key: MRESOLVER-357
>                 URL: https://issues.apache.org/jira/browse/MRESOLVER-357
>             Project: Maven Resolver
>          Issue Type: Bug
>          Components: Resolver
>    Affects Versions: 1.9.8, 1.9.9
>            Reporter: Tamas Cservenak
>            Priority: Major
>             Fix For: 1.9.10
>
>
> As per use report, the 1.9.8 and 1.9.9 versions produce different "verbose tree" that previous versions:
> {noformat}
> Input node:
> some-group:a:jar:1.0 [compile]
> +- some-group:b:jar:1.0 [compile]
> |  +- some-group:c:jar:1.0 [compile]
> |  +- some-group:c:jar:2.0 [compile]
> |  \- some-group:d:jar:1.0 [compile]
> +- some-group:c:jar:2.0 [compile]
> +- some-group:c:jar:1.0 [compile]
> \- some-group:d:jar:2.0 [compile]
> Transformed node:
> some-group:a:jar:1.0 [compile]
> +- some-group:b:jar:1.0 [compile]
> |  \- some-group:c:jar:2.0 [compile] (nearer exists)
> +- some-group:c:jar:2.0 [compile]
> \- some-group:d:jar:2.0 [compile] {noformat}
> The {{some-group:d:jar:1.0 [compile]}} should not be removed.
> Seems that code comment "leaving only 1 loser" is present in comments only, but the actual code does not deliver this promise (the check is wrong, it should check for same GAs and not ANY child count).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)