Author: bentmann
Date: Tue Aug 4 11:59:57 2009
New Revision: 800740
URL: http://svn.apache.org/viewvc?rev=800740&view=rev
Log:
o Fixed missing injection of default parameter values for direct goals
invocations
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=800740&r1=800739&r2=800740&view=diff
==============================================================================
---
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
(original)
+++
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
Tue Aug 4 11:59:57 2009
@@ -680,6 +680,8 @@
Plugin plugin = project.getPlugin( g + ":" + a );
+ MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
+
if ( plugin != null && StringUtils.isNotEmpty(
mojoExecution.getExecutionId() ) )
{
for ( PluginExecution e : plugin.getExecutions() )
@@ -688,12 +690,23 @@
{
Xpp3Dom executionConfiguration = (Xpp3Dom)
e.getConfiguration();
- Xpp3Dom mojoConfiguration = extractMojoConfiguration(
executionConfiguration, mojoExecution.getMojoDescriptor() );
+ Xpp3Dom mojoConfiguration = extractMojoConfiguration(
executionConfiguration, mojoDescriptor );
+
+ mojoConfiguration = Xpp3Dom.mergeXpp3Dom(
mojoExecution.getConfiguration(), mojoConfiguration );
+
+ /*
+ * The model only contains the default configuration for
those goals that are present in the plugin
+ * execution. For goals invoked from the CLI or a forked
execution, we need to grab the default
+ * parameter values explicitly.
+ */
+ if ( !e.getGoals().contains( mojoExecution.getGoal() ) )
+ {
+ Xpp3Dom defaultConfiguration = getMojoConfiguration(
mojoDescriptor );
- Xpp3Dom mergedConfiguration =
- Xpp3Dom.mergeXpp3Dom(
mojoExecution.getConfiguration(), mojoConfiguration );
+ mojoConfiguration = Xpp3Dom.mergeXpp3Dom(
mojoConfiguration, defaultConfiguration );
+ }
- mojoExecution.setConfiguration( mergedConfiguration );
+ mojoExecution.setConfiguration( mojoConfiguration );
return;
}
@@ -702,20 +715,20 @@
if ( allowPluginLevelConfig )
{
- Xpp3Dom defaultDom = convert( mojoExecution.getMojoDescriptor() );
+ Xpp3Dom defaultConfiguration = getMojoConfiguration(
mojoDescriptor );
- Xpp3Dom mojoDom = defaultDom;
+ Xpp3Dom mojoConfiguration = defaultConfiguration;
if ( plugin != null && plugin.getConfiguration() != null )
{
- Xpp3Dom projectDom = (Xpp3Dom) plugin.getConfiguration();
- projectDom = extractMojoConfiguration( projectDom,
mojoExecution.getMojoDescriptor() );
- mojoDom = Xpp3Dom.mergeXpp3Dom( projectDom, defaultDom,
Boolean.TRUE );
+ Xpp3Dom pluginConfiguration = (Xpp3Dom)
plugin.getConfiguration();
+ pluginConfiguration = extractMojoConfiguration(
pluginConfiguration, mojoDescriptor );
+ mojoConfiguration = Xpp3Dom.mergeXpp3Dom( pluginConfiguration,
defaultConfiguration, Boolean.TRUE );
}
- mojoDom = Xpp3Dom.mergeXpp3Dom( mojoExecution.getConfiguration(),
mojoDom );
+ mojoConfiguration = Xpp3Dom.mergeXpp3Dom(
mojoExecution.getConfiguration(), mojoConfiguration );
- mojoExecution.setConfiguration( mojoDom );
+ mojoExecution.setConfiguration( mojoConfiguration );
}
}
@@ -1170,7 +1183,7 @@
throw new LifecycleExecutionException( "Error getting default
plugin information: ", e );
}
- return convert( mojoDescriptor );
+ return getMojoConfiguration( mojoDescriptor );
}
public Xpp3Dom getMojoConfiguration( MojoDescriptor mojoDescriptor )