Author: sisbell Date: Mon Feb 9 16:10:48 2009 New Revision: 742594 URL: http://svn.apache.org/viewvc?rev=742594&view=rev Log: [MNG-2174] Profile bug dealing with dependencies : [MNG-3877] Reporting directory base aligned.
Added: maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/ maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/pom.xml maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/sub/ maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/sub/pom.xml maven/components/trunk/maven-project/src/test/resources-project-builder/reporting-interpolation/ maven/components/trunk/maven-project/src/test/resources-project-builder/reporting-interpolation/pom.xml Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java?rev=742594&r1=742593&r2=742594&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java (original) +++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java Mon Feb 9 16:10:48 2009 @@ -306,6 +306,7 @@ s.add(ProjectUri.Reporting.Plugins.Plugin.ReportSets.xUri); s.add(ProjectUri.Reporting.Plugins.Plugin.ReportSets.ReportSet.configuration); s.add(ProjectUri.Build.Plugins.Plugin.Executions.Execution.configuration); + s.add(ProjectUri.Profiles.Profile.Build.Plugins.Plugin.configuration);//TODO: More profile info modelProperties = ModelMarshaller.marshallXmlToModelProperties( getInputStream(), ProjectUri.baseUri, s ); } Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java?rev=742594&r1=742593&r2=742594&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java (original) +++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java Mon Feb 9 16:10:48 2009 @@ -213,14 +213,29 @@ PomClassicDomainModel domainModel = new PomClassicDomainModel( pom ); domainModel.setProjectDirectory( pom.getParentFile() ); + List<DomainModel> domainModels = new ArrayList<DomainModel>(); + domainModels.add( domainModel ); ProfileContext profileContext = new ProfileContext(new DefaultModelDataSource(domainModel.getModelProperties(), PomTransformer.MODEL_CONTAINER_FACTORIES), activeProfileIds, properties); + Collection<ModelContainer> profileContainers = profileContext.getActiveProfiles(); - //get mixin - List<DomainModel> domainModels = new ArrayList<DomainModel>(); - domainModels.add( domainModel ); + for(ModelContainer mc : profileContainers) + { + List<ModelProperty> transformed = new ArrayList<ModelProperty>(); + transformed.add(new ModelProperty(ProjectUri.xUri, null)); + for(ModelProperty mp : mc.getProperties()) + { + if(mp.getUri().startsWith(ProjectUri.Profiles.Profile.xUri) && !mp.getUri().equals(ProjectUri.Profiles.Profile.id) + && !mp.getUri().startsWith(ProjectUri.Profiles.Profile.Activation.xUri) ) + { + transformed.add(new ModelProperty(mp.getUri().replace(ProjectUri.Profiles.Profile.xUri, ProjectUri.xUri), + mp.getResolvedValue())); + } + } + domainModels.add(new PomClassicDomainModel(transformed)); + } File parentFile = null; int lineageCount = 0; Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java?rev=742594&r1=742593&r2=742594&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java (original) +++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java Mon Feb 9 16:10:48 2009 @@ -22,10 +22,7 @@ import java.io.File; import java.io.IOException; import java.io.FileInputStream; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Arrays; +import java.util.*; import org.apache.maven.MavenTools; import org.apache.maven.profiles.DefaultProfileManager; @@ -186,7 +183,7 @@ public void testParentInterpolation() throws Exception { - PomTestWrapper pom = buildPomFromMavenProject( "parent-interpolation/sub" ); + PomTestWrapper pom = buildPomFromMavenProject( "parent-interpolation/sub", null ); pom = new PomTestWrapper(pom.getMavenProject().getParent()); assertEquals( "1.3.0-SNAPSHOT", pom.getValue( "build/plugins[1]/version" ) ); } @@ -200,6 +197,27 @@ assertEquals( "1.0-alpha-21", pom.getValue( "build/plugins[1]/version" ) ); } + /* MNG-2174*/ + public void testPluginManagementDependencies() + throws Exception + { + PomTestWrapper pom = buildPomFromMavenProject( "plugin-management-dependencies/sub", "test" ); + assertEquals( "1.0-alpha-21", pom.getValue( "build/plugins[1]/version" ) ); + assertEquals( "1.0", pom.getValue( "build/plugins[1]/dependencies[1]/version" ) ); + } + + + /* MNG-3877*/ + public void testReportingInterpolation() + throws Exception + { + PomTestWrapper pom = buildPomFromMavenProject( "reporting-interpolation", null ); + pom = new PomTestWrapper(pom.getMavenProject()); + assertEquals( System.getProperty("user.dir") + + "/src/test/resources-project-builder/reporting-interpolation/target/site", + pom.getValue( "reporting/outputDirectory" ) ); + } + public void testPluginOrder() throws Exception { @@ -824,7 +842,7 @@ return new PomTestWrapper( pomFile, projectBuilder.buildModel( pomFile, null, pomArtifactResolver ) ); } - private PomTestWrapper buildPomFromMavenProject( String pomPath ) + private PomTestWrapper buildPomFromMavenProject( String pomPath, String profileId ) throws IOException { File pomFile = new File( testDirectory , pomPath ); @@ -835,7 +853,11 @@ ProjectBuilderConfiguration config = new DefaultProjectBuilderConfiguration(); config.setLocalRepository(new DefaultArtifactRepository("default", "", new DefaultRepositoryLayout())); ProfileActivationContext pCtx = new DefaultProfileActivationContext(null, true); - pCtx.setExplicitlyActiveProfileIds(Arrays.asList("release")); + if(profileId != null) + { + pCtx.setExplicitlyActiveProfileIds(Arrays.asList(profileId)); + } + config.setGlobalProfileManager(new DefaultProfileManager(this.getContainer(), pCtx)); return new PomTestWrapper( pomFile, projectBuilder.buildFromLocalPath( pomFile, null, null, pomArtifactResolver, config, mavenProjectBuilder ) ); Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java?rev=742594&r1=742593&r2=742594&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java (original) +++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java Mon Feb 9 16:10:48 2009 @@ -121,6 +121,15 @@ public PomClassicDomainModel getDomainModel() { + if(domainModel == null && mavenProject != null) + { + try { + return new PomClassicDomainModel(mavenProject.getModel()); + } catch (IOException e) { + + } + } + return this.domainModel; } Added: maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/pom.xml URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/pom.xml?rev=742594&view=auto ============================================================================== --- maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/pom.xml (added) +++ maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/pom.xml Mon Feb 9 16:10:48 2009 @@ -0,0 +1,24 @@ +<project> + <modelVersion>4.0.0</modelVersion> + <groupId>gid</groupId> + <artifactId>aid</artifactId> + <version>1.0</version> + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.codehaus.modello</groupId> + <artifactId>modello-maven-plugin</artifactId> + <version>1.0-alpha-21</version> + <dependencies> + <dependency> + <groupId>a</groupId> + <artifactId>b</artifactId> + <version>1.0</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </pluginManagement> + </build> +</project> \ No newline at end of file Added: maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/sub/pom.xml URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/sub/pom.xml?rev=742594&view=auto ============================================================================== --- maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/sub/pom.xml (added) +++ maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/sub/pom.xml Mon Feb 9 16:10:48 2009 @@ -0,0 +1,25 @@ +<project> + <parent> + <groupId>gid</groupId> + <artifactId>aid</artifactId> + <version>1.0</version> + </parent> + <modelVersion>4.0.0</modelVersion> + <groupId>org.sonatype.nexus</groupId> + <artifactId>nexus</artifactId> + <version>1.3.0-SNAPSHOT</version> + <profiles> + <profile> + <id>test</id> + <build> + <plugins> + <plugin> + <groupId>org.codehaus.modello</groupId> + <artifactId>modello-maven-plugin</artifactId> + <version>1.0-alpha-21</version> + </plugin> + </plugins> + </build> + </profile> + </profiles> +</project> \ No newline at end of file Added: maven/components/trunk/maven-project/src/test/resources-project-builder/reporting-interpolation/pom.xml URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/reporting-interpolation/pom.xml?rev=742594&view=auto ============================================================================== --- maven/components/trunk/maven-project/src/test/resources-project-builder/reporting-interpolation/pom.xml (added) +++ maven/components/trunk/maven-project/src/test/resources-project-builder/reporting-interpolation/pom.xml Mon Feb 9 16:10:48 2009 @@ -0,0 +1,6 @@ +<project> + <modelVersion>4.0.0</modelVersion> + <groupId>gid</groupId> + <artifactId>aid</artifactId> + <version>1.0</version> +</project> \ No newline at end of file