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;