You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2012/09/02 17:35:14 UTC
svn commit: r1379995 - in /maven/plugins/trunk/maven-shade-plugin: pom.xml
src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java
Author: hboutemy
Date: Sun Sep 2 15:35:14 2012
New Revision: 1379995
URL: http://svn.apache.org/viewvc?rev=1379995&view=rev
Log:
updated maven-dependency-tree to 2.0 (the first version really Maven 3.0-compatible)
Modified:
maven/plugins/trunk/maven-shade-plugin/pom.xml
maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java
Modified: maven/plugins/trunk/maven-shade-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/pom.xml?rev=1379995&r1=1379994&r2=1379995&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-shade-plugin/pom.xml Sun Sep 2 15:35:14 2012
@@ -130,7 +130,7 @@ under the License.
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-dependency-tree</artifactId>
- <version>1.1</version>
+ <version>2.0</version>
</dependency>
<dependency>
<groupId>org.vafer</groupId>
Modified: maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java?rev=1379995&r1=1379994&r2=1379995&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java (original)
+++ maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java Sun Sep 2 15:35:14 2012
@@ -54,9 +54,9 @@ import org.apache.maven.project.ProjectB
import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.project.ProjectBuildingResult;
-import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
+import org.apache.maven.shared.dependency.graph.DependencyNode;
+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
@@ -76,7 +76,6 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
@@ -106,10 +105,10 @@ public class ShadeMojo
private Shader shader;
/**
- * The dependency tree builder to use.
+ * The dependency graph builder to use.
*/
@Component
- private DependencyTreeBuilder dependencyTreeBuilder;
+ private DependencyGraphBuilder dependencyTreeBuilder;
/**
* ProjectBuilder, needed to create projects from the artifacts.
@@ -130,12 +129,6 @@ public class ShadeMojo
private ArtifactMetadataSource artifactMetadataSource;
/**
- * The artifact collector to use.
- */
- @Component
- private ArtifactCollector artifactCollector;
-
- /**
* Remote repositories which will be searched for source attachments.
*/
@Parameter( readonly = true, required = true, defaultValue = "${project.remoteArtifactRepositories}" )
@@ -796,7 +789,7 @@ public class ShadeMojo
// We need to find the direct dependencies that have been included in the uber JAR so that we can modify the
// POM accordingly.
private void createDependencyReducedPom( Set<String> artifactsToRemove )
- throws IOException, DependencyTreeBuilderException, ProjectBuildingException
+ throws IOException, DependencyGraphBuilderException, ProjectBuildingException
{
Model model = project.getOriginalModel();
List<Dependency> dependencies = new ArrayList<Dependency>();
@@ -964,58 +957,44 @@ public class ShadeMojo
public boolean updateExcludesInDeps( MavenProject project, List<Dependency> dependencies,
List<Dependency> transitiveDeps )
- throws DependencyTreeBuilderException
+ throws DependencyGraphBuilderException
{
- DependencyNode node = dependencyTreeBuilder.buildDependencyTree( project, localRepository, artifactFactory,
- artifactMetadataSource, null,
- artifactCollector );
+ DependencyNode node = dependencyTreeBuilder.buildDependencyGraph( project, null );
boolean modified = false;
- Iterator it = node.getChildren().listIterator();
- while ( it.hasNext() )
+ for ( DependencyNode n2 : node.getChildren() )
{
- DependencyNode n2 = (DependencyNode) it.next();
- Iterator it2 = n2.getChildren().listIterator();
- while ( it2.hasNext() )
- {
- DependencyNode n3 = (DependencyNode) it2.next();
- //anything two levels deep that is marked "included"
- //is stuff that was excluded by the original poms, make sure it
- //remains excluded IF promoting transitives.
- if ( n3.getState() == DependencyNode.INCLUDED )
- {
- //check if it really isn't in the list of original dependencies. Maven
- //prior to 2.0.8 may grab versions from transients instead of
- //from the direct deps in which case they would be marked included
- //instead of OMITTED_FOR_DUPLICATE
-
- //also, if not promoting the transitives, level 2's would be included
- boolean found = false;
- for ( int x = 0; x < transitiveDeps.size(); x++ )
- {
- Dependency dep = transitiveDeps.get( x );
- if ( dep.getArtifactId().equals( n3.getArtifact().getArtifactId() ) && dep.getGroupId().equals(
- n3.getArtifact().getGroupId() ) )
- {
- found = true;
- }
+ for ( DependencyNode n3 : n2.getChildren() )
+ {
+ //check if it really isn't in the list of original dependencies. Maven
+ //prior to 2.0.8 may grab versions from transients instead of
+ //from the direct deps in which case they would be marked included
+ //instead of OMITTED_FOR_DUPLICATE
+ //also, if not promoting the transitives, level 2's would be included
+ boolean found = false;
+ for ( Dependency dep : transitiveDeps )
+ {
+ if ( dep.getArtifactId().equals( n3.getArtifact().getArtifactId() )
+ && dep.getGroupId().equals( n3.getArtifact().getGroupId() ) )
+ {
+ found = true;
+ break;
}
+ }
- if ( !found )
+ if ( !found )
+ {
+ for ( Dependency dep : dependencies )
{
- for ( int x = 0; x < dependencies.size(); x++ )
+ if ( dep.getArtifactId().equals( n2.getArtifact().getArtifactId() )
+ && dep.getGroupId().equals( n2.getArtifact().getGroupId() ) )
{
- Dependency dep = dependencies.get( x );
- if ( dep.getArtifactId().equals( n2.getArtifact().getArtifactId() )
- && dep.getGroupId().equals( n2.getArtifact().getGroupId() ) )
- {
- Exclusion exclusion = new Exclusion();
- exclusion.setArtifactId( n3.getArtifact().getArtifactId() );
- exclusion.setGroupId( n3.getArtifact().getGroupId() );
- dep.addExclusion( exclusion );
- modified = true;
- break;
- }
+ Exclusion exclusion = new Exclusion();
+ exclusion.setArtifactId( n3.getArtifact().getArtifactId() );
+ exclusion.setGroupId( n3.getArtifact().getGroupId() );
+ dep.addExclusion( exclusion );
+ modified = true;
+ break;
}
}
}