You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2008/09/28 11:50:17 UTC
svn commit: r699793 - in
/maven/components/branches/jvz/maven-project/src/main/java/org/apache/maven/project:
DefaultMavenProjectBuilder.java artifact/MavenMetadataSource.java
Author: jvanzyl
Date: Sun Sep 28 02:50:16 2008
New Revision: 699793
URL: http://svn.apache.org/viewvc?rev=699793&view=rev
Log:
o merge down from trunk
Modified:
maven/components/branches/jvz/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/branches/jvz/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
Modified: maven/components/branches/jvz/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/jvz/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=699793&r1=699792&r2=699793&view=diff
==============================================================================
--- maven/components/branches/jvz/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/jvz/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Sun Sep 28 02:50:16 2008
@@ -145,7 +145,6 @@
project.setFile( projectDescriptor );
setBuildOutputDirectoryOnParent( project );
-
return project;
}
@@ -162,16 +161,11 @@
return buildFromRepository( artifact, remoteArtifactRepositories, localRepository );
}
-
public MavenProject buildFromRepository( Artifact artifact, List remoteArtifactRepositories,
ArtifactRepository localRepository )
throws ProjectBuildingException
{
- MavenProject project = null;
-
File f = artifact.getFile();
- if ( project == null )
- {
repositoryHelper.findModelFromRepository( artifact, remoteArtifactRepositories, localRepository );
ProjectBuilderConfiguration config =
@@ -182,10 +176,9 @@
artifactRepositories.addAll( repositoryHelper.buildArtifactRepositories(
getSuperProject( config, artifact.getFile(), false ).getModel() ) );
- project = readModelFromLocalPath( "unknown", artifact.getFile(), new PomArtifactResolver(
+ MavenProject project = readModelFromLocalPath( "unknown", artifact.getFile(), new PomArtifactResolver(
config.getLocalRepository(), artifactRepositories, artifactResolver ), config );
project = buildInternal( project.getModel(), config, artifact.getFile(), project.getParentFile(), false );
- }
artifact.setFile( f );
project.setVersion( artifact.getVersion() );
Modified: maven/components/branches/jvz/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
URL: http://svn.apache.org/viewvc/maven/components/branches/jvz/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=699793&r1=699792&r2=699793&view=diff
==============================================================================
--- maven/components/branches/jvz/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (original)
+++ maven/components/branches/jvz/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java Sun Sep 28 02:50:16 2008
@@ -56,12 +56,7 @@
import org.codehaus.plexus.util.StringUtils;
import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
/**
* @author Jason van Zyl
@@ -149,6 +144,8 @@
return artifact.getGroupId() + ":" + artifact.getArtifactId() + ":" + artifact.getVersion();
}
+ private HashMap<String, MavenProject> hm = new HashMap<String, MavenProject>();
+
private ProjectRelocation retrieveRelocatedProject( Artifact artifact, ArtifactRepository localRepository,
List<ArtifactRepository> remoteRepositories )
throws ArtifactMetadataRetrievalException
@@ -184,44 +181,55 @@
}
else
{
- try
+
+ if(hm.containsKey(pomArtifact.getId()))
{
- project =
- mavenProjectBuilder.buildFromRepository( pomArtifact, remoteRepositories, localRepository );
+ project = hm.get(pomArtifact.getId());
}
- catch ( InvalidProjectModelException e )
+ else
{
- handleInvalidOrMissingMavenPOM( artifact, e );
-
- if ( getLogger().isDebugEnabled() )
+ try
{
- getLogger().debug( "Reason: " + e.getMessage() );
+ project =
+ mavenProjectBuilder.buildFromRepository( pomArtifact, remoteRepositories, localRepository );
+ hm.put(pomArtifact.getId(), project);
- ModelValidationResult validationResult = e.getValidationResult();
+ }
+ catch ( InvalidProjectModelException e )
+ {
+ handleInvalidOrMissingMavenPOM( artifact, e );
- if ( validationResult != null )
+ if ( getLogger().isDebugEnabled() )
{
- getLogger().debug( "\nValidation Errors:" );
- for ( Iterator i = validationResult.getMessages().iterator(); i.hasNext(); )
+ getLogger().debug( "Reason: " + e.getMessage() );
+
+ ModelValidationResult validationResult = e.getValidationResult();
+
+ if ( validationResult != null )
{
- getLogger().debug( i.next().toString() );
+ getLogger().debug( "\nValidation Errors:" );
+ for ( Iterator i = validationResult.getMessages().iterator(); i.hasNext(); )
+ {
+ getLogger().debug( i.next().toString() );
+ }
+ getLogger().debug( "\n" );
+ }
+ else
+ {
+ getLogger().debug( "", e );
}
- getLogger().debug( "\n" );
- }
- else
- {
- getLogger().debug( "", e );
}
+
+ project = null;
}
+ catch ( ProjectBuildingException e )
+ {
+ handleInvalidOrMissingMavenPOM( artifact, e );
- project = null;
+ project = null;
+ }
}
- catch ( ProjectBuildingException e )
- {
- handleInvalidOrMissingMavenPOM( artifact, e );
- project = null;
- }
if ( project != null )
{