You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2007/01/24 23:53:00 UTC
svn commit: r499603 - in
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project:
DefaultMavenProjectBuilder.java build/model/DefaultModelLineageBuilder.java
Author: jdcasey
Date: Wed Jan 24 14:53:00 2007
New Revision: 499603
URL: http://svn.apache.org/viewvc?view=rev&rev=499603
Log:
Fixing project inheritance and profile-injection now that we've moved to the model lineage builder. Iteration was backward.
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/build/model/DefaultModelLineageBuilder.java
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?view=diff&rev=499603&r1=499602&r2=499603
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Wed Jan 24 14:53:00 2007
@@ -25,7 +25,6 @@
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
@@ -52,10 +51,10 @@
import org.apache.maven.project.build.model.DefaultModelLineage;
import org.apache.maven.project.build.model.ModelLineage;
import org.apache.maven.project.build.model.ModelLineageBuilder;
+import org.apache.maven.project.build.model.ModelLineageIterator;
import org.apache.maven.project.build.profile.ProfileAdvisor;
import org.apache.maven.project.inheritance.ModelInheritanceAssembler;
import org.apache.maven.project.injection.ModelDefaultsInjector;
-import org.apache.maven.project.injection.ProfileInjector;
import org.apache.maven.project.interpolation.ModelInterpolationException;
import org.apache.maven.project.interpolation.ModelInterpolator;
import org.apache.maven.project.path.PathTranslator;
@@ -1031,14 +1030,11 @@
explicitlyInactive = Collections.EMPTY_LIST;
}
- List models = modelLineage.getModelsInDescendingOrder();
- List poms = modelLineage.getFilesInDescendingOrder();
-
MavenProject lastProject = null;
- for( int i = 0; i < models.size(); i++ )
+ for ( ModelLineageIterator it = modelLineage.lineageIterator(); it.hasNext(); )
{
- Model currentModel = (Model) models.get( i );
- File currentPom = (File) poms.get( i );
+ Model currentModel = (Model) it.next();
+ File currentPom = it.getPOMFile();
MavenProject project = new MavenProject( currentModel );
project.setFile( currentPom );
@@ -1046,23 +1042,23 @@
projectContext.setCurrentProject( project );
projectContext.store( buildContextManager );
- project.setActiveProfiles( profileAdvisor.applyActivatedProfiles( model, projectDir, explicitlyActive,
+ project.setActiveProfiles( profileAdvisor.applyActivatedProfiles( currentModel, projectDir, explicitlyActive,
explicitlyInactive ) );
if ( lastProject != null )
{
- project.setParent( lastProject );
+ lastProject.setParent( project );
- project.setParentArtifact( artifactFactory.createParentArtifact( lastProject.getGroupId(), lastProject
- .getArtifactId(), lastProject.getVersion() ) );
+ lastProject.setParentArtifact( artifactFactory.createParentArtifact( project.getGroupId(), project
+ .getArtifactId(), project.getVersion() ) );
}
- lineage.addLast( project );
+ lineage.addFirst( project );
lastProject = project;
}
- MavenProject result = (MavenProject) lineage.get( lineage.size() - 1 );
+ MavenProject result = (MavenProject) lineage.getLast();
if ( externalProfileManager != null )
{
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/build/model/DefaultModelLineageBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/build/model/DefaultModelLineageBuilder.java?view=diff&rev=499603&r1=499602&r2=499603
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/build/model/DefaultModelLineageBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/build/model/DefaultModelLineageBuilder.java Wed Jan 24 14:53:00 2007
@@ -157,9 +157,16 @@
* Model instance in the given Map before returning it. The skipCache flag controls whether the
* Model instance is actually cached.
*/
- private Model readModel( File pomFile, Map cachedPomFilesByModelId, boolean skipCache )
+ private Model readModel( File pom, Map cachedPomFilesByModelId, boolean skipCache )
throws ProjectBuildingException
{
+ File pomFile = pom;
+ if ( pom.isDirectory() )
+ {
+ pomFile = new File( pom, "pom.xml" );
+ getLogger().debug( "readModel(..): POM: " + pom + " is a directory. Trying: " + pomFile + " instead." );
+ }
+
Model model;
FileReader reader = null;