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/19 04:00:53 UTC

svn commit: r745712 [2/2] - in /maven/components/trunk: ./ maven-core/src/main/java/org/apache/maven/listeners/ maven-core/src/main/java/org/apache/maven/plugin/ maven-core/src/test/java/org/apache/maven/listeners/ maven-embedder/src/main/java/org/apac...

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=745712&r1=745711&r2=745712&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 Thu Feb 19 03:00:52 2009
@@ -22,7 +22,6 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.Reader;
-import java.io.StringReader;
 import java.util.*;
 
 import org.apache.maven.MavenTools;
@@ -38,7 +37,6 @@
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Parent;
-import org.apache.maven.model.Plugin;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectBuilderConfiguration;
@@ -54,20 +52,13 @@
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.ReaderFactory;
-import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-import org.codehaus.plexus.configuration.PlexusConfiguration;
-import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
-import org.apache.maven.shared.model.ModelMarshaller;
-import org.apache.commons.jxpath.JXPathContext;
 
 /**
  * Default implementation of the project builder.
  */
 @Component(role = ProjectBuilder.class)
 public class DefaultProjectBuilder
-    implements ProjectBuilder, Mixer, PomProcessor, LogEnabled
+    implements ProjectBuilder, PomProcessor, LogEnabled
 {
     @Requirement
     private ArtifactFactory artifactFactory;
@@ -166,7 +157,7 @@
         return buildModel( pom, null, interpolatorProperties, null, null, resolver );
     }    
     
-    private PomClassicDomainModel buildModel( File pom,
+    private PomClassicDomainModel buildModel(File pom,
                                              List<Model> mixins,
                                              Collection<InterpolatorProperty> interpolatorProperties,
                                              Collection<String> activeProfileIds, Collection<String> inactiveProfileIds,
@@ -274,7 +265,7 @@
             domainModels.add( new PomClassicDomainModel( model ) );
         }
         
-        PomClassicTransformer transformer = new PomClassicTransformer( new PomClassicDomainModelFactory() );
+        PomTransformer transformer = new PomTransformer( new PomClassicDomainModelFactory() );
         
         ModelTransformerContext ctx = new ModelTransformerContext(PomTransformer.MODEL_CONTAINER_INFOS );
         
@@ -561,124 +552,6 @@
         return superModel;        
     }
 
-    public Model mixPlugin(Plugin plugin, Model model) throws IOException
-    {
-        //TODO - interpolation
-        List<DomainModel> domainModels = new ArrayList<DomainModel>();       
-        domainModels.add( new PomClassicDomainModel(model) );
-        domainModels.add( new PluginMixin(plugin) );
-
-        PomClassicTransformer transformer = new PomClassicTransformer( new PomClassicDomainModelFactory() );
-
-        ModelTransformerContext ctx = new ModelTransformerContext(PomTransformer.MODEL_CONTAINER_INFOS );
-
-        PomClassicDomainModel transformedDomainModel = ( (PomClassicDomainModel) ctx.transform( domainModels,
-                                                                                                transformer,
-                                                                                                transformer,
-                                                                                                Collections.EMPTY_LIST,
-                                                                                                null,
-                                                                                                listeners ) );
-        return transformedDomainModel.getModel();
-        
-    }
-
-    public PlexusConfiguration mixPluginAndReturnConfig(Plugin plugin, Xpp3Dom dom, Model model, List<InterpolatorProperty> props)
-            throws IOException,  XmlPullParserException
-    {
-        List<ModelProperty> mps = mixPluginAndReturnConfigAsProperties(plugin, dom, model, null);
-
-        return !mps.isEmpty() ?
-            new XmlPlexusConfiguration(Xpp3DomBuilder.build(
-                    new StringReader(ModelMarshaller.unmarshalModelPropertiesToXml(mps, ProjectUri.Build.Plugins.Plugin.xUri))) ) : null;
-    }
-   
-   public Object mixPluginAndReturnConfigAsDom(Plugin plugin, Model model) throws IOException, XmlPullParserException
-   {
-       List<ModelProperty> mps = mixPluginAndReturnConfigAsProperties(plugin, null, model, null);
-       return  !mps.isEmpty() ? Xpp3DomBuilder.build(
-               new StringReader(ModelMarshaller.unmarshalModelPropertiesToXml(mps, ProjectUri.Build.Plugins.Plugin.xUri) ) ) : null;
-   }
-
-   public Object mixPluginAndReturnConfigAsDom(Plugin plugin, Model model, String xpathExpression) throws IOException,
-           XmlPullParserException
-   {
-       Object dom = mixPluginAndReturnConfigAsDom(plugin, model);
-       if(dom == null)
-       {
-           return null;
-       }
-       return JXPathContext.newContext( dom ).getValue(xpathExpression);
-   }
-
-   private List<ModelProperty> mixPluginAndReturnConfigAsProperties(Plugin plugin, Xpp3Dom dom, Model model,
-                                                                    List<InterpolatorProperty> props) throws IOException
-   {
-       List<DomainModel> domainModels = new ArrayList<DomainModel>();
-       domainModels.add(new PomClassicDomainModel(model));
-       domainModels.add(new PluginMixin(plugin));
-
-       if (dom != null)
-       {
-           Plugin p = new Plugin();
-           p.setGroupId(plugin.getGroupId());
-           p.setArtifactId(plugin.getArtifactId());
-           p.setVersion(p.getVersion());
-           p.setConfiguration(dom);
-           domainModels.add(new PluginMixin(p));
-       }
-
-        PomClassicTransformer transformer = new PomClassicTransformer( new PomClassicDomainModelFactory() );
-
-        ModelTransformerContext ctx = new ModelTransformerContext(PomTransformer.MODEL_CONTAINER_INFOS );
-
-        PomClassicDomainModel transformedDomainModel = ( (PomClassicDomainModel) ctx.transform( domainModels,
-                                                                                                transformer,
-                                                                                                transformer,
-                                                                                                Collections.EMPTY_LIST,
-                                                                                                props,
-                                                                                                listeners ) );
-        ModelDataSource source =
-                new DefaultModelDataSource(transformedDomainModel.getModelProperties(), PomTransformer.MODEL_CONTAINER_FACTORIES);
-        for(ModelContainer pluginContainer : source.queryFor(ProjectUri.Build.Plugins.Plugin.xUri))
-        {
-            if(matchesIdOfPlugin(pluginContainer, plugin))
-            {
-                List<ModelProperty> config = new ArrayList<ModelProperty>();
-                for(ModelProperty mp : pluginContainer.getProperties())
-                {
-                    if(mp.getUri().startsWith(ProjectUri.Build.Plugins.Plugin.configuration))
-                    {
-                        config.add(mp);
-                    }
-                }
-                return config;
-
-            }
-        }
-        return new ArrayList<ModelProperty>();
-   }
-
-    private static boolean matchesIdOfPlugin(ModelContainer mc, Plugin plugin)
-    {   
-        List<ModelProperty> props = mc.getProperties();
-
-        return //getValueByUri(ProjectUri.Build.Plugins.Plugin.groupId, props).equals(plugin.getGroupId())
-                getValueByUri(ProjectUri.Build.Plugins.Plugin.artifactId, props).equals(plugin.getArtifactId())
-                && getValueByUri(ProjectUri.Build.Plugins.Plugin.version, props).equals(plugin.getVersion());
-    }
-
-    private static String getValueByUri(String uri, List<ModelProperty> modelProperties)
-    {
-        for(ModelProperty mp : modelProperties)
-        {
-            if(mp.getUri().equals(uri))
-            {
-                return mp.getResolvedValue();
-            }
-        }
-        return "";
-    }
-
     private static List<DomainModel> getParentsOfDomainModel( MavenDomainModel domainModel, MetadataReader mdReader )
         throws IOException, MetadataReaderException, PomProcessorException
     {

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=745712&r1=745711&r2=745712&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 Thu Feb 19 03:00:52 2009
@@ -55,8 +55,6 @@
 
     private MavenProjectBuilder mavenProjectBuilder;
 
-    private Mixer mixer;
-
     private MavenTools mavenTools;
 
     private PomArtifactResolver pomArtifactResolver;
@@ -72,7 +70,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()
         {
@@ -102,17 +99,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.
@@ -126,10 +112,10 @@
     {
         File pom = new File( testDirectory, "micromailer/micromailer-1.0.3.pom" );
         PomArtifactResolver resolver = artifactResolver( "micromailer" );
-        PomClassicDomainModel model = projectBuilder.buildModel( pom, null, resolver );
+        IPomClassicDomainModel 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]" );
     }
 
@@ -873,7 +859,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/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=745712&r1=745711&r2=745712&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 Thu Feb 19 03:00:52 2009
@@ -30,6 +30,7 @@
 import org.apache.commons.jxpath.ri.JXPathContextReferenceImpl;
 import org.apache.maven.model.Model;
 import org.apache.maven.project.builder.PomClassicDomainModel;
+import org.apache.maven.project.builder.IPomClassicDomainModel;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.model.ModelProperty;