You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2009/04/25 00:50:32 UTC

svn commit: r768438 [2/2] - in /maven/components/branches/maven-3.0.x-mercury: ./ apache-maven/ maven-compat/src/main/java/org/apache/maven/artifact/ maven-compat/src/main/java/org/apache/maven/artifact/repository/ maven-compat/src/main/java/org/apache...

Propchange: maven/components/branches/maven-3.0.x-mercury/maven-model-builder/src/main/resources/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 24 22:50:30 2009
@@ -3,5 +3,5 @@
 /maven/components/branches/maven-2.0.x/maven-project/src/main/resources:679206,720042
 /maven/components/branches/sisbell-plugin-manager/maven-project-builder/src/main/resources:738973-739966
 /maven/components/sisbell-plugin-manager/maven-project-builder/src/main/resources:738757-738972
-/maven/components/trunk/maven-model-builder/src/main/resources:767743-768388
+/maven/components/trunk/maven-model-builder/src/main/resources:767743-768429
 /maven/components/trunk/maven-project/src/main/resources:688587-696625,696644-699681

Modified: maven/components/branches/maven-3.0.x-mercury/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-3.0.x-mercury/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=768438&r1=768437&r2=768438&view=diff
==============================================================================
--- maven/components/branches/maven-3.0.x-mercury/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/maven-3.0.x-mercury/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Fri Apr 24 22:50:30 2009
@@ -160,14 +160,22 @@
     		}
     		        	
             domainModel = ProcessorContext.mergeProfilesIntoModel( externalProfiles, domainModel );
+            
         }
         catch ( IOException e )
         {
             throw new ProjectBuildingException("", "");
         }
         
-		//Interpolation
-        MavenProject project = interpolateDomainModel( domainModel, configuration, pomFile );
+        //Interpolation & Management
+        MavenProject project;
+		try {
+			Model model = ProcessorContext.processManagementNodes(interpolateDomainModel( domainModel, configuration, pomFile ));
+			project = this.fromDomainModelToMavenProject(model, domainModel.getParentFile(), configuration, pomFile);
+		} catch (IOException e) {
+			throw new ProjectBuildingException("", "");
+		}
+		
         project.setActiveProfiles( projectProfiles );
          
         Build build = project.getBuild();
@@ -269,7 +277,14 @@
         {
             throw new ProjectBuildingException("", "");
         }
-        project = interpolateDomainModel( domainModel, configuration, artifact.getFile() );
+       
+    		try {
+    			Model model = ProcessorContext.processManagementNodes(interpolateDomainModel( domainModel, configuration, artifact.getFile() ));
+    			project = this.fromDomainModelToMavenProject(model, domainModel.getParentFile(), configuration, artifact.getFile());
+    		} catch (IOException e) {
+    			throw new ProjectBuildingException("", "");
+    		}
+
         project.setActiveProfiles( projectProfiles );
         artifact.setFile( artifact.getFile() );
         project.setVersion( artifact.getVersion() );
@@ -368,7 +383,7 @@
         return new MavenProjectBuildingResult( project, result );
     }
     
-    private MavenProject interpolateDomainModel( PomClassicDomainModel domainModel, ProjectBuilderConfiguration config, File projectDescriptor )
+    private Model interpolateDomainModel( PomClassicDomainModel domainModel, ProjectBuilderConfiguration config, File projectDescriptor )
         throws ProjectBuildingException
     {
     	Model model;
@@ -403,9 +418,15 @@
                 throw new ProjectBuildingException(projectId, "", projectDescriptor, e);
             }  
             
+       return model;
 
