Author: bentmann Date: Mon May 4 22:41:22 2009 New Revision: 771481 URL: http://svn.apache.org/viewvc?rev=771481&view=rev Log: o Fixed propagation of POM-level plugin dependencies to the plugin manager
Modified: maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java Modified: maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=771481&r1=771480&r2=771481&view=diff ============================================================================== --- maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original) +++ maven/components/branches/MNG-2766/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Mon May 4 22:41:22 2009 @@ -19,6 +19,8 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -424,8 +426,32 @@ if ( request.isResolveTransitively() ) { try - { - artifacts = source.retrieve( rootArtifact, localRepository, remoteRepositories ).getArtifacts(); + { + Set<Artifact> directArtifacts = + source.retrieve( rootArtifact, localRepository, remoteRepositories ).getArtifacts(); + + if ( artifacts == null || artifacts.isEmpty() ) + { + artifacts = directArtifacts; + } + else + { + List<Artifact> allArtifacts = new ArrayList<Artifact>(); + allArtifacts.addAll( artifacts ); + allArtifacts.addAll( directArtifacts ); + + Map<String, Artifact> mergedArtifacts = new LinkedHashMap<String, Artifact>(); + for ( Artifact artifact : allArtifacts ) + { + String conflictId = artifact.getDependencyConflictId(); + if ( !mergedArtifacts.containsKey( conflictId ) ) + { + mergedArtifacts.put( conflictId, artifact ); + } + } + + artifacts = new LinkedHashSet<Artifact>( mergedArtifacts.values() ); + } } catch ( ArtifactMetadataRetrievalException e ) { Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=771481&r1=771480&r2=771481&view=diff ============================================================================== --- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java (original) +++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java Mon May 4 22:41:22 2009 @@ -468,15 +468,15 @@ throw new LifecycleExecutionException( message ); } - if ( plugin.getVersion() == null ) + for ( Plugin buildPlugin : project.getBuildPlugins() ) { - for ( Plugin buildPlugin : project.getBuildPlugins() ) + if ( buildPlugin.getKey().equals( plugin.getKey() ) ) { - if ( buildPlugin.getKey().equals( plugin.getKey() ) ) + if ( plugin.getVersion() == null || plugin.getVersion().equals( buildPlugin.getVersion() ) ) { plugin = buildPlugin; - break; } + break; } }