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;