+    }
+    
+    private MavenProject fromDomainModelToMavenProject(Model model, File parentFile, ProjectBuilderConfiguration config, File projectDescriptor)
+    	throws InvalidProjectModelException, IOException
+    {
         MavenProject project;
-
+        String projectId = safeVersionlessKey( model.getGroupId(), model.getArtifactId() );
         try
         {
             project = new MavenProject( model, repositorySystem, this, config );
@@ -415,7 +436,7 @@
             Artifact projectArtifact = repositorySystem.createArtifact( project.getGroupId(), project.getArtifactId(), project.getVersion(), null, project.getPackaging() );
             project.setArtifact( projectArtifact );
 
-            project.setParentFile( domainModel.getParentFile() );
+            project.setParentFile( parentFile );
 
         }
         catch ( InvalidRepositoryException e )
@@ -423,7 +444,7 @@
             throw new InvalidProjectModelException( projectId, e.getMessage(), projectDescriptor, e );
         }
 
-        return project;
+        return project;   	
     }
     
     private PomClassicDomainModel build( String projectId, File pomFile, ProjectBuilderConfiguration projectBuilderConfiguration )

Modified: maven/components/branches/maven-3.0.x-mercury/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-3.0.x-mercury/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java?rev=768438&r1=768437&r2=768438&view=diff
==============================================================================
--- maven/components/branches/maven-3.0.x-mercury/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java (original)
+++ maven/components/branches/maven-3.0.x-mercury/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java Fri Apr 24 22:50:30 2009
@@ -886,15 +886,13 @@
     }
     
     /** IT-0021*/
-    /*
     public void testProfileDependenciesMultipleProfiles()
         throws Exception
     {
         PomTestWrapper pom = buildPom( "profile-dependencies-multiple-profiles", "profile-1", "profile-2" );
         assertEquals(2,  ( (List<?>) pom.getValue( "dependencies" ) ).size() );
     }    
-    */
-    /*
+
     public void testDependencyInheritance()
         throws Exception
     {
@@ -902,7 +900,7 @@
         assertEquals(1,  ( (List<?>) pom.getValue( "dependencies" ) ).size() );
         assertEquals("4.4",  pom.getValue("dependencies[1]/version") );
     }
-  */
+
     /** MNG-4034 */
     public void testManagedProfileDependency()
         throws Exception
@@ -1421,13 +1419,23 @@
 	    assertNull("Scope not null: " + scope, scope);
 	    System.out.println(pom.getDomainModel().asString());
 	
