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/05/25 23:21:10 UTC
svn commit: r778514 -
/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
Author: bentmann
Date: Mon May 25 21:21:10 2009
New Revision: 778514
URL: http://svn.apache.org/viewvc?rev=778514&view=rev
Log:
o Added utility method
Modified:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=778514&r1=778513&r2=778514&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Mon May 25 21:21:10 2009
@@ -21,6 +21,7 @@
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.Map;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.ArtifactUtils;
@@ -393,7 +394,7 @@
private List<Model> build( String projectId, File pomFile, ProjectBuilderConfiguration projectBuilderConfiguration )
throws ProjectBuildingException, IOException
{
- Model mainModel = modelReader.read( pomFile, null );
+ Model mainModel = readModel( projectId, pomFile, true );
mainModel.setProjectDirectory( pomFile.getParentFile() );
List<Model> domainModels = new ArrayList<Model>();
@@ -559,7 +560,7 @@
}
private List<Model> getDomainModelParentsFromRepository( Model model, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
- throws IOException
+ throws IOException, ProjectBuildingException
{
List<Model> models = new ArrayList<Model>();
@@ -599,7 +600,7 @@
throw (IOException) new IOException( "The parent POM " + artifactParent + " could not be retrieved from any repository" ).initCause( e );
}
- Model parentModel = modelReader.read( artifactParent.getFile(), null );
+ Model parentModel = readModel( parent.getId(), artifactParent.getFile(), true );
if ( !isMatchingParent( parentModel, parent ) )
{
@@ -624,10 +625,11 @@
* @param projectDirectory
* @return
* @throws IOException
+ * @throws ProjectBuildingException
*/
private List<Model> getDomainModelParentsFromLocalPath( Model model, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories, File projectDirectory,
ProjectBuilderConfiguration projectBuilderConfiguration )
- throws IOException
+ throws IOException, ProjectBuildingException
{
List<Model> models = new ArrayList<Model>();
@@ -649,7 +651,7 @@
throw new IOException( "File does not exist: File = " + parentFile.getAbsolutePath() );
}
- Model parentModel = modelReader.read( parentFile, null );
+ Model parentModel = readModel( parent.getId(), parentFile, true );
parentModel.setProjectDirectory( parentFile.getParentFile() );
if ( !isMatchingParent( parentModel, parent ) )
@@ -718,6 +720,22 @@
return true;
}
+ private Model readModel( String projectId, File pomFile, boolean strict )
+ throws ProjectBuildingException
+ {
+ Map<String, Object> options =
+ Collections.<String, Object> singletonMap( ModelReader.IS_STRICT, Boolean.valueOf( strict ) );
+ try
+ {
+ return modelReader.read( pomFile, options );
+ }
+ catch ( IOException e )
+ {
+ throw new ProjectBuildingException( projectId, "Failed to read POM for " + projectId + " from " + pomFile
+ + ": " + e.getMessage(), pomFile, e );
+ }
+ }
+
// Super Model Handling
private static final String MAVEN_MODEL_VERSION = "4.0.0";