You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2007/06/08 18:46:21 UTC
svn commit: r545558 - in /maven/components/trunk:
maven-core/src/main/java/org/apache/maven/lifecycle/binding/
maven-core/src/main/java/org/apache/maven/lifecycle/plan/
maven-lifecycle/src/main/mdo/
Author: jdcasey
Date: Fri Jun 8 09:46:20 2007
New Revision: 545558
URL: http://svn.apache.org/viewvc?view=rev&rev=545558
Log:
Try to assume that a plugin bound in the POM but not resolved during build-plan-building will be resolvable later.
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/plan/BuildPlan.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/plan/DefaultBuildPlanner.java
maven/components/trunk/maven-lifecycle/src/main/mdo/maven-lifecycle.mdo
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java?view=diff&rev=545558&r1=545557&r2=545558
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java Fri Jun 8 09:46:20 2007
@@ -275,20 +275,38 @@
}
catch ( PluginLoaderException e )
{
- throw new LifecycleLoaderException( "Failed to load plugin: " + plugin
- + ". Reason: " + e.getMessage(), e );
+ mojoBinding.setLateBound( true );
+
+ String message = "Failed to load plugin descriptor for: "
+ + plugin
+ + ". Assigning this plugin to be resolved again just prior to its execution. "
+ + "NOTE, This may affect assignment of the mojo: "
+ + mojoBinding.getGoal()
+ + " if its default phase (given in the plugin descriptor) is used.";
+
+ if ( logger.isDebugEnabled() )
+ {
+ logger.debug( message, e );
+ }
+ else
+ {
+ logger.warn( message + " Check debug output (-X) for more information." );
+ }
}
}
- if ( pluginDescriptor.getMojos() == null )
+ if ( pluginDescriptor != null )
{
- logger.error( "Somehow, the PluginDescriptor for plugin: " + plugin.getKey()
- + " contains no mojos. This is highly irregular. Ignoring..." );
- continue;
- }
+ if ( pluginDescriptor.getMojos() == null )
+ {
+ logger.error( "Somehow, the PluginDescriptor for plugin: " + plugin.getKey()
+ + " contains no mojos. This is highly irregular. Ignoring..." );
+ continue;
+ }
- MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( goal );
- phase = mojoDescriptor.getPhase();
+ MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( goal );
+ phase = mojoDescriptor.getPhase();
+ }
if ( phase == null )
{
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/plan/BuildPlan.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/plan/BuildPlan.java?view=diff&rev=545558&r1=545557&r2=545558
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/plan/BuildPlan.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/plan/BuildPlan.java Fri Jun 8 09:46:20 2007
@@ -27,8 +27,6 @@
private final Map forkedPhases;
- private final List lateBoundMojos;
-
private List renderedLifecycleMojos = new ArrayList();
private final Map directInvocationBindings;
@@ -47,17 +45,15 @@
this.tasks = tasks;
forkedDirectInvocations = new HashMap();
forkedPhases = new HashMap();
- lateBoundMojos = new ArrayList();
directInvocationBindings = new HashMap();
}
- private BuildPlan( final LifecycleBindings bindings, final Map forkedDirectInvocations, final Map forkedPhases, final List lateBoundMojos,
+ private BuildPlan( final LifecycleBindings bindings, final Map forkedDirectInvocations, final Map forkedPhases,
final Map directInvocationBindings, final List tasks )
{
this.bindings = LifecycleUtils.cloneBindings( bindings );
this.forkedDirectInvocations = new HashMap( forkedDirectInvocations );
this.forkedPhases = new HashMap( forkedPhases );
- this.lateBoundMojos = new ArrayList( lateBoundMojos );
this.tasks = tasks;
this.directInvocationBindings = new HashMap( directInvocationBindings );
}
@@ -94,11 +90,6 @@
directInvocationBindings.put( key, binding );
}
- public List getLateBoundMojos()
- {
- return lateBoundMojos;
- }
-
public Map getDirectInvocationBindings()
{
return directInvocationBindings;
@@ -136,14 +127,9 @@
invoke.addAll( forkedInvocations );
}
- public void addLateBoundMojo( final MojoBinding mojoBinding )
- {
- lateBoundMojos.add( MojoBindingUtils.createMojoBindingKey( mojoBinding, false ) );
- }
-
public BuildPlan copy( final List newTasks )
{
- return new BuildPlan( bindings, forkedDirectInvocations, forkedPhases, lateBoundMojos, directInvocationBindings, newTasks );
+ return new BuildPlan( bindings, forkedDirectInvocations, forkedPhases, directInvocationBindings, newTasks );
}
public void resetExecutionProgress()
@@ -214,8 +200,7 @@
private void addResolverIfLateBound( final MojoBinding mojoBinding, final List plan )
{
- String key = MojoBindingUtils.createMojoBindingKey( mojoBinding, false );
- if ( lateBoundMojos.contains( key ) )
+ if ( mojoBinding.isLateBound() )
{
MojoBinding resolveBinding = StateManagementUtils.createResolveLateBoundMojoBinding( mojoBinding );
plan.add( resolveBinding );
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/plan/DefaultBuildPlanner.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/plan/DefaultBuildPlanner.java?view=diff&rev=545558&r1=545557&r2=545558
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/plan/DefaultBuildPlanner.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/plan/DefaultBuildPlanner.java Fri Jun 8 09:46:20 2007
@@ -209,7 +209,7 @@
logger.warn( message );
}
- plan.addLateBoundMojo( mojoBinding );
+ mojoBinding.setLateBound( true );
}
return pluginDescriptor;
Modified: maven/components/trunk/maven-lifecycle/src/main/mdo/maven-lifecycle.mdo
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-lifecycle/src/main/mdo/maven-lifecycle.mdo?view=diff&rev=545558&r1=545557&r2=545558
==============================================================================
--- maven/components/trunk/maven-lifecycle/src/main/mdo/maven-lifecycle.mdo (original)
+++ maven/components/trunk/maven-lifecycle/src/main/mdo/maven-lifecycle.mdo Fri Jun 8 09:46:20 2007
@@ -619,20 +619,24 @@
<type>boolean</type>
</field>
</fields>
-<!--
<codeSegments>
<codeSegment>
<version>1.0.0</version>
<code><![CDATA[
-
- public String toString()
+ private boolean lateBound = false;
+
+ public boolean isLateBound()
{
- return getGroupId() + ":" + getArtifactId() + ":" + getVersion() + ":" + getGoal() + ":" + getExecutionId();
+ return lateBound;
+ }
+
+ public void setLateBound( boolean lateBound )
+ {
+ this.lateBound = lateBound;
}
]]></code>
</codeSegment>
</codeSegments>
- -->
</class>
</classes>
</model>