You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2009/02/20 01:23:21 UTC

svn commit: r746066 [2/2] - in /maven/components/branches/MNG-3932: ./ apache-maven/ maven-compat/src/main/java/org/apache/maven/artifact/ maven-compat/src/main/java/org/apache/maven/artifact/manager/ maven-compat/src/main/java/org/apache/maven/project...

Modified: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java (original)
+++ maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java Fri Feb 20 00:23:19 2009
@@ -181,6 +181,7 @@
         return getActiveProfiles( null );
     }
 
+    // TODO: Portions of this logic are duplicated in o.a.m.p.b.p.ProfileContext, something is wrong here
     public List getActiveProfiles( Model model )
         throws ProfileActivationException
     {

Propchange: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -3,4 +3,4 @@
 /maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:679206
 /maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:738973-739966
 /maven/components/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:738757-738972
-/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028

Propchange: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -3,4 +3,4 @@
 /maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:679206
 /maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:738973-739966
 /maven/components/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:738757-738972
-/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028

Modified: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Fri Feb 20 00:23:19 2009
@@ -19,8 +19,7 @@
  * under the License.
  */
 
-import java.io.File;
-import java.io.IOException;
+import java.io.*;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -40,6 +39,7 @@
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Profile;
+import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
 import org.apache.maven.profiles.MavenProfilesBuilder;
 import org.apache.maven.profiles.ProfileManager;
 import org.apache.maven.profiles.activation.DefaultProfileActivationContext;
@@ -47,10 +47,7 @@
 import org.apache.maven.profiles.activation.ProfileActivationException;
 import org.apache.maven.profiles.build.ProfileAdvisor;
 import org.apache.maven.project.artifact.InvalidDependencyVersionException;
-import org.apache.maven.project.builder.DefaultPomArtifactResolver;
-import org.apache.maven.project.builder.PomArtifactResolver;
-import org.apache.maven.project.builder.PomInterpolatorTag;
-import org.apache.maven.project.builder.ProjectBuilder;
+import org.apache.maven.project.builder.*;
 import org.apache.maven.project.validation.ModelValidationResult;
 import org.apache.maven.project.validation.ModelValidator;
 import org.apache.maven.shared.model.InterpolatorProperty;
@@ -59,6 +56,7 @@
 import org.codehaus.plexus.logging.LogEnabled;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.WriterFactory;
 
 
 /**

Propchange: maven/components/branches/MNG-3932/maven-project/src/main/mdo/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 00:23:19 2009
@@ -3,4 +3,4 @@
 /maven/components/branches/maven-2.0.x/maven-profile/src/main/mdo:679206
 /maven/components/branches/sisbell-plugin-manager/maven-project/src/main/mdo:738973-739966
 /maven/components/sisbell-plugin-manager/maven-project/src/main/mdo:738757-738972
-/maven/components/trunk/maven-project/src/main/mdo:739772-740199,740316-741812,742231-742684,742726-745532
+/maven/components/trunk/maven-project/src/main/mdo:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028

Modified: maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java (original)
+++ maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java Fri Feb 20 00:23:19 2009
@@ -29,15 +29,12 @@
 import org.apache.maven.profiles.activation.DefaultProfileActivationContext;
 import org.apache.maven.profiles.activation.ProfileActivationContext;
 import org.apache.maven.model.Model;
-import org.apache.maven.model.Plugin;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.DefaultArtifactRepository;
 import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.project.harness.PomTestWrapper;
-import org.apache.maven.project.MavenProjectBuilder;
-import org.apache.maven.project.ProjectBuilderConfiguration;
-import org.apache.maven.project.DefaultProjectBuilderConfiguration;
+import org.apache.maven.project.*;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
@@ -55,8 +52,6 @@
 
     private MavenProjectBuilder mavenProjectBuilder;
 
-    private Mixer mixer;
-
     private MavenTools mavenTools;
 
     private PomArtifactResolver pomArtifactResolver;
@@ -72,7 +67,6 @@
         testMixinDirectory = new File( getBasedir(), BASE_MIXIN_DIR );
         mavenProjectBuilder = lookup( MavenProjectBuilder.class );
         projectBuilder = lookup( ProjectBuilder.class );
-        mixer = (Mixer) projectBuilder;
         mavenTools = lookup( MavenTools.class );
         pomArtifactResolver = new PomArtifactResolver()
         {
@@ -86,6 +80,17 @@
         };
     }
 
+    /**
+     * Will throw exception if doesn't find parent(s) in build
+     *
+     * @throws Exception
+     */
+    public void testParentInheritance()
+        throws Exception
+    {
+        buildPom( "parent-inheritance/sub" );
+    }
+
     /*MNG-3995*/
     public void testExecutionConfigurationJoin()
        throws Exception
@@ -102,17 +107,6 @@
         assertEquals( "my.property", pom.getValue( "build/plugins[1]/configuration[1]/systemProperties[1]/property[1]/name" ) );
     }
 
-    public void testPluginMergeSimple()
-        throws Exception
-    {
-        Model model = buildPom( "plugin-merge-simple" ).getDomainModel().getModel();
-        Model plugin = buildMixin("plugins/simple");
-
-        model = mixer.mixPlugin((Plugin) plugin.getBuild().getPlugins().get(0), model);
-
-        PomTestWrapper pom = new PomTestWrapper( model );
-        assertEquals( "FAILED", pom.getValue( "build/plugins[1]/configuration[1]/propertiesFile" ) );
-    }
 
     // Some better conventions for the test poms needs to be created and each of these tests
     // that represent a verification of a specification item needs to be a couple lines at most.
@@ -129,7 +123,7 @@
         PomClassicDomainModel model = projectBuilder.buildModel( pom, null, resolver );
         // This should be 2
         //assertEquals( 2, model.getLineageCount() );
-        PomTestWrapper tester = new PomTestWrapper( model );
+        PomTestWrapper tester = new PomTestWrapper( (PomClassicDomainModel) model );
         assertModelEquals( tester, "child-descriptor", "build/plugins[1]/executions[1]/goals[1]" );
     }
 
@@ -886,7 +880,7 @@
         {
             pomFile = new File( pomFile, "pom.xml" );
         }
-        return new PomTestWrapper( pomFile, projectBuilder.buildModel( pomFile, null, pomArtifactResolver ) );
+        return new PomTestWrapper( pomFile, (PomClassicDomainModel) projectBuilder.buildModel( pomFile, null, pomArtifactResolver ) );
     }
 
     private PomTestWrapper buildPomFromMavenProject( String pomPath, String profileId )

Modified: maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java (original)
+++ maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java Fri Feb 20 00:23:19 2009
@@ -19,8 +19,7 @@
  * under the License.
  */
 
-import java.io.File;
-import java.io.IOException;
+import java.io.*;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -29,9 +28,13 @@
 import org.apache.commons.jxpath.JXPathContext;
 import org.apache.commons.jxpath.ri.JXPathContextReferenceImpl;
 import org.apache.maven.model.Model;
+import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
+import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.project.builder.PomClassicDomainModel;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.model.ModelProperty;
+import org.codehaus.plexus.util.WriterFactory;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 public class PomTestWrapper
 {
@@ -64,7 +67,11 @@
         }
         this.domainModel = domainModel;
         this.pomFile = pomFile;
-        context = JXPathContext.newContext( domainModel.getModel() );
+        try {
+            context = JXPathContext.newContext( new MavenXpp3Reader().read(domainModel.getInputStream()));
+        } catch (XmlPullParserException e) {
+            throw new IOException(e.getMessage());
+        }
     }
 
     public PomTestWrapper( File pomFile, MavenProject mavenProject )
@@ -99,19 +106,11 @@
         }
 
         this.domainModel = new PomClassicDomainModel( file );
-        context = JXPathContext.newContext( domainModel.getModel() );
-    }
-
-    public PomTestWrapper( Model model )
-        throws IOException
-    {
-        if ( model == null )
-        {
-            throw new IllegalArgumentException( "model: null" );
+        try {
+            context = JXPathContext.newContext( new MavenXpp3Reader().read(domainModel.getInputStream()));
+        } catch (XmlPullParserException e) {
+            throw new IOException(e.getMessage());
         }
-
-        this.domainModel = new PomClassicDomainModel( model );
-        context = JXPathContext.newContext( domainModel.getModel() );
     }
 
     public MavenProject getMavenProject()
@@ -124,7 +123,7 @@
         if(domainModel == null && mavenProject != null)
         {
             try {
-                return new PomClassicDomainModel(mavenProject.getModel());
+                return convertToDomainModel(mavenProject.getModel());
             } catch (IOException e) {
 
             }
@@ -133,6 +132,30 @@
         return this.domainModel;
     }
 
+    private PomClassicDomainModel convertToDomainModel(Model model) throws IOException
+    {
+                if ( model == null )
+        {
+            throw new IllegalArgumentException( "model: null" );
+        }
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        Writer out = null;
+        MavenXpp3Writer writer = new MavenXpp3Writer();
+        try
+        {
+            out = WriterFactory.newXmlWriter( baos );
+            writer.write( out, model );
+        }
+        finally
+        {
+            if ( out != null )
+            {
+                out.close();
+            }
+        }
+        return new PomClassicDomainModel(new ByteArrayInputStream(baos.toByteArray()));
+    }
+
     public File getBasedir()
     {
         return ( pomFile != null ) ? pomFile.getParentFile() : null;

Modified: maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml (original)
+++ maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml Fri Feb 20 00:23:19 2009
@@ -57,9 +57,9 @@
       </requirements>
     </component>
     <component>
-        <role>org.apache.maven.project.builder.ProjectBuilder</role>
+        <role>org.apache.maven.project.ProjectBuilder</role>
         <role-hint>default</role-hint>
-        <implementation>org.apache.maven.project.builder.impl.DefaultProjectBuilder</implementation>
+        <implementation>org.apache.maven.project.DefaultProjectBuilder</implementation>
         <requirements>
             <requirement>
                 <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
@@ -75,7 +75,7 @@
       <implementation>org.apache.maven.project.TestProjectBuilder</implementation>
       <requirements>
         <requirement>
-             <role>org.apache.maven.project.builder.ProjectBuilder</role>
+             <role>org.apache.maven.project.ProjectBuilder</role>
         </requirement>
         <requirement>
           <role>org.apache.maven.profiles.build.ProfileAdvisor</role>

Modified: maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml?rev=746066&r1=746065&r2=746066&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml (original)
+++ maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml Fri Feb 20 00:23:19 2009
@@ -60,9 +60,9 @@
       </requirements>
     </component>
     <component>
-        <role>org.apache.maven.project.builder.ProjectBuilder</role>
+        <role>org.apache.maven.project.ProjectBuilder</role>
         <role-hint>default</role-hint>
-        <implementation>org.apache.maven.project.builder.impl.DefaultProjectBuilder</implementation>
+        <implementation>org.apache.maven.project.DefaultProjectBuilder</implementation>
         <requirements>
             <requirement>
                 <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
@@ -78,7 +78,7 @@
       <implementation>org.apache.maven.project.TestProjectBuilder</implementation>
       <requirements>
         <requirement>
-             <role>org.apache.maven.project.builder.ProjectBuilder</role>
+             <role>org.apache.maven.project.ProjectBuilder</role>
         </requirement>
         <requirement>
           <role>org.apache.maven.profiles.build.ProfileAdvisor</role>