Inside MDEP-44 is a maven-project patch that resolves an issue getting attached artifacts from a reactor project. In the spirit of asking, can someone peek at the patch below and tell me if this is ok to commit?
Thanks, Brian Index: src/main/java/org/apache/maven/project/MavenProject.java =================================================================== --- src/main/java/org/apache/maven/project/MavenProject.java (revision 411602) +++ src/main/java/org/apache/maven/project/MavenProject.java (working copy) @@ -1611,6 +1611,7 @@ if ( ref.getArtifact().getFile() != null && ref.getArtifact().getFile().exists() ) { pluginArtifact = new ActiveProjectArtifact( ref, pluginArtifact ); + return pluginArtifact; } else { @@ -1620,6 +1621,35 @@ */ } } + + Iterator itr = ref.getAttachedArtifacts().iterator(); + while(itr.hasNext()) { + Artifact attached = (Artifact) itr.next(); + if( attached.getDependencyConflictId().equals(pluginArtifact.getDependencyCo nflictId()) ) { + /* TODO: if I use the original, I get an exception below: + java.lang.UnsupportedOperationException: Cannot change the download information for an attached artifact. It is derived from the main artifact. + at org.apache.maven.project.artifact.AttachedArtifact.setDownloadUrl(Attach edArtifact.java:89) + at org.apache.maven.project.artifact.MavenMetadataSource.retrieve(MavenMeta dataSource.java:205) + at org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(Defa ultArtifactCollector.java:275) + at org.apache.maven.artifact.resolver.DefaultArtifactCollector.collect(Defa ultArtifactCollector.java:67) + at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransi tively(DefaultArtifactResolver.java:223) + at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransi tively(DefaultArtifactResolver.java:211) + at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransi tively(DefaultArtifactResolver.java:182) + at org.apache.maven.plugin.DefaultPluginManager.resolveTransitiveDependenci es(DefaultPluginManager.java:1117) + at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginMa nager.java:366) + at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Default LifecycleExecutor.java:534) + at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifec ycle(DefaultLifecycleExecutor.java:475) + at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultL ifecycleExecutor.java:454) + at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandle Failures(DefaultLifecycleExecutor.java:306) + at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments( DefaultLifecycleExecutor.java:273) + at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifec ycleExecutor.java:140) + at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322) + at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115) + at org.apache.maven.cli.MavenCli.main(MavenCli.java:256) + */ + return ArtifactUtils.copyArtifact(attached); + } + } } } return pluginArtifact;