You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Bryan Harclerode (JIRA)" <ji...@apache.org> on 2017/03/13 19:09:41 UTC

[jira] [Commented] (MSHADE-223) Endless processing when promoteTransitiveDependencies=true

    [ https://issues.apache.org/jira/browse/MSHADE-223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15922758#comment-15922758 ] 

Bryan Harclerode commented on MSHADE-223:
-----------------------------------------

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)