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:56:00 UTC
[jira] [Updated] (MSHADE-413) Maven shade plugin enters endless loop
[ https://issues.apache.org/jira/browse/MSHADE-413?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guillaume Nodet updated MSHADE-413:
-----------------------------------
Summary: Maven shade plugin enters endless loop (was: Maven share plugin enters endless loop )
> Maven shade 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)