[
https://issues.apache.org/jira/browse/MSHADE-223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15922758#comment-15922758
]
Bryan Harclerode edited comment on MSHADE-223 at 3/13/17 7:18 PM:
------------------------------------------------------------------
I ran into this when I pulled in two artifacts with the same GAV but different
classifiers. Specifically, [this
check|https://github.com/apache/maven-plugins/blob/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java#L1161]
does not take into account classifiers, so it repeatedly adds the exclusion to
the wrong dependency. If it's trying to exclude something from the second
dependency, it will add it to the first dependency and iterate, detect that
something still needs to be excluded from the second dependency (since it never
got the exclusion) and repeat indefinitely.
was (Author: baharclerode):
I ran into this when I pulled in two artifacts with the same GAV but different
classifiers. Specifically, [this
check|https://github.com/apache/maven-plugins/blob/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java#L1161]
does not take into account classifiers, so it repeatedly adds the exclusion to
the wrong dependency. Specifically, if it's trying to exclude something from
the second dependency, it will add it to the first dependency and iterate,
detect that something still needs to be excluded from the second dependency
(since it never got the exclusion) and repeat indefinitely.
> Endless processing when promoteTransitiveDependencies=true
> ----------------------------------------------------------
>
> Key: MSHADE-223
> URL: https://issues.apache.org/jira/browse/MSHADE-223
> Project: Maven Shade Plugin
> Issue Type: Bug
> Affects Versions: 2.4.3
> Environment: OS X El Capitan (version 10.11.4)
> Reporter: Fabrizio Cucci
> Assignee: Robert Scholte
> Fix For: 3.0.0
>
>
> With the following simple pom:
> {code:xml}
> <project xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> http://maven.apache.org/xsd/maven-4.0.0.xsd">
> <modelVersion>4.0.0</modelVersion>
> <groupId>com.coolworks</groupId>
> <artifactId>bug-test</artifactId>
> <version>1.6.1</version>
> <properties>
>
> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
> <maven.compiler.source>1.8</maven.compiler.source>
> <maven.compiler.target>1.8</maven.compiler.target>
> </properties>
> <dependencies>
> <dependency>
> <groupId>org.apache.spark</groupId>
> <artifactId>spark-core_2.10</artifactId>
> <version>1.6.1</version>
> <optional>true</optional>
> </dependency>
> </dependencies>
> <build>
> <plugins>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-shade-plugin</artifactId>
> <version>2.4.3</version>
> <executions>
> <execution>
> <phase>package</phase>
> <goals>
> <goal>shade</goal>
> </goals>
> <configuration>
>
> <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
> <artifactSet>
> <includes>
>
> <include>org.apache.spark:spark-core_2.10</include>
> </includes>
> </artifactSet>
> </configuration>
> </execution>
> </executions>
> </plugin>
> </plugins>
> </build>
> </project>
> {code}
> running "mvn clean package" leads the plugin to endlessly print:
> {noformat}
> [INFO] Dependency-reduced POM written at:
> /Users/myuser/Documents/workspace/bug-test/dependency-reduced-pom.xml
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)