Author: jvanzyl
Date: Tue Feb 3 14:55:42 2009
New Revision: 740315
URL: http://svn.apache.org/viewvc?rev=740315&view=rev
Log:
o merging in changes from trunk
Added:
maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRepository.java
- copied unchanged from r740199,
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRepository.java
maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/plugin/PluginRepository.java
- copied unchanged from r740199,
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginRepository.java
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/Mixer.java
- copied unchanged from r740199,
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/Mixer.java
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/PluginMixin.java
- copied unchanged from r740199,
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PluginMixin.java
maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/builder/PluginBuilderTest.java
- copied unchanged from r740199,
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PluginBuilderTest.java
maven/components/branches/MNG-3932/maven-project/src/test/resources-mixins/
- copied from r740199,
maven/components/trunk/maven-project/src/test/resources-mixins/
maven/components/branches/MNG-3932/maven-project/src/test/resources-mixins/plugins/
- copied from r740199,
maven/components/trunk/maven-project/src/test/resources-mixins/plugins/
maven/components/branches/MNG-3932/maven-project/src/test/resources-mixins/plugins/simple/
- copied from r740199,
maven/components/trunk/maven-project/src/test/resources-mixins/plugins/simple/
maven/components/branches/MNG-3932/maven-project/src/test/resources-mixins/plugins/simple/mixin.xml
- copied unchanged from r740199,
maven/components/trunk/maven-project/src/test/resources-mixins/plugins/simple/mixin.xml
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/plugin-merge-simple/
- copied from r740199,
maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-merge-simple/
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/plugin-merge-simple/pom.xml
- copied unchanged from r740199,
maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-merge-simple/pom.xml
Modified:
maven/components/branches/MNG-3932/ (props changed)
maven/components/branches/MNG-3932/apache-maven/ (props changed)
maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/
(props changed)
maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/ModelUtils.java
(props changed)
maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/inheritance/
(props changed)
maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/path/
(props changed)
maven/components/branches/MNG-3932/maven-compat/src/main/mdo/ (props
changed)
maven/components/branches/MNG-3932/maven-compat/src/test/ (props changed)
maven/components/branches/MNG-3932/maven-compat/src/test/java/org/apache/maven/project/path/
(props changed)
maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners/
(props changed)
maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java
(props changed)
maven/components/branches/MNG-3932/maven-core/src/main/resources/META-INF/plexus/components.xml
maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java
(props changed)
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/resources/
(props changed)
maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java
(props changed)
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java
(props changed)
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java
(props changed)
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java
(props changed)
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java
(props changed)
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/DefaultPomArtifactResolver.java
(props changed)
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
maven/components/branches/MNG-3932/maven-project/src/main/mdo/ (props
changed)
maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
Propchange: maven/components/branches/MNG-3932/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,4 +1,7 @@
+/maven/components/branches/MNG-3932:739772-740199
/maven/components/branches/maven-2.0.10-RC:680477
/maven/components/branches/maven-2.0.x:679206,708871,720042,726541,727548,727998,728940,729060,729738,729785,730631
/maven/components/branches/maven-2.1.x:739385
-/maven/components/trunk:688587-696625,696644-699681
+/maven/components/branches/sisbell-plugin-manager:738973-739966
+/maven/components/sisbell-plugin-manager:738757-738972
+/maven/components/trunk:739772-740199
Propchange: maven/components/branches/MNG-3932/apache-maven/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,3 +1,7 @@
+/maven/components/branches/MNG-3932/apache-maven:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-distribution:680477
/maven/components/branches/maven-2.0.x/maven-distribution:679206,708871,720042,726541,727548,727998,728264,728940,729060,729738,729785,730631
+/maven/components/branches/sisbell-plugin-manager/apache-maven:738973-739966
+/maven/components/sisbell-plugin-manager/apache-maven:738757-738972
+/maven/components/trunk/apache-maven:739772-740199
/maven/components/trunk/maven-distribution:688587-696625,696644-699681
Propchange:
maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,3 +1,7 @@
+/maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact:680477
/maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact:679206
/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact:679206
+/maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/artifact:738973-739966
+/maven/components/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/artifact:738757-738972
+/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact:739772-740199
Propchange:
maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/ModelUtils.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,3 +1,6 @@
+/maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/ModelUtils.java:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java:680477
/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java:679206,720042
-/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java:688587-696625,696644-699681
+/maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/project/ModelUtils.java:738973-739966
+/maven/components/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/project/ModelUtils.java:738757-738972
+/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/project/ModelUtils.java:739772-740199
Propchange:
maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/inheritance/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -0,0 +1,2 @@
+/maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/project/inheritance:738973-739966
+/maven/components/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/project/inheritance:738757-738972
Propchange:
maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/path/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,3 +1,7 @@
+/maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/path:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/path:680477
/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/path:679206,720042
+/maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/project/path:738973-739966
+/maven/components/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/project/path:738757-738972
+/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/project/path:739772-740199
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/path:688587-696625,696644-699681
Propchange: maven/components/branches/MNG-3932/maven-compat/src/main/mdo/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,3 +1,7 @@
+/maven/components/branches/MNG-3932/maven-compat/src/main/mdo:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/mdo:680477
/maven/components/branches/maven-2.0.x/maven-artifact/src/main/mdo:679206
/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/mdo:679206
+/maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/mdo:738973-739966
+/maven/components/sisbell-plugin-manager/maven-compat/src/main/mdo:738757-738972
+/maven/components/trunk/maven-compat/src/main/mdo:739772-740199
Propchange: maven/components/branches/MNG-3932/maven-compat/src/test/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,3 +1,7 @@
+/maven/components/branches/MNG-3932/maven-compat/src/test:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/test:680477
/maven/components/branches/maven-2.0.x/maven-artifact/src/test:679206
/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/test:679206
+/maven/components/branches/sisbell-plugin-manager/maven-compat/src/test:738973-739966
+/maven/components/sisbell-plugin-manager/maven-compat/src/test:738757-738972
+/maven/components/trunk/maven-compat/src/test:739772-740199
Propchange:
maven/components/branches/MNG-3932/maven-compat/src/test/java/org/apache/maven/project/path/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,3 +1,7 @@
+/maven/components/branches/MNG-3932/maven-compat/src/test/java/org/apache/maven/project/path:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-project/src/test/java/org/apache/maven/project/path:680477
/maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/project/path:679206,720042
+/maven/components/branches/sisbell-plugin-manager/maven-compat/src/test/java/org/apache/maven/project/path:738973-739966
+/maven/components/sisbell-plugin-manager/maven-compat/src/test/java/org/apache/maven/project/path:738757-738972
+/maven/components/trunk/maven-compat/src/test/java/org/apache/maven/project/path:739772-740199
/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/path:688587-696625,696644-699681
Propchange:
maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,3 +1,7 @@
+/maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/builder/listeners:680477
/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/builder/listeners:679206
+/maven/components/branches/sisbell-plugin-manager/maven-core/src/main/java/org/apache/maven/listeners:738973-739966
+/maven/components/sisbell-plugin-manager/maven-core/src/main/java/org/apache/maven/listeners:738757-738972
+/maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners:739772-740199
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/listeners:688587-696625,696644-699681
Propchange:
maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,3 +1,7 @@
+/maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/builder/listeners/PluginExtensionListener.java:680477
/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/builder/listeners/PluginExtensionListener.java:679206
+/maven/components/branches/sisbell-plugin-manager/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java:738973-739966
+/maven/components/sisbell-plugin-manager/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java:738757-738972
+/maven/components/trunk/maven-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java:739772-740199
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/listeners/PluginExtensionListener.java:688587-696625,696644-699681
Modified:
maven/components/branches/MNG-3932/maven-core/src/main/resources/META-INF/plexus/components.xml
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-core/src/main/resources/META-INF/plexus/components.xml?rev=740315&r1=740314&r2=740315&view=diff
==============================================================================
---
maven/components/branches/MNG-3932/maven-core/src/main/resources/META-INF/plexus/components.xml
(original)
+++
maven/components/branches/MNG-3932/maven-core/src/main/resources/META-INF/plexus/components.xml
Tue Feb 3 14:55:42 2009
@@ -27,6 +27,16 @@
<component-set>
<components>
<component>
+ <role>org.apache.maven.plugin.PluginRepository</role>
+ <role-hint>default</role-hint>
+
<implementation>org.apache.maven.plugin.DefaultPluginRepository</implementation>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.plugin.MavenPluginCollector</role>
+ </requirement>
+ </requirements>
+ </component>
+ <component>
<role>org.apache.maven.lifecycle.binding.LifecycleBindingManager</role>
<role-hint>default</role-hint>
<implementation>org.apache.maven.lifecycle.binding.DefaultLifecycleBindingManager</implementation>
Modified:
maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?rev=740315&r1=740314&r2=740315&view=diff
==============================================================================
---
maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
(original)
+++
maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
Tue Feb 3 14:55:42 2009
@@ -58,18 +58,16 @@
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
import org.apache.maven.monitor.event.DefaultEventDispatcher;
import org.apache.maven.monitor.event.EventDispatcher;
-import org.apache.maven.plugin.InvalidPluginException;
-import org.apache.maven.plugin.MavenPluginCollector;
-import org.apache.maven.plugin.MavenPluginDiscoverer;
-import org.apache.maven.plugin.PluginManager;
-import org.apache.maven.plugin.PluginManagerException;
-import org.apache.maven.plugin.PluginNotFoundException;
+import org.apache.maven.plugin.*;
import org.apache.maven.plugin.version.PluginVersionNotFoundException;
import org.apache.maven.plugin.version.PluginVersionResolutionException;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.MavenProjectBuildingResult;
import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.project.builder.ProjectBuilder;
+import org.apache.maven.project.builder.Mixer;
+import org.apache.maven.plugin.PluginRepository;
import org.apache.maven.reactor.MavenExecutionException;
import org.apache.maven.reactor.MissingModuleException;
import org.apache.maven.settings.Settings;
@@ -92,6 +90,7 @@
import
org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import
org.codehaus.plexus.component.repository.exception.ComponentRepositoryException;
import org.codehaus.plexus.configuration.PlexusConfigurationException;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
import org.codehaus.plexus.logging.LoggerManager;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.ReaderFactory;
@@ -147,6 +146,10 @@
private MavenExecutionRequestPopulator populator;
private BuildPlanner buildPlanner;
+
+ private PluginRepository pluginRepository;
+
+ private Mixer mixer;
// ----------------------------------------------------------------------
// Configuration
@@ -246,6 +249,15 @@
modelWriter.write( writer, model );
}
+ public PlexusConfiguration getPluginConfiguration(String pluginId, String
mojoId, Model model) throws Exception
+ {
+ try {
+ return
mixer.mixPluginAndReturnConfig(pluginRepository.findPluginById(pluginId,
mojoId), model);
+ } catch (PlexusConfigurationException e) {
+ throw new IOException(e.getMessage());
+ }
+ }
+
// ----------------------------------------------------------------------
// Settings
// ----------------------------------------------------------------------
@@ -656,6 +668,10 @@
artifactHandlerManager = container.lookup(
ArtifactHandlerManager.class );
+ pluginRepository = container.lookup( PluginRepository.class );
+
+ mixer = (Mixer) container.lookup( ProjectBuilder.class );
+
// This is temporary as we can probably cache a single request and
use it for default values and
// simply cascade values in from requests used for individual
executions.
request = new DefaultMavenExecutionRequest();
Propchange:
maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,3 +1,6 @@
+/maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-embedder/src/main/java/org/apache/maven/embedder/user/SettingsAdapter.java:680477
/maven/components/branches/maven-2.0.x/maven-embedder/src/main/java/org/apache/maven/embedder/user/SettingsAdapter.java:679206
-/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/user/SettingsAdapter.java:688587-696625,696644-699681
+/maven/components/branches/sisbell-plugin-manager/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java:738973-739966
+/maven/components/sisbell-plugin-manager/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java:738757-738972
+/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java:739772-740199
Modified:
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java?rev=740315&r1=740314&r2=740315&view=diff
==============================================================================
---
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
(original)
+++
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/PomTransformer.java
Tue Feb 3 14:55:42 2009
@@ -162,8 +162,7 @@
ProjectUri.Build.Resources.Resource.directory,
ProjectUri.Build.TestResources.TestResource.directory,
ProjectUri.Build.Filters.filter,
-
ProjectUri.Reporting.outputDirectory ) ) );
-
+
ProjectUri.Reporting.outputDirectory ) ) );
/**
* @see ModelTransformer#transformToDomainModel(java.util.List,
java.util.List)
*/
Propchange:
maven/components/branches/MNG-3932/maven-project-builder/src/main/resources/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,3 +1,6 @@
+/maven/components/branches/MNG-3932/maven-project-builder/src/main/resources:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/resources:680477
/maven/components/branches/maven-2.0.x/maven-project/src/main/resources:679206,720042
-/maven/components/trunk/maven-project/src/main/resources:688587-696625,696644-699681
+/maven/components/branches/sisbell-plugin-manager/maven-project-builder/src/main/resources:738973-739966
+/maven/components/sisbell-plugin-manager/maven-project-builder/src/main/resources:738757-738972
+/maven/components/trunk/maven-project-builder/src/main/resources:739772-740199
Propchange:
maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,3 +1,7 @@
+/maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-project-builder/src/test/java/EnforcerPomTest.java:680477
/maven/components/branches/maven-2.0.x/maven-project-builder/src/test/java/EnforcerPomTest.java:679206,720042
+/maven/components/branches/sisbell-plugin-manager/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java:738973-739966
+/maven/components/sisbell-plugin-manager/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java:738757-738972
/maven/components/trunk/maven-project-builder/src/test/java/EnforcerPomTest.java:688587-696625,696644-699681
+/maven/components/trunk/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java:739772-740199
Propchange:
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,2 +1,6 @@
+/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-profile/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:680477
/maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:679206
+/maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:738973-739966
+/maven/components/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:738757-738972
+/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:739772-740199
Propchange:
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,2 +1,6 @@
+/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:680477
/maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:679206
+/maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:738973-739966
+/maven/components/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:738757-738972
+/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:739772-740199
Propchange:
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,2 +1,6 @@
+/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-profile/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:680477
/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
Propchange:
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,2 +1,6 @@
+/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-profile/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:680477
/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
Propchange:
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/DefaultPomArtifactResolver.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,3 +1,6 @@
+/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/DefaultPomArtifactResolver.java:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/builder/PomArtifactResolver.java:680477
/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/builder/PomArtifactResolver.java:679206,720042
-/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomArtifactResolver.java:688587-696625,696644-699681
+/maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/project/builder/DefaultPomArtifactResolver.java:738973-739966
+/maven/components/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/project/builder/DefaultPomArtifactResolver.java:738757-738972
+/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/DefaultPomArtifactResolver.java:739772-740199
Modified:
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java?rev=740315&r1=740314&r2=740315&view=diff
==============================================================================
---
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
(original)
+++
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
Tue Feb 3 14:55:42 2009
@@ -44,6 +44,10 @@
DomainModel domainModel)
throws IOException
{
+ if(! ( domainModel instanceof PomClassicDomainModel ) )
+ {
+ return;
+ }
Interpolator.interpolateModelProperties( modelProperties,
interpolatorProperties, (PomClassicDomainModel) domainModel);
}
}
Modified:
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java?rev=740315&r1=740314&r2=740315&view=diff
==============================================================================
---
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
(original)
+++
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
Tue Feb 3 14:55:42 2009
@@ -23,7 +23,6 @@
import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@@ -34,34 +33,29 @@
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;
-import org.apache.maven.project.builder.ArtifactModelContainerFactory;
-import org.apache.maven.project.builder.IdModelContainerFactory;
-import org.apache.maven.project.builder.PomArtifactResolver;
-import org.apache.maven.project.builder.PomClassicDomainModel;
-import org.apache.maven.project.builder.PomClassicDomainModelFactory;
-import org.apache.maven.project.builder.PomClassicTransformer;
-import org.apache.maven.project.builder.PomTransformer;
-import org.apache.maven.project.builder.ProjectBuilder;
-import org.apache.maven.shared.model.DomainModel;
-import org.apache.maven.shared.model.InterpolatorProperty;
-import org.apache.maven.shared.model.ModelEventListener;
-import org.apache.maven.shared.model.ModelTransformerContext;
+import org.apache.maven.project.builder.*;
+import org.apache.maven.shared.model.*;
+import org.apache.maven.shared.model.impl.DefaultModelDataSource;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.ReaderFactory;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
+import org.apache.maven.shared.model.ModelMarshaller;
/**
* Default implementation of the project builder.
*/
@Component(role = ProjectBuilder.class)
public class DefaultProjectBuilder
- implements ProjectBuilder, LogEnabled
+ implements ProjectBuilder, Mixer, LogEnabled
{
@Requirement
private ArtifactFactory artifactFactory;
@@ -371,5 +365,85 @@
}
return superModel;
- }
+ }
+
+ public Model mixPlugin(Plugin plugin, Model model) throws IOException
+ {
+ //TODO - interpolation
+ List<DomainModel> domainModels = new ArrayList<DomainModel>();
+ domainModels.add( new PluginMixin(plugin) );
+ domainModels.add( new PomClassicDomainModel(model) );
+
+ 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();
+ // List<ModelProperty> pluginProperties =
ModelMarshaller.marshallXmlToModelProperties(
+ // (new PluginMixin(plugin)).getInputStream(),
ProjectUri.Build.Plugins.xUri, null);
+
+ }
+
+ public PlexusConfiguration mixPluginAndReturnConfig(Plugin plugin, Model
model) throws IOException
+ {
+ List<DomainModel> domainModels = new ArrayList<DomainModel>();
+ domainModels.add( new PluginMixin(plugin) );
+ domainModels.add( new PomClassicDomainModel(model) );
+
+ 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 ) );
+ 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 new
XmlPlexusConfiguration(ModelMarshaller.unmarshalModelPropertiesToXml(config,
ProjectUri.Build.Plugins.Plugin.xUri));
+
+ }
+ }
+ return null;
+ }
+
+ 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 "";
+ }
}
Propchange: maven/components/branches/MNG-3932/maven-project/src/main/mdo/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 3 14:55:42 2009
@@ -1,2 +1,6 @@
+/maven/components/branches/MNG-3932/maven-project/src/main/mdo:739772-740199
/maven/components/branches/maven-2.0.10-RC/maven-profile/src/main/mdo:680477
/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
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=740315&r1=740314&r2=740315&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
Tue Feb 3 14:55:42 2009
@@ -21,34 +21,51 @@
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 org.apache.maven.MavenTools;
+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.project.harness.PomTestWrapper;
import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
public class PomConstructionTest
extends PlexusTestCase
{
- private static String BASE_POM_DIR = "src/test/resources-project-builder";
+ private static String BASE_DIR = "src/test";
+
+ private static String BASE_POM_DIR = BASE_DIR +
"/resources-project-builder";
+
+ private static String BASE_MIXIN_DIR = BASE_DIR + "/resources-mixins";
private ProjectBuilder projectBuilder;
+ private Mixer mixer;
+
private MavenTools mavenTools;
private PomArtifactResolver pomArtifactResolver;
private File testDirectory;
+ private File testMixinDirectory;
+
protected void setUp()
throws Exception
{
testDirectory = new File( getBasedir(), BASE_POM_DIR );
+ testMixinDirectory = new File( getBasedir(), BASE_MIXIN_DIR );
projectBuilder = lookup( ProjectBuilder.class );
+ mixer = (Mixer) projectBuilder;
mavenTools = lookup( MavenTools.class );
pomArtifactResolver = new PomArtifactResolver()
{
@@ -62,6 +79,18 @@
};
}
+ 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.
// The expressions help a lot, but we need a clean to pick up a directory
of POMs, automatically load
@@ -731,11 +760,24 @@
return new PomTestWrapper( pomFile, projectBuilder.buildModel(
pomFile, null, pomArtifactResolver ) );
}
+ private Model buildMixin( String mixinPath )
+ throws IOException, XmlPullParserException
+ {
+ File mixinFile = new File( testMixinDirectory , mixinPath );
+ if ( mixinFile.isDirectory() )
+ {
+ mixinFile = new File( mixinFile, "mixin.xml" );
+ }
+ FileInputStream pluginStream = new FileInputStream( mixinFile );
+ MavenXpp3Reader reader = new MavenXpp3Reader();
+ return reader.read(pluginStream, false);
+ }
+
protected void assertModelEquals( PomTestWrapper pom, Object expected,
String expression )
{
assertEquals( expected, pom.getValue( expression ) );
}
-
+
// Need to get this to walk around a directory and automatically build up
the artifact set. If we
// follow some standard conventions this can be simple.
class FileBasedPomArtifactResolver