You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Guillaume Nodet (Jira)" <ji...@apache.org> on 2022/10/21 19:55:00 UTC

[jira] [Closed] (MSHADE-413) Maven share plugin enters endless loop

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

Guillaume Nodet closed MSHADE-413.
----------------------------------
      Assignee: Guillaume Nodet
    Resolution: Fixed

> Maven share plugin enters endless loop 
> ---------------------------------------
>
>                 Key: MSHADE-413
>                 URL: https://issues.apache.org/jira/browse/MSHADE-413
>             Project: Maven Shade Plugin
>          Issue Type: Bug
>    Affects Versions: 3.2.4
>            Reporter: Robert Stupp
>            Assignee: Guillaume Nodet
>            Priority: Critical
>             Fix For: 3.4.1
>
>
> Two issues at play here:
> * {{ShadeMojo.createDependencyReducedPom()}} pulls in {{origDeps = project.getDependencies()}} and later modifies these {{Dependency}} objects.
> * {{ShadeMojo.updateExcludesInDeps()}} enters it's own endless loop, endlessly adding the exact same exclusions.
> This leads to a [reproducible|https://github.com/projectnessie/nessie/issues/3678] endless loop (see below).
> If the Shade plugin's not using the {{Dependency}} objects "owned by Maven itself" (by setting {{promoteTransitiveDependencies}} to {{true}}), the build passes fine.
> I think, _modifying_ the {{Dependency}} objects "owned by Maven itself" is bad for two reasons (which IMO justify the increased priority of this ticket): 
> # the reproducible endless loop
> # it breaks the correctness of the project build - at least plugins running after the {{shade}} goal that use those dependencies.



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