Author: jvanzyl
Date: Sun Mar 18 16:40:05 2007
New Revision: 519740
URL: http://svn.apache.org/viewvc?view=rev&rev=519740
Log:
MNG-2877 resolve attached artifacts from reactor that are not in repo
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?view=diff&rev=519740&r1=519739&r2=519740
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
Sun Mar 18 16:40:05 2007
@@ -1588,6 +1588,7 @@
if ( ref.getArtifact().getFile() != null &&
ref.getArtifact().getFile().exists() )
{
pluginArtifact = new ActiveProjectArtifact( ref,
pluginArtifact );
+ return pluginArtifact;
}
else
{
@@ -1595,6 +1596,35 @@
logger.warn( "Artifact found in the reactor has not
been built when it's use was " +
"attempted - resolving from the repository
instead" );
*/
+ }
+ }
+
+ Iterator itr = ref.getAttachedArtifacts().iterator();
+ while(itr.hasNext()) {
+ Artifact attached = (Artifact) itr.next();
+ if(
attached.getDependencyConflictId().equals(pluginArtifact.getDependencyConflictId())
) {
+ /* 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(AttachedArtifact.java:89)
+ at
org.apache.maven.project.artifact.MavenMetadataSource.retrieve(MavenMetadataSource.java:205)
+ at
org.apache.maven.artifact.resolver.DefaultArtifactCollector.recurse(DefaultArtifactCollector.java:275)
+ at
org.apache.maven.artifact.resolver.DefaultArtifactCollector.collect(DefaultArtifactCollector.java:67)
+ at
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:223)
+ at
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:211)
+ at
org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:182)
+ at
org.apache.maven.plugin.DefaultPluginManager.resolveTransitiveDependencies(DefaultPluginManager.java:1117)
+ at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:366)
+ at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
+ at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:475)
+ at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:454)
+ at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
+ at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
+ at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.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);
}
}
}