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/07 02:50:22 UTC
svn commit: r741813 - 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/project/
maven-compat/src/main/java/org/apache/maven/project/inheritance/ m...
Author: jvanzyl
Date: Sat Feb 7 01:50:20 2009
New Revision: 741813
URL: http://svn.apache.org/viewvc?rev=741813&view=rev
Log:
o merging from trunk
Added:
maven/components/branches/MNG-3932/maven-embedder/src/test/projects/invalid-goal/
- copied from r741812, maven/components/trunk/maven-embedder/src/test/projects/invalid-goal/
maven/components/branches/MNG-3932/maven-embedder/src/test/projects/invalid-goal/pom.xml
- copied unchanged from r741812, maven/components/trunk/maven-embedder/src/test/projects/invalid-goal/pom.xml
maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/PomProcessor.java
- copied unchanged from r741812, maven/components/trunk/maven-mercury/src/main/java/org/apache/maven/mercury/PomProcessor.java
maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/PomProcessorException.java
- copied unchanged from r741812, maven/components/trunk/maven-mercury/src/main/java/org/apache/maven/mercury/PomProcessorException.java
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/dependencies-with-different-versions/
- copied from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/dependencies-with-different-versions/
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/dependencies-with-different-versions/pom.xml
- copied unchanged from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/dependencies-with-different-versions/pom.xml
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/execution-configuration-join/
- copied from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/execution-configuration-join/
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/execution-configuration-join/pom.xml
- copied unchanged from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/execution-configuration-join/pom.xml
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/multiple-filters/
- copied from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/multiple-filters/
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/multiple-filters/pom.xml
- copied unchanged from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/multiple-filters/pom.xml
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/parent-interpolation/
- copied from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/parent-interpolation/pom.xml
- copied unchanged from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/pom.xml
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/parent-interpolation/sub/
- copied from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/sub/
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/parent-interpolation/sub/pom.xml
- copied unchanged from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/parent-interpolation/sub/pom.xml
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/plugin-config-properties/
- copied from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-config-properties/
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/plugin-config-properties/pom.xml
- copied unchanged from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-config-properties/pom.xml
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/
- copied from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/pom.xml
- copied unchanged from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/pom.xml
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/sub/
- copied from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/sub/
maven/components/branches/MNG-3932/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/sub/pom.xml
- copied unchanged from r741812, maven/components/trunk/maven-project/src/test/resources-project-builder/pluginmanagement-inherited/sub/pom.xml
Modified:
maven/components/branches/MNG-3932/ (props changed)
maven/components/branches/MNG-3932/apache-maven/ (props changed)
maven/components/branches/MNG-3932/apache-maven/pom.xml
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/lifecycle/binding/DefaultLifecycleBindingManager.java
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-embedder/pom.xml
maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java
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-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java
maven/components/branches/MNG-3932/maven-mercury/pom.xml
maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java
maven/components/branches/MNG-3932/maven-project-builder/pom.xml
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/java/org/apache/maven/project/builder/ProjectUri.java
maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/profile/ProfileContext.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-builder/src/test/java/org/apache/maven/project/builder/profile/ProfileContextTest.java
maven/components/branches/MNG-3932/maven-project/pom.xml
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/DefaultMavenProjectBuilder.java
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
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/Mixer.java
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java
maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.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
maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java
maven/components/branches/MNG-3932/pom.xml
Propchange: maven/components/branches/MNG-3932/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -4,4 +4,4 @@
/maven/components/branches/maven-2.1.x:739385
/maven/components/branches/sisbell-plugin-manager:738973-739966
/maven/components/sisbell-plugin-manager:738757-738972
-/maven/components/trunk:739772-740199
+/maven/components/trunk:739772-740199,740316-741812
Propchange: maven/components/branches/MNG-3932/apache-maven/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -3,5 +3,5 @@
/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/apache-maven:739772-740199,740316-741812
/maven/components/trunk/maven-distribution:688587-696625,696644-699681
Modified: maven/components/branches/MNG-3932/apache-maven/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/apache-maven/pom.xml?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/apache-maven/pom.xml (original)
+++ maven/components/branches/MNG-3932/apache-maven/pom.xml Sat Feb 7 01:50:20 2009
@@ -73,6 +73,14 @@
<groupId>org.sonatype.mercury</groupId>
<artifactId>mercury-mp3-cli</artifactId>
</dependency>
+ <dependency>
+ <!--
+ FIXME: org.sonatype.mercury:mercury-mp3:1.0-alpha-1:pom depends on a snapshot version of mercury-event.
+ -->
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-event</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
</dependencies>
<build>
<plugins>
Propchange: maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -4,4 +4,4 @@
/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
+/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact:739772-740199,740316-741812
Propchange: maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/ModelUtils.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -3,4 +3,4 @@
/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java:679206,720042
/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
+/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/project/ModelUtils.java:739772-740199,740316-741812
Propchange: maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/inheritance/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -1,2 +1,3 @@
/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
+/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/project/inheritance:740316-741812
Propchange: maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/project/path/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -3,5 +3,5 @@
/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-compat/src/main/java/org/apache/maven/project/path:739772-740199,740316-741812
/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 Sat Feb 7 01:50:20 2009
@@ -4,4 +4,4 @@
/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
+/maven/components/trunk/maven-compat/src/main/mdo:739772-740199,740316-741812
Propchange: maven/components/branches/MNG-3932/maven-compat/src/test/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -4,4 +4,4 @@
/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
+/maven/components/trunk/maven-compat/src/test:739772-740199,740316-741812
Propchange: maven/components/branches/MNG-3932/maven-compat/src/test/java/org/apache/maven/project/path/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -3,5 +3,5 @@
/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-compat/src/test/java/org/apache/maven/project/path:739772-740199,740316-741812
/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/path:688587-696625,696644-699681
Modified: maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java (original)
+++ maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java Sat Feb 7 01:50:20 2009
@@ -248,6 +248,12 @@
}
MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( goal );
+ if(mojoDescriptor == null)
+ {
+ throw new LifecycleSpecificationException( "Mojo Descriptor for goal is invalid: Plugin = "
+ + plugin.getKey() + ", Plugin Descriptor = "
+ + pluginDescriptor.getPluginLookupKey() +", Goal = " + goal);
+ }
phase = mojoDescriptor.getPhase();
logger.debug( "Phase from plugin descriptor: " + mojoDescriptor.getFullGoalName() + " is: " + phase );
Propchange: maven/components/branches/MNG-3932/maven-core/src/main/java/org/apache/maven/listeners/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -3,5 +3,5 @@
/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-core/src/main/java/org/apache/maven/listeners:739772-740199,740316-741812
/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 Sat Feb 7 01:50:20 2009
@@ -3,5 +3,5 @@
/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-core/src/main/java/org/apache/maven/listeners/BuildExtensionListener.java:739772-740199,740316-741812
/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-embedder/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-embedder/pom.xml?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-embedder/pom.xml (original)
+++ maven/components/branches/MNG-3932/maven-embedder/pom.xml Sat Feb 7 01:50:20 2009
@@ -59,6 +59,10 @@
<groupId>easymock</groupId>
<artifactId>easymock</artifactId>
</dependency>
+ <dependency>
+ <groupId>commons-jxpath</groupId>
+ <artifactId>commons-jxpath</artifactId>
+ </dependency>
</dependencies>
<build>
<resources>
Modified: maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java (original)
+++ maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java Sat Feb 7 01:50:20 2009
@@ -264,18 +264,20 @@
handleGenericException( e, showStackTraces, writer );
MavenProject project = e.getProject();
-
- writer.write( NEWLINE );
- writer.write( "While building project with id: " );
- writer.write( project.getId() );
- writer.write( NEWLINE );
- if ( project.getFile() != null )
+ if(project != null)
{
- writer.write( "Project File: " );
- writer.write( project.getFile().getAbsolutePath() );
+ writer.write( NEWLINE );
+ writer.write( "While building project with id: " );
+ writer.write( project.getId() );
+ writer.write( NEWLINE );
+ if ( project.getFile() != null )
+ {
+ writer.write( "Project File: " );
+ writer.write( project.getFile().getAbsolutePath() );
+ }
+ writer.write( NEWLINE );
}
- writer.write( NEWLINE );
-
+
return true;
}
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=741813&r1=741812&r2=741813&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 Sat Feb 7 01:50:20 2009
@@ -91,6 +91,7 @@
import org.codehaus.plexus.component.repository.exception.ComponentRepositoryException;
import org.codehaus.plexus.configuration.PlexusConfigurationException;
import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
import org.codehaus.plexus.logging.LoggerManager;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.ReaderFactory;
@@ -250,7 +251,7 @@
}
public PlexusConfiguration getPluginConfiguration(String pluginId, String mojoId, Model model) throws Exception
- {
+ {
try {
return mixer.mixPluginAndReturnConfig(pluginRepository.findPluginById(pluginId, mojoId), model);
} catch (PlexusConfigurationException e) {
@@ -258,6 +259,24 @@
}
}
+ public Object getPluginConfigurationAsDom(String pluginId, String mojoId, Model model) throws Exception
+ {
+ try {
+ return mixer.mixPluginAndReturnConfigAsDom(pluginRepository.findPluginById(pluginId, mojoId), model);
+ } catch (PlexusConfigurationException e) {
+ throw new IOException(e.getMessage());
+ }
+ }
+
+ public Object getPluginConfigurationAsDom(String pluginId, String mojoId, Model model, String xpathExpression) throws Exception
+ {
+ try {
+ return mixer.mixPluginAndReturnConfigAsDom(pluginRepository.findPluginById(pluginId, mojoId), model, xpathExpression);
+ } catch (PlexusConfigurationException e) {
+ throw new IOException(e.getMessage());
+ }
+ }
+
// ----------------------------------------------------------------------
// Settings
// ----------------------------------------------------------------------
Propchange: maven/components/branches/MNG-3932/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -3,4 +3,4 @@
/maven/components/branches/maven-2.0.x/maven-embedder/src/main/java/org/apache/maven/embedder/user/SettingsAdapter.java:679206
/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
+/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/SettingsAdapter.java:739772-740199,740316-741812
Modified: maven/components/branches/MNG-3932/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java (original)
+++ maven/components/branches/MNG-3932/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java Sat Feb 7 01:50:20 2009
@@ -33,6 +33,7 @@
import org.apache.maven.settings.SettingsConfigurationException;
import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
import org.apache.maven.settings.io.xpp3.SettingsXpp3Writer;
+import org.apache.maven.lifecycle.LifecycleSpecificationException;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.ReaderFactory;
@@ -57,6 +58,7 @@
protected MavenEmbedder maven;
+
protected void setUp()
throws Exception
{
@@ -134,6 +136,30 @@
assertTrue( jar.exists() );
}
+ /*MNG-3919*/
+ public void testWithInvalidGoal()
+ throws Exception
+ {
+ File testDirectory = new File( basedir, "src/test/projects/invalid-goal" );
+
+ File targetDirectory = new File( basedir, "target/projects/invalid-goal" );
+
+ FileUtils.copyDirectoryStructure( testDirectory, targetDirectory );
+
+ MavenExecutionRequest request = new DefaultMavenExecutionRequest().setBaseDirectory( targetDirectory )
+ .setShowErrors( true ).setGoals( Arrays.asList( new String[]{"validate"} ) );
+
+ MavenExecutionResult result = maven.execute( request );
+ List exceptions = result.getExceptions();
+ assertEquals("Incorrect number of exceptions", 1, exceptions.size());
+
+ Iterator it = exceptions.iterator();
+ if( (it.next() instanceof NullPointerException))
+ {
+ fail("Null Pointer on Exception");
+ }
+ }
+
public void testExecutionUsingAPomFile()
throws Exception
{
Modified: maven/components/branches/MNG-3932/maven-mercury/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-mercury/pom.xml?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-mercury/pom.xml (original)
+++ maven/components/branches/MNG-3932/maven-mercury/pom.xml Sat Feb 7 01:50:20 2009
@@ -41,6 +41,11 @@
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-annotations</artifactId>
</dependency>
+
+ <dependency>
+ <groupId>org.sonatype.spice</groupId>
+ <artifactId>model-builder</artifactId>
+ </dependency>
<!-- test dependencies -->
<dependency>
Modified: maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java (original)
+++ maven/components/branches/MNG-3932/maven-mercury/src/main/java/org/apache/maven/mercury/MavenDomainModel.java Sat Feb 7 01:50:20 2009
@@ -125,7 +125,7 @@
{
ModelDataSource dataSource = new DefaultModelDataSource( modelProperties, PomTransformer.MODEL_CONTAINER_FACTORIES );
- return new ProfileContext( dataSource, properties ).getActiveProfiles();
+ return new ProfileContext( dataSource, null, properties ).getActiveProfiles();
}
public ArtifactBasicMetadata getParentMetadata()
Modified: maven/components/branches/MNG-3932/maven-project-builder/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project-builder/pom.xml?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project-builder/pom.xml (original)
+++ maven/components/branches/MNG-3932/maven-project-builder/pom.xml Sat Feb 7 01:50:20 2009
@@ -33,4 +33,6 @@
<scope>test</scope>
</dependency>
</dependencies>
+
+
</project>
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=741813&r1=741812&r2=741813&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 Sat Feb 7 01:50:20 2009
@@ -559,7 +559,6 @@
}
tmp.removeAll(replace);
-
//Missing Version Rule
if ( getPropertyFor( ProjectUri.version, tmp ) == null )
@@ -742,6 +741,27 @@
modelProperties.removeAll( clearedProperties );
}
+ //Rules processed on collapsed pom
+
+ //Rule: Remove duplicate filters
+ List<ModelProperty> removedProperties = new ArrayList<ModelProperty>();
+ List<String> filters = new ArrayList<String>();
+ for(ModelProperty mp : modelProperties)
+ {
+ if(mp.getUri().equals(ProjectUri.Build.Filters.filter))
+ {
+ if(filters.contains(mp.getResolvedValue()))
+ {
+ removedProperties.add(mp);
+ }
+ else
+ {
+ filters.add(mp.getResolvedValue());
+ }
+ }
+ }
+ modelProperties.removeAll(removedProperties);
+
//Rule: Build plugin config overrides reporting plugin config
ModelDataSource source = new DefaultModelDataSource( modelProperties, PomTransformer.MODEL_CONTAINER_FACTORIES );
Modified: maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/ProjectUri.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/ProjectUri.java?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/ProjectUri.java (original)
+++ maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/ProjectUri.java Sat Feb 7 01:50:20 2009
@@ -350,7 +350,7 @@
public static class Filters
{
- public static String xUri = "http://apache.org/maven/project/build/filters#set";
+ public static String xUri = "http://apache.org/maven/project/build/filters#collection";
public static String filter = xUri + "/filter";
}
Modified: maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/profile/ProfileContext.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/profile/ProfileContext.java?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/profile/ProfileContext.java (original)
+++ maven/components/branches/MNG-3932/maven-project-builder/src/main/java/org/apache/maven/project/builder/profile/ProfileContext.java Sat Feb 7 01:50:20 2009
@@ -1,9 +1,6 @@
package org.apache.maven.project.builder.profile;
-import org.apache.maven.shared.model.ModelContainer;
-import org.apache.maven.shared.model.ModelDataSource;
-import org.apache.maven.shared.model.DataSourceException;
-import org.apache.maven.shared.model.InterpolatorProperty;
+import org.apache.maven.shared.model.*;
import org.apache.maven.project.builder.ProjectUri;
import java.util.*;
@@ -15,13 +12,17 @@
private List<InterpolatorProperty> properties;
+ private Collection<String> activeProfileIds;
+
List<ActiveProfileMatcher> matchers = Collections.unmodifiableList( Arrays.asList(new ByDefaultMatcher(),
new FileMatcher(), new JdkMatcher(), new OperatingSystemMatcher(), new PropertyMatcher()
) );
- public ProfileContext(ModelDataSource modelDataSource, List<InterpolatorProperty> properties) {
+ public ProfileContext(ModelDataSource modelDataSource, Collection<String> activeProfileIds,
+ List<InterpolatorProperty> properties) {
this.modelDataSource = modelDataSource;
this.properties = new ArrayList<InterpolatorProperty>(properties);
+ this.activeProfileIds = (activeProfileIds != null) ? activeProfileIds : new ArrayList<String>();
}
public Collection<ModelContainer> getActiveProfiles() throws DataSourceException {
@@ -32,10 +33,29 @@
for(ActiveProfileMatcher matcher : matchers) {
if(matcher.isMatch(mc, properties)) {
matchedContainers.add(mc);
+ continue;
}
}
+
+ String profileId = getProfileId(mc.getProperties());
+ if(profileId != null && activeProfileIds.contains(profileId))
+ {
+ matchedContainers.add(mc);
+ }
}
return matchedContainers;
}
+
+ private String getProfileId(List<ModelProperty> modelProperties)
+ {
+ for(ModelProperty mp : modelProperties)
+ {
+ if(mp.getUri().equals(ProfileUri.Profiles.Profile.id))
+ {
+ return mp.getResolvedValue();
+ }
+ }
+ return null;
+ }
}
Propchange: maven/components/branches/MNG-3932/maven-project-builder/src/main/resources/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -3,4 +3,4 @@
/maven/components/branches/maven-2.0.x/maven-project/src/main/resources:679206,720042
/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
+/maven/components/trunk/maven-project-builder/src/main/resources:739772-740199,740316-741812
Propchange: maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -4,4 +4,4 @@
/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
+/maven/components/trunk/maven-project-builder/src/test/java/org/apache/maven/project/builder/EnforcerPomTest.java:739772-740199,740316-741812
Modified: maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/profile/ProfileContextTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/profile/ProfileContextTest.java?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/profile/ProfileContextTest.java (original)
+++ maven/components/branches/MNG-3932/maven-project-builder/src/test/java/org/apache/maven/project/builder/profile/ProfileContextTest.java Sat Feb 7 01:50:20 2009
@@ -35,7 +35,27 @@
List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
interpolatorProperties.add(new InterpolatorProperty( "${foo}", "bar"));
- ProfileContext ctx = new ProfileContext(dataSource, interpolatorProperties);
+ ProfileContext ctx = new ProfileContext(dataSource, null, interpolatorProperties);
+
+ Collection<ModelContainer> profiles = ctx.getActiveProfiles();
+
+ assertTrue(profiles.size() == 1);
+
+ }
+
+ @org.junit.Test
+ public void getActiveProfilesById() throws DataSourceException {
+ List<ModelProperty> modelProperties = new ArrayList<ModelProperty>();
+ modelProperties.add(new ModelProperty(ProjectUri.xUri, null));
+ modelProperties.add(new ModelProperty(ProjectUri.Profiles.xUri, null));
+ modelProperties.add(new ModelProperty(ProjectUri.Profiles.Profile.xUri, null));
+ modelProperties.add(new ModelProperty(ProjectUri.Profiles.Profile.id , "test"));
+
+ DefaultModelDataSource dataSource = new DefaultModelDataSource(modelProperties, PomTransformer.MODEL_CONTAINER_FACTORIES );
+
+ List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
+
+ ProfileContext ctx = new ProfileContext(dataSource, Arrays.asList("test"), interpolatorProperties);
Collection<ModelContainer> profiles = ctx.getActiveProfiles();
Modified: maven/components/branches/MNG-3932/maven-project/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/pom.xml?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project/pom.xml (original)
+++ maven/components/branches/MNG-3932/maven-project/pom.xml Sat Feb 7 01:50:20 2009
@@ -69,10 +69,12 @@
<artifactId>maven-project-builder</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-mercury</artifactId>
+ </dependency>
+ <dependency>
<groupId>commons-jxpath</groupId>
<artifactId>commons-jxpath</artifactId>
- <version>1.3</version>
- <scope>test</scope>
</dependency>
</dependencies>
<build>
Propchange: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -3,4 +3,4 @@
/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
+/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/AlwaysOnActivation.java:739772-740199,740316-741812
Propchange: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -3,4 +3,4 @@
/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
+/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultMavenProfilesBuilder.java:739772-740199,740316-741812
Propchange: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 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
+/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:739772-740199,740316-741812
Propchange: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 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
+/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:739772-740199,740316-741812
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=741813&r1=741812&r2=741813&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 Sat Feb 7 01:50:20 2009
@@ -119,7 +119,17 @@
public MavenProject build( File projectDescriptor, ProjectBuilderConfiguration config )
throws ProjectBuildingException
- {
+ {
+ if(projectDescriptor == null)
+ {
+ throw new IllegalArgumentException("projectDescriptor: null");
+ }
+
+ if(config == null)
+ {
+ throw new IllegalArgumentException("config: null");
+ }
+
List<ArtifactRepository> artifactRepositories = new ArrayList<ArtifactRepository>( );
artifactRepositories.addAll( mavenTools.buildArtifactRepositories( projectBuilder.getSuperModel() ) );
if(config.getRemoteRepositories() != null)
@@ -398,7 +408,8 @@
null,
interpolatorProperties,
resolver,
- config );
+ config,
+ this);
}
catch ( IOException e )
{
@@ -449,7 +460,7 @@
private static void setBuildOutputDirectoryOnParent( MavenProject project )
{
MavenProject parent = project.getParent();
- if ( parent != null )
+ if ( parent != null && parent.getFile() != null && parent.getModel().getBuild() != null)
{
parent.getModel().getBuild().setDirectory( parent.getFile().getAbsolutePath() );
setBuildOutputDirectoryOnParent( parent );
Modified: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/MavenProject.java (original)
+++ maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/MavenProject.java Sat Feb 7 01:50:20 2009
@@ -194,12 +194,41 @@
public MavenProject( Model model )
{
+ if(model == null)
+ {
+ throw new IllegalArgumentException("model: null");
+ }
setModel( model );
}
+ /**
+ * Constructor
+ *
+ * @param model - may not be null
+ * @param artifactFactory - may not be null
+ * @param mavenTools - may not be null
+ * @param mavenProjectBuilder
+ * @param projectBuilderConfiguration
+ * @throws InvalidRepositoryException
+ */
public MavenProject( Model model, ArtifactFactory artifactFactory, MavenTools mavenTools, MavenProjectBuilder mavenProjectBuilder, ProjectBuilderConfiguration projectBuilderConfiguration )
throws InvalidRepositoryException
{
+ if(model == null)
+ {
+ throw new IllegalArgumentException("model: null");
+ }
+
+ if(artifactFactory == null)
+ {
+ throw new IllegalArgumentException("artifactFactory: null");
+ }
+
+ if(mavenTools == null)
+ {
+ throw new IllegalArgumentException("mavenTools: null");
+ }
+
setModel( model );
this.mavenProjectBuilder = mavenProjectBuilder;
this.projectBuilderConfiguration = projectBuilderConfiguration;
@@ -330,7 +359,17 @@
public MavenProject getParent()
{
if ( parent == null )
- {
+ { /*
+ if(mavenProjectBuilder == null)
+ {
+ throw new IllegalArgumentException("mavenProjectBuilder: null");
+ }
+
+ if(projectBuilderConfiguration == null)
+ {
+ throw new IllegalArgumentException("projectBuilderConfiguration: null");
+ }
+ */
if ( parentFile != null )
{
try
Propchange: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/DefaultPomArtifactResolver.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 2009
@@ -3,4 +3,4 @@
/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/project/builder/PomArtifactResolver.java:679206,720042
/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
+/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/DefaultPomArtifactResolver.java:739772-740199,740316-741812
Modified: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/Mixer.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/Mixer.java?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/Mixer.java (original)
+++ maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/Mixer.java Sat Feb 7 01:50:20 2009
@@ -4,6 +4,7 @@
import org.apache.maven.model.Plugin;
import org.apache.maven.model.Model;
import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.IOException;
@@ -14,4 +15,10 @@
Model mixPlugin(Plugin plugin, Model model) throws IOException;
PlexusConfiguration mixPluginAndReturnConfig(Plugin plugin, Model model) throws IOException;
+
+ Object mixPluginAndReturnConfigAsDom(Plugin plugin, Model model) throws IOException,
+ XmlPullParserException;
+
+ Object mixPluginAndReturnConfigAsDom(Plugin plugin, Model model, String xpathExpression) throws IOException,
+ XmlPullParserException;
}
Modified: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java (original)
+++ maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java Sat Feb 7 01:50:20 2009
@@ -77,6 +77,10 @@
private int lineageCount;
+ public PomClassicDomainModel( List<ModelProperty> modelProperties)
+ {
+ this.modelProperties = modelProperties;
+ }
/**
* Constructor
*
Modified: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java (original)
+++ maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/builder/ProjectBuilder.java Sat Feb 7 01:50:20 2009
@@ -27,6 +27,7 @@
import org.apache.maven.model.Model;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.ProjectBuilderConfiguration;
+import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.shared.model.InterpolatorProperty;
/**
@@ -54,7 +55,8 @@
List<Model> mixins,
Collection<InterpolatorProperty> interpolatorProperties,
PomArtifactResolver resolver,
- ProjectBuilderConfiguration projectBuilderConfiguration )
+ ProjectBuilderConfiguration projectBuilderConfiguration,
+ MavenProjectBuilder mavenProjectBuilder)
throws IOException;
Model getSuperModel();
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=741813&r1=741812&r2=741813&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 Sat Feb 7 01:50:20 2009
@@ -22,12 +22,19 @@
import java.io.File;
import java.io.IOException;
import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
+import java.io.StringReader;
+import java.util.*;
import org.apache.maven.MavenTools;
+import org.apache.maven.profiles.activation.ProfileActivationContext;
+import org.apache.maven.mercury.PomProcessor;
+import org.apache.maven.mercury.PomProcessorException;
+import org.apache.maven.mercury.MavenDomainModel;
+import org.apache.maven.mercury.MavenDomainModelFactory;
+import org.apache.maven.mercury.builder.api.MetadataReader;
+import org.apache.maven.mercury.builder.api.MetadataReaderException;
+import org.apache.maven.mercury.builder.api.DependencyProcessorException;
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.InvalidRepositoryException;
import org.apache.maven.artifact.factory.ArtifactFactory;
@@ -37,7 +44,11 @@
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.MavenProjectBuilder;
import org.apache.maven.project.builder.*;
+import org.apache.maven.project.builder.ProjectUri;
+import org.apache.maven.project.builder.profile.ProfileContext;
+import org.apache.maven.project.builder.profile.ProfileUri;
import org.apache.maven.shared.model.*;
import org.apache.maven.shared.model.impl.DefaultModelDataSource;
import org.codehaus.plexus.component.annotations.Component;
@@ -46,39 +57,121 @@
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.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, LogEnabled
+ implements ProjectBuilder, Mixer, PomProcessor, LogEnabled
{
@Requirement
private ArtifactFactory artifactFactory;
@Requirement
private MavenTools mavenTools;
-
+
@Requirement(role = ModelEventListener.class)
List<ModelEventListener> listeners;
private Logger logger;
+ public List<ModelProperty> getRawPom(ArtifactBasicMetadata bmd, MetadataReader mdReader, Map system, Map user)
+ throws MetadataReaderException, PomProcessorException {
+ if ( bmd == null )
+ {
+ throw new IllegalArgumentException( "bmd: null" );
+ }
+
+ if ( mdReader == null )
+ {
+ throw new IllegalArgumentException( "mdReader: null" );
+ }
+
+ List<InterpolatorProperty> interpolatorProperties = new ArrayList<InterpolatorProperty>();
+ interpolatorProperties.add( new InterpolatorProperty( "${mavenVersion}", "3.0-SNAPSHOT",
+ PomInterpolatorTag.EXECUTION_PROPERTIES.name() ) );
+
+ if ( system != null )
+ {
+ interpolatorProperties.addAll(
+ InterpolatorProperty.toInterpolatorProperties( system, PomInterpolatorTag.EXECUTION_PROPERTIES.name() ) );
+ }
+ if ( user != null )
+ {
+ interpolatorProperties.addAll(
+ InterpolatorProperty.toInterpolatorProperties( user, PomInterpolatorTag.USER_PROPERTIES.name() ) );
+ }
+
+ List<DomainModel> domainModels = new ArrayList<DomainModel>();
+ try
+ {
+ // MavenDomainModel superPom =
+ // new MavenDomainModel(MavenDependencyProcessor.class.getResourceAsStream( "pom-4.0.0.xml" ));
+ // domainModels.add(superPom);
+
+ byte[] superBytes = mdReader.readMetadata( bmd );
+
+ if ( superBytes == null || superBytes.length < 1 )
+ throw new PomProcessorException( "cannot read metadata for " + bmd.getGAV() );
+
+ MavenDomainModel domainModel = new MavenDomainModel( superBytes );
+ domainModels.add( domainModel );
+
+ Collection<ModelContainer> activeProfiles = domainModel.getActiveProfileContainers( interpolatorProperties );
+
+ for ( ModelContainer mc : activeProfiles )
+ {
+ domainModels.add( new MavenDomainModel( transformProfiles( mc.getProperties() ) ) );
+ }
+
+ List<DomainModel> parentModels = getParentsOfDomainModel( domainModel, mdReader );
+
+ if( parentModels == null )
+ throw new PomProcessorException( "cannot read parent for " + bmd.getGAV() );
+
+ domainModels.addAll( parentModels );
+ }
+ catch ( IOException e )
+ {
+ throw new MetadataReaderException( "Failed to create domain model. Message = " + e.getMessage() );
+ }
+
+ PomTransformer transformer = new PomTransformer( new MavenDomainModelFactory() );
+ ModelTransformerContext ctx =
+ new ModelTransformerContext( PomTransformer.MODEL_CONTAINER_INFOS );
+
+ try
+ {
+ MavenDomainModel model =
+ ( (MavenDomainModel) ctx.transform( domainModels, transformer, transformer, null,
+ interpolatorProperties, null ) );
+ return model.getModelProperties();
+ }
+ catch ( IOException e )
+ {
+ throw new MetadataReaderException( "Unable to transform model" );
+ }
+ }
+
public PomClassicDomainModel buildModel( File pom,
Collection<InterpolatorProperty> interpolatorProperties,
PomArtifactResolver resolver )
throws IOException
{
- return buildModel( pom, null, interpolatorProperties, resolver );
+ return buildModel( pom, null, interpolatorProperties, null, resolver );
}
- public PomClassicDomainModel buildModel( File pom,
+ private PomClassicDomainModel buildModel( File pom,
List<Model> mixins,
Collection<InterpolatorProperty> interpolatorProperties,
+ Collection<String> activeProfileIds,
PomArtifactResolver resolver )
throws IOException
{
@@ -103,6 +196,11 @@
Collections.reverse( mixins );
}
+ if(activeProfileIds == null)
+ {
+ activeProfileIds = new ArrayList<String>();
+ }
+
List<InterpolatorProperty> properties;
if ( interpolatorProperties == null )
{
@@ -116,6 +214,11 @@
PomClassicDomainModel domainModel = new PomClassicDomainModel( pom );
domainModel.setProjectDirectory( pom.getParentFile() );
+ 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 );
@@ -126,11 +229,11 @@
List<DomainModel> mavenParents;
if ( isParentLocal( domainModel.getModel().getParent(), pom.getParentFile() ) )
{
- mavenParents = getDomainModelParentsFromLocalPath( domainModel, resolver, pom.getParentFile() );
+ mavenParents = getDomainModelParentsFromLocalPath( domainModel, resolver, pom.getParentFile(), properties, activeProfileIds );
}
else
{
- mavenParents = getDomainModelParentsFromRepository( domainModel, resolver );
+ mavenParents = getDomainModelParentsFromRepository( domainModel, resolver, properties, activeProfileIds );
}
if ( mavenParents.size() > 0 )
@@ -170,12 +273,21 @@
List<Model> mixins,
Collection<InterpolatorProperty> interpolatorProperties,
PomArtifactResolver resolver,
- ProjectBuilderConfiguration projectBuilderConfiguration )
+ ProjectBuilderConfiguration projectBuilderConfiguration,
+ MavenProjectBuilder mavenProjectBuilder)
throws IOException
{
+
+ List<String> profileIds = (projectBuilderConfiguration != null &&
+ projectBuilderConfiguration.getGlobalProfileManager() != null &&
+ projectBuilderConfiguration.getGlobalProfileManager().getProfileActivationContext() != null) ?
+ projectBuilderConfiguration.getGlobalProfileManager().getProfileActivationContext().getExplicitlyActiveProfileIds() : new ArrayList<String>();
+
+
PomClassicDomainModel domainModel = buildModel( pom,
mixins,
- interpolatorProperties,
+ interpolatorProperties,
+ profileIds,
resolver );
try
@@ -183,7 +295,7 @@
MavenProject mavenProject = new MavenProject( domainModel.getModel(),
artifactFactory,
mavenTools,
- null,
+ mavenProjectBuilder,
projectBuilderConfiguration );
mavenProject.setParentFile( domainModel.getParentFile() );
@@ -223,7 +335,9 @@
}
private List<DomainModel> getDomainModelParentsFromRepository( PomClassicDomainModel domainModel,
- PomArtifactResolver artifactResolver )
+ PomArtifactResolver artifactResolver,
+ List<InterpolatorProperty> properties,
+ Collection<String> activeProfileIds)
throws IOException
{
List<DomainModel> domainModels = new ArrayList<DomainModel>();
@@ -249,7 +363,29 @@
}
domainModels.add( parentDomainModel );
- domainModels.addAll( getDomainModelParentsFromRepository( parentDomainModel, artifactResolver ) );
+
+ ProfileContext profileContext = new ProfileContext(new DefaultModelDataSource(parentDomainModel.getModelProperties(),
+ PomTransformer.MODEL_CONTAINER_FACTORIES), activeProfileIds, properties);
+ Collection<ModelContainer> profileContainers = profileContext.getActiveProfiles();
+
+ 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));
+ }
+
+ domainModels.addAll( getDomainModelParentsFromRepository( parentDomainModel, artifactResolver, properties, activeProfileIds ) );
return domainModels;
}
@@ -264,7 +400,9 @@
*/
private List<DomainModel> getDomainModelParentsFromLocalPath( PomClassicDomainModel domainModel,
PomArtifactResolver artifactResolver,
- File projectDirectory )
+ File projectDirectory,
+ List<InterpolatorProperty> properties,
+ Collection<String> activeProfileIds)
throws IOException
{
List<DomainModel> domainModels = new ArrayList<DomainModel>();
@@ -291,6 +429,25 @@
PomClassicDomainModel parentDomainModel = new PomClassicDomainModel( parentFile );
parentDomainModel.setProjectDirectory( parentFile.getParentFile() );
+ ProfileContext profileContext = new ProfileContext(new DefaultModelDataSource(parentDomainModel.getModelProperties(),
+ PomTransformer.MODEL_CONTAINER_FACTORIES), activeProfileIds, properties);
+ Collection<ModelContainer> profileContainers = profileContext.getActiveProfiles();
+
+ 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));
+ }
if ( !parentDomainModel.matchesParent( domainModel.getModel().getParent() ) )
{
@@ -298,7 +455,7 @@
+ parentDomainModel.getId() + ", Child ID = " + domainModel.getId() + ", Expected Parent ID = "
+ domainModel.getModel().getParent().getId() );
- List<DomainModel> parentDomainModels = getDomainModelParentsFromRepository( domainModel, artifactResolver );
+ List<DomainModel> parentDomainModels = getDomainModelParentsFromRepository( domainModel, artifactResolver, properties, activeProfileIds );
if(parentDomainModels.size() == 0)
{
@@ -316,11 +473,11 @@
if ( isParentLocal( parentDomainModel.getModel().getParent(), parentFile.getParentFile() ) )
{
domainModels.addAll( getDomainModelParentsFromLocalPath( parentDomainModel, artifactResolver,
- parentFile.getParentFile() ) );
+ parentFile.getParentFile(), properties, activeProfileIds ) );
}
else
{
- domainModels.addAll( getDomainModelParentsFromRepository( parentDomainModel, artifactResolver ) );
+ domainModels.addAll( getDomainModelParentsFromRepository( parentDomainModel, artifactResolver, properties, activeProfileIds ) );
}
}
@@ -385,13 +542,36 @@
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<ModelProperty> mps = mixPluginAndReturnConfigAsProperties(plugin, model);
+ return !mps.isEmpty() ?
+ new XmlPlexusConfiguration(ModelMarshaller.unmarshalModelPropertiesToXml(mps, ProjectUri.Build.Plugins.Plugin.xUri)) : null;
+ }
+
+ public Object mixPluginAndReturnConfigAsDom(Plugin plugin, Model model) throws IOException, XmlPullParserException
+ {
+ List<ModelProperty> mps = mixPluginAndReturnConfigAsProperties(plugin, model);
+ 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, Model model) throws IOException
+ {
List<DomainModel> domainModels = new ArrayList<DomainModel>();
domainModels.add( new PluginMixin(plugin) );
domainModels.add( new PomClassicDomainModel(model) );
@@ -420,12 +600,12 @@
config.add(mp);
}
}
- return new XmlPlexusConfiguration(ModelMarshaller.unmarshalModelPropertiesToXml(config, ProjectUri.Build.Plugins.Plugin.xUri));
+ return config;
}
}
- return null;
- }
+ return new ArrayList<ModelProperty>();
+ }
private static boolean matchesIdOfPlugin(ModelContainer mc, Plugin plugin)
{
@@ -446,4 +626,39 @@
}
return "";
}
+
+ private static List<DomainModel> getParentsOfDomainModel( MavenDomainModel domainModel, MetadataReader mdReader )
+ throws IOException, MetadataReaderException, PomProcessorException
+ {
+ List<DomainModel> domainModels = new ArrayList<DomainModel>();
+ if ( domainModel.hasParent() )
+ {
+ byte[] b = mdReader.readMetadata( domainModel.getParentMetadata() );
+
+ if ( b == null || b.length < 1 )
+ throw new PomProcessorException( "cannot read metadata for " + domainModel.getParentMetadata() );
+
+ MavenDomainModel parentDomainModel =
+ new MavenDomainModel( b );
+ domainModels.add( parentDomainModel );
+ domainModels.addAll( getParentsOfDomainModel( parentDomainModel, mdReader ) );
+ }
+ return domainModels;
+ }
+
+ private static List<ModelProperty> transformProfiles( List<ModelProperty> modelProperties )
+ {
+ List<ModelProperty> properties = new ArrayList<ModelProperty>();
+ for ( ModelProperty mp : modelProperties )
+ {
+ if ( mp.getUri().startsWith( ProjectUri.Profiles.Profile.xUri )
+ && !mp.getUri().equals( ProjectUri.Profiles.Profile.id )
+ && !mp.getUri().startsWith( ProjectUri.Profiles.Profile.Activation.xUri ) )
+ {
+ properties.add( new ModelProperty( mp.getUri().replace( ProjectUri.Profiles.Profile.xUri,
+ ProjectUri.xUri ), mp.getResolvedValue() ) );
+ }
+ }
+ return properties;
+ }
}
Propchange: maven/components/branches/MNG-3932/maven-project/src/main/mdo/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 7 01:50:20 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
+/maven/components/trunk/maven-project/src/main/mdo:739772-740199,740316-741812
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=741813&r1=741812&r2=741813&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 Sat Feb 7 01:50:20 2009
@@ -25,13 +25,23 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Arrays;
import org.apache.maven.MavenTools;
+import org.apache.maven.profiles.DefaultProfileManager;
+import org.apache.maven.profiles.activation.DefaultProfileActivationContext;
+import org.apache.maven.profiles.activation.ProfileActivationContext;
+import org.apache.maven.shared.model.InterpolatorProperty;
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.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.configuration.PlexusConfiguration;
import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
@@ -49,6 +59,8 @@
private ProjectBuilder projectBuilder;
+ private MavenProjectBuilder mavenProjectBuilder;
+
private Mixer mixer;
private MavenTools mavenTools;
@@ -64,6 +76,7 @@
{
testDirectory = new File( getBasedir(), BASE_POM_DIR );
testMixinDirectory = new File( getBasedir(), BASE_MIXIN_DIR );
+ mavenProjectBuilder = lookup( MavenProjectBuilder.class );
projectBuilder = lookup( ProjectBuilder.class );
mixer = (Mixer) projectBuilder;
mavenTools = lookup( MavenTools.class );
@@ -79,6 +92,22 @@
};
}
+ /*MNG-3995*/
+ public void testExecutionConfigurationJoin()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "execution-configuration-join" );
+ assertEquals( 2, ( (List<?>) pom.getValue( "build/plugins[1]/executions[1]/configuration[1]/fileset[1]" ) ).size() );
+ }
+
+ /*MNG-3803*/
+ public void testPluginConfigProperties()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "plugin-config-properties" );
+ assertEquals( "my.property", pom.getValue( "build/plugins[1]/configuration[1]/systemProperties[1]/property[1]/name" ) );
+ }
+
public void testPluginMergeSimple()
throws Exception
{
@@ -128,6 +157,15 @@
}
+ /*MNG- 4008*/
+ public void testMultipleFilters()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "multiple-filters" );
+ assertEquals( 4, ( (List<?>) pom.getValue( "build/filters" ) ).size() );
+
+ }
+
/*MNG-4005 - not implemented
public void testDependenciesDifferentVersions()
throws Exception
@@ -136,6 +174,31 @@
}
*/
+ /*MNG-3803*/
+ public void testDependenciesWithDifferentVersions()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "dependencies-with-different-versions" );
+ assertEquals( 1, ( (List<?>) pom.getValue( "dependencies" ) ).size() );
+ }
+
+ /* MNG-3567*/
+ public void testParentInterpolation()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPomFromMavenProject( "parent-interpolation/sub" );
+ pom = new PomTestWrapper(pom.getMavenProject().getParent());
+ assertEquals( "1.3.0-SNAPSHOT", pom.getValue( "build/plugins[1]/version" ) );
+ }
+
+
+ /* MNG-3567*/
+ public void testPluginManagementInherited()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPom( "pluginmanagement-inherited/sub" );
+ assertEquals( "1.0-alpha-21", pom.getValue( "build/plugins[1]/version" ) );
+ }
public void testPluginOrder()
throws Exception
@@ -722,11 +785,12 @@
assertPathWithNormalizedFileSeparators( pom.getValue( "reporting/outputDirectory" ) );
}
- /* FIXME: cf. MNG-4008
+ /* MNG-4008 */
public void testMergedFilterOrder()
throws Exception
{
PomTestWrapper pom = buildPom( "merged-filter-order/sub" );
+
System.out.println(pom.getValue( "build/filters" ));
assertEquals( 7, ( (List<?>) pom.getValue( "build/filters" ) ).size() );
assertTrue( pom.getValue( "build/filters[1]" ).toString().endsWith( "child-a.properties" ) );
@@ -737,7 +801,7 @@
assertTrue( pom.getValue( "build/filters[6]" ).toString().endsWith( "parent-b.properties" ) );
assertTrue( pom.getValue( "build/filters[7]" ).toString().endsWith( "parent-d.properties" ) );
}
- //*/
+
private void assertPathWithNormalizedFileSeparators( Object value )
{
@@ -760,6 +824,23 @@
return new PomTestWrapper( pomFile, projectBuilder.buildModel( pomFile, null, pomArtifactResolver ) );
}
+ private PomTestWrapper buildPomFromMavenProject( String pomPath )
+ throws IOException
+ {
+ File pomFile = new File( testDirectory , pomPath );
+ if ( pomFile.isDirectory() )
+ {
+ pomFile = new File( pomFile, "pom.xml" );
+ }
+ ProjectBuilderConfiguration config = new DefaultProjectBuilderConfiguration();
+ config.setLocalRepository(new DefaultArtifactRepository("default", "", new DefaultRepositoryLayout()));
+ ProfileActivationContext pCtx = new DefaultProfileActivationContext(null, true);
+ pCtx.setExplicitlyActiveProfileIds(Arrays.asList("release"));
+ config.setGlobalProfileManager(new DefaultProfileManager(this.getContainer(), pCtx));
+ return new PomTestWrapper( pomFile, projectBuilder.buildFromLocalPath( pomFile, null, null, pomArtifactResolver,
+ config, mavenProjectBuilder ) );
+ }
+
private Model buildMixin( String mixinPath )
throws IOException, XmlPullParserException
{
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=741813&r1=741812&r2=741813&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 Sat Feb 7 01:50:20 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.MavenProject;
import org.apache.maven.shared.model.ModelProperty;
public class PomTestWrapper
@@ -41,6 +42,8 @@
private JXPathContext context;
+ private MavenProject mavenProject;
+
static
{
JXPathContextReferenceImpl.addNodePointerFactory( new Xpp3DomPointerFactory() );
@@ -64,6 +67,29 @@
context = JXPathContext.newContext( domainModel.getModel() );
}
+ public PomTestWrapper( File pomFile, MavenProject mavenProject )
+ throws IOException
+ {
+ if ( mavenProject == null )
+ {
+ throw new IllegalArgumentException( "mavenProject: null" );
+ }
+ this.mavenProject = mavenProject;
+ this.pomFile = pomFile;
+ context = JXPathContext.newContext( mavenProject.getModel() );
+ }
+
+ public PomTestWrapper( MavenProject mavenProject )
+ throws IOException
+ {
+ if ( mavenProject == null )
+ {
+ throw new IllegalArgumentException( "mavenProject: null" );
+ }
+ this.mavenProject = mavenProject;
+ context = JXPathContext.newContext( mavenProject.getModel() );
+ }
+
public PomTestWrapper( File file )
throws IOException
{
@@ -88,6 +114,11 @@
context = JXPathContext.newContext( domainModel.getModel() );
}
+ public MavenProject getMavenProject()
+ {
+ return mavenProject;
+ }
+
public PomClassicDomainModel getDomainModel()
{
return this.domainModel;
Modified: maven/components/branches/MNG-3932/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/pom.xml?rev=741813&r1=741812&r2=741813&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/pom.xml (original)
+++ maven/components/branches/MNG-3932/pom.xml Sat Feb 7 01:50:20 2009
@@ -59,6 +59,7 @@
<mercuryMp3Version>1.0-alpha-1</mercuryMp3Version>
<woodstoxVersion>3.2.6</woodstoxVersion>
<modelloVersion>1.0-alpha-22</modelloVersion>
+ <jxpathVersion>1.3</jxpathVersion>
</properties>
<issueManagement>
<system>jira</system>
@@ -250,6 +251,11 @@
<!--start-->
<dependency>
<groupId>org.apache.maven</groupId>
+ <artifactId>maven-mercury</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
<artifactId>maven-lifecycle</artifactId>
<version>${project.version}</version>
</dependency>
@@ -400,6 +406,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>commons-jxpath</groupId>
+ <artifactId>commons-jxpath</artifactId>
+ <version>${jxpathVersion}</version>
+ </dependency>
<!-- Mercury -->
<dependency>
@@ -412,11 +423,11 @@
<artifactId>mercury-external</artifactId>
<version>${mercuryVersion}</version>
</dependency>
- <dependency>
- <groupId>org.sonatype.mercury</groupId>
- <artifactId>mercury-mp3-cli</artifactId>
+ <dependency>
+ <groupId>org.sonatype.mercury</groupId>
+ <artifactId>mercury-mp3-cli</artifactId>
<version>${mercuryMp3Version}</version>
- </dependency>
+ </dependency>
<!-- Mercury test dependencies -->
<dependency>