Author: jdcasey
Date: Wed Jul 9 14:45:04 2008
New Revision: 675353
URL: http://svn.apache.org/viewvc?rev=675353&view=rev
Log:
[MNG-3380] Return both project and resolved POM artifact instances in a private
datatype, to preserve resolved artifact info.
Modified:
maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
Modified:
maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
URL:
http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=675353&r1=675352&r2=675353&view=diff
==============================================================================
---
maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
(original)
+++
maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
Wed Jul 9 14:45:04 2008
@@ -88,8 +88,14 @@
return artifact;
}
- MavenProject project = retrieveRelocatedProject( artifact,
localRepository, remoteRepositories );
-
+ ProjectRelocation rel = retrieveRelocatedProject( artifact,
localRepository, remoteRepositories );
+
+ if ( rel == null )
+ {
+ return null;
+ }
+
+ MavenProject project = rel.project;
if ( project == null || getRelocationKey( artifact ).equals(
getRelocationKey( project.getArtifact() ) ) )
{
return artifact;
@@ -123,7 +129,7 @@
return artifact.getGroupId() + ":" + artifact.getArtifactId() + ":" +
artifact.getVersion();
}
- private MavenProject retrieveRelocatedProject( Artifact artifact,
ArtifactRepository localRepository, List remoteRepositories )
+ private ProjectRelocation retrieveRelocatedProject( Artifact artifact,
ArtifactRepository localRepository, List remoteRepositories )
throws ArtifactMetadataRetrievalException
{
MavenProject project = null;
@@ -257,7 +263,11 @@
}
while ( !done );
- return project;
+ ProjectRelocation rel = new ProjectRelocation();
+ rel.project = project;
+ rel.pomArtifact = pomArtifact;
+
+ return rel;
}
/**
@@ -268,20 +278,15 @@
public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository
localRepository, List remoteRepositories )
throws ArtifactMetadataRetrievalException
{
- MavenProject project = retrieveRelocatedProject( artifact,
localRepository, remoteRepositories );
- Artifact pomArtifact;
- if ( project != null )
- {
- pomArtifact = project.getArtifact();
- }
- else
- {
- pomArtifact = artifactFactory.createProjectArtifact(
artifact.getGroupId(),
- artifact.getArtifactId(),
- artifact.getVersion(),
- artifact.getScope() );
- }
-
+ ProjectRelocation rel = retrieveRelocatedProject( artifact,
localRepository, remoteRepositories );
+
+ if ( rel == null )
+ {
+ return null;
+ }
+
+ MavenProject project = rel.project;
+ Artifact pomArtifact = rel.pomArtifact;
// last ditch effort to try to get this set...
if ( artifact.getDownloadUrl() == null && pomArtifact != null )
@@ -497,4 +502,11 @@
return versions;
}
+
+ private static final class ProjectRelocation
+ {
+ private MavenProject project;
+ private Artifact pomArtifact;
+ }
+
}