You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2009/02/09 17:10:49 UTC

svn commit: r742594 - in /maven/components/trunk/maven-project/src: main/java/org/apache/maven/project/builder/ main/java/org/apache/maven/project/builder/impl/ test/java/org/apache/maven/project/builder/ test/java/org/apache/maven/project/harness/ tes...

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