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