-	}    
+	}   
+    
     public void testDependencyScope()
 	    throws Exception
 	{
 	    PomTestWrapper pom = buildPom( "dependency-scope/sub" );
-	    System.out.println(pom.getDomainModel().asString());	
-	}      
+	 //   System.out.println(pom.getDomainModel().asString());	
+	}   
+ 
+    //This will fail on a validation error if incorrect
+    public void testDependencyManagementWithInterpolation()
+	    throws Exception
+	{
+	    PomTestWrapper pom = buildPom( "dependency-management-with-interpolation/sub" );
+	}   
+    
+    
     private void assertPathSuffixEquals( String expected, Object actual )
     {
         String a = actual.toString();

Propchange: maven/components/branches/maven-3.0.x-mercury/maven-project/src/test/resources-project-builder/plugin-management-duplicate/sub/pom.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 24 22:50:30 2009
@@ -4,4 +4,4 @@
 /maven/components/branches/maven-2.1.x/maven-project/src/test/resources-project-builder/plugin-management-duplicate/pom.xml:739385,741841,747468,747683,748815,749612,766523
 /maven/components/branches/sisbell-plugin-manager/maven-project/src/test/resources-project-builder/plugin-management-duplicate/pom.xml:738973-739966
 /maven/components/sisbell-plugin-manager/maven-project/src/test/resources-project-builder/plugin-management-duplicate/pom.xml:738757-738972
-/maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-duplicate/sub/pom.xml:767743-768388
+/maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-duplicate/sub/pom.xml:767743-768429

Propchange: maven/components/branches/maven-3.0.x-mercury/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryRepositorySystem.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 24 22:50:30 2009
@@ -4,4 +4,4 @@
 /maven/components/branches/maven-2.1.x/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryRepositorySystem.java:739385,741841,747468,748815
 /maven/components/branches/sisbell-plugin-manager/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryRepositorySystem.java:738973-739966
 /maven/components/sisbell-plugin-manager/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryRepositorySystem.java:738757-738972
-/maven/components/trunk/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryRepositorySystem.java:688587-696625,696644-699681,767743-768388
+/maven/components/trunk/maven-repository-mercury/src/main/java/org/apache/maven/repository/mercury/MercuryRepositorySystem.java:688587-696625,696644-699681,767743-768429

Propchange: maven/components/branches/maven-3.0.x-mercury/maven-repository/src/main/java/org/apache/maven/project/ProjectUtils.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 24 22:50:30 2009
@@ -5,4 +5,4 @@
 /maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/project/ProjectUtils.java:738973-739966
 /maven/components/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/project/ProjectUtils.java:738757-738972
 /maven/components/trunk/maven-compat/src/main/java/org/apache/maven/project/ProjectUtils.java:688587-696625,696644-699681
-/maven/components/trunk/maven-repository/src/main/java/org/apache/maven/project/ProjectUtils.java:767743-768388
+/maven/components/trunk/maven-repository/src/main/java/org/apache/maven/project/ProjectUtils.java:767743-768429

Propchange: maven/components/branches/maven-3.0.x-mercury/maven-repository/src/main/java/org/apache/maven/repository/DefaultMirrorBuilder.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 24 22:50:30 2009
@@ -1 +1 @@
-/maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/DefaultMirrorBuilder.java:767743-768388
+/maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/DefaultMirrorBuilder.java:767743-768429

Propchange: maven/components/branches/maven-3.0.x-mercury/maven-repository/src/main/java/org/apache/maven/repository/LegacyRepositorySystem.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 24 22:50:30 2009
@@ -5,4 +5,4 @@
 /maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java:738973-739966
 /maven/components/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java:738757-738972
 /maven/components/trunk/maven-project/src/main/java/org/apache/maven/DefaultMavenTools.java:688587-696625,696644-699681
-/maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/LegacyRepositorySystem.java:767743-768388
+/maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/LegacyRepositorySystem.java:767743-768429

Propchange: maven/components/branches/maven-3.0.x-mercury/maven-repository/src/main/java/org/apache/maven/repository/MirrorBuilder.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 24 22:50:30 2009
@@ -1 +1 @@
-/maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MirrorBuilder.java:767743-768388
+/maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/MirrorBuilder.java:767743-768429

Propchange: maven/components/branches/maven-3.0.x-mercury/maven-repository/src/main/java/org/apache/maven/repository/RepositorySystem.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 24 22:50:30 2009
@@ -5,4 +5,4 @@
 /maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/MavenTools.java:738973-739966
 /maven/components/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/MavenTools.java:738757-738972
 /maven/components/trunk/maven-project/src/main/java/org/apache/maven/MavenTools.java:688587-696625,696644-699681
-/maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/RepositorySystem.java:767743-768388
+/maven/components/trunk/maven-repository/src/main/java/org/apache/maven/repository/RepositorySystem.java:767743-768429

Propchange: maven/components/branches/maven-3.0.x-mercury/maven-repository/src/test/java/org/apache/maven/repository/LegacyMavenRepositorySystemTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 24 22:50:30 2009
@@ -5,4 +5,4 @@
 /maven/components/branches/sisbell-plugin-manager/maven-project/src/test/java/org/apache/maven/repository/LegacyMavenRepositorySystemTest.java:738973-739966
 /maven/components/sisbell-plugin-manager/maven-project/src/test/java/org/apache/maven/repository/LegacyMavenRepositorySystemTest.java:738757-738972
 /maven/components/trunk/maven-project/src/test/java/org/apache/maven/repository/LegacyMavenRepositorySystemTest.java:688587-696625,696644-699681
-/maven/components/trunk/maven-repository/src/test/java/org/apache/maven/repository/LegacyMavenRepositorySystemTest.java:767743-768388
+/maven/components/trunk/maven-repository/src/test/java/org/apache/maven/repository/LegacyMavenRepositorySystemTest.java:767743-768429