You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/09/09 17:26:04 UTC
svn commit: r812993 -
/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
Author: bentmann
Date: Wed Sep 9 15:26:04 2009
New Revision: 812993
URL: http://svn.apache.org/viewvc?rev=812993&view=rev
Log:
[MNG-4349] [regression] Maven hangs in endless loop if POM of relocated artifact is invalid
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=812993&r1=812992&r2=812993&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java Wed Sep 9 15:26:04 2009
@@ -162,6 +162,8 @@
pomArtifact = rel.pomArtifact;
+ relocatedArtifact = rel.relocatedArtifact;
+
if ( rel.project == null )
{
// When this happens we have a Maven 1.x POM, or some invalid POM. There is still a pile of
@@ -171,8 +173,6 @@
}
else
{
- relocatedArtifact = rel.relocatedArtifact;
-
dependencies = rel.project.getDependencies();
DependencyManagement depMngt = rel.project.getDependencyManagement();
@@ -454,13 +454,15 @@
private ProjectRelocation retrieveRelocatedProject( Artifact artifact, RepositoryRequest repositoryRequest )
throws ArtifactMetadataRetrievalException
{
- MavenProject project = null;
+ MavenProject project;
Artifact pomArtifact;
Artifact relocatedArtifact = artifact;
boolean done = false;
do
{
+ project = null;
+
pomArtifact =
repositorySystem.createProjectArtifact( relocatedArtifact.getGroupId(),
relocatedArtifact.getArtifactId(),
@@ -497,11 +499,11 @@
// missing/incompatible POM (e.g. a Maven 1 POM)
if ( e.getCause() instanceof ArtifactResolutionException )
{
- message = "Missing artifact metadata for " + artifact.getId();
+ message = "Missing artifact metadata for " + relocatedArtifact.getId();
}
else
{
- message = "Invalid artifact metadata for " + artifact.getId();
+ message = "Invalid artifact metadata for " + relocatedArtifact.getId();
}
if ( logger.isDebugEnabled() )