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/05/27 01:37:36 UTC

svn commit: r541950 - /maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/plan/DefaultBuildPlanner.java

Author: jdcasey
Date: Sat May 26 16:37:35 2007
New Revision: 541950

URL: http://svn.apache.org/viewvc?view=rev&rev=541950
Log:
Fixed forking from reports.

Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/plan/DefaultBuildPlanner.java

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=541950&r1=541949&r2=541950
==============================================================================
--- 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 Sat May 26 16:37:35 2007
@@ -55,6 +55,7 @@
 
         BuildPlan plan = new BuildPlan( packagingBindings, projectBindings, defaultBindings, tasks );
 
+        // initialize/resolve any direct-invocation tasks, if possible.
         initializeDirectInvocations( plan, project );
 
         // Inject forked lifecycles as plan modifiers for each mojo that has @execute in it.
@@ -108,28 +109,7 @@
     private void findForkModifiers( final MojoBinding mojoBinding, final BuildPlan plan, final MavenProject project )
         throws LifecyclePlannerException, LifecycleSpecificationException, LifecycleLoaderException
     {
-        PluginDescriptor pluginDescriptor = null;
-        try
-        {
-            pluginDescriptor = pluginLoader.loadPlugin( mojoBinding, project );
-        }
-        catch ( PluginLoaderException e )
-        {
-            String message =
-                "Failed to load plugin: " + MojoBindingUtils.createPluginKey( mojoBinding )
-                                + ". Adding to late-bound plugins list.\nReason: " + e.getMessage();
-
-            if ( logger.isDebugEnabled() )
-            {
-                logger.debug( message, e );
-            }
-            else
-            {
-                logger.warn( message );
-            }
-
-            plan.addLateBoundMojo( mojoBinding );
-        }
+        PluginDescriptor pluginDescriptor = loadPluginDescriptor( mojoBinding, plan, project );
 
         if ( pluginDescriptor == null )
         {
@@ -161,28 +141,7 @@
         {
             MojoBinding mojoBinding = (MojoBinding) it.next();
 
-            PluginDescriptor pluginDescriptor = null;
-            try
-            {
-                pluginDescriptor = pluginLoader.loadPlugin( mojoBinding, project );
-            }
-            catch ( PluginLoaderException e )
-            {
-                String message =
-                    "Failed to load plugin: " + MojoBindingUtils.createPluginKey( mojoBinding )
-                                    + ". Adding to late-bound plugins list.\nReason: " + e.getMessage();
-
-                if ( logger.isDebugEnabled() )
-                {
-                    logger.debug( message, e );
-                }
-                else
-                {
-                    logger.warn( message );
-                }
-
-                plan.addLateBoundMojo( mojoBinding );
-            }
+            PluginDescriptor pluginDescriptor = loadPluginDescriptor( mojoBinding, plan, project );
 
             if ( pluginDescriptor == null )
             {
@@ -200,29 +159,57 @@
             {
                 List reportBindings = lifecycleBindingManager.getReportBindings( project );
 
-                for ( Iterator reportBindingIt = reportBindings.iterator(); reportBindingIt.hasNext(); )
+                if ( reportBindings != null )
                 {
-                    MojoBinding reportBinding = (MojoBinding) reportBindingIt.next();
+                    plan.addForkedExecution( mojoBinding, reportBindings );
 
-                    try
+                    for ( Iterator reportBindingIt = reportBindings.iterator(); reportBindingIt.hasNext(); )
                     {
-                        pluginLoader.loadReportPlugin( mojoBinding, project );
-                    }
-                    catch ( PluginLoaderException e )
-                    {
-                        throw new LifecyclePlannerException( "Failed to load report-plugin descriptor for: "
-                                                             + MojoBindingUtils.toString( reportBinding )
-                                                             + ". Reason: " + e.getMessage(), e );
+                        MojoBinding reportBinding = (MojoBinding) reportBindingIt.next();
+
+                        PluginDescriptor pd = loadPluginDescriptor( reportBinding, plan, project );
+
+                        if ( pd != null )
+                        {
+                            findForkModifiers( reportBinding, pluginDescriptor, plan, project );
+                        }
                     }
                 }
 
-                plan.addForkedExecution( mojoBinding, reportBindings );
-
                 // NOTE: the first sighting of a mojo requiring reports should satisfy this condition.
                 // therefore, we can break out as soon as we find one.
                 break;
             }
         }
+    }
+
+    private PluginDescriptor loadPluginDescriptor( final MojoBinding mojoBinding, final BuildPlan plan,
+                                                   final MavenProject project )
+    {
+        PluginDescriptor pluginDescriptor = null;
+        try
+        {
+            pluginDescriptor = pluginLoader.loadPlugin( mojoBinding, project );
+        }
+        catch ( PluginLoaderException e )
+        {
+            String message =
+                "Failed to load plugin: " + MojoBindingUtils.createPluginKey( mojoBinding )
+                                + ". Adding to late-bound plugins list.\nReason: " + e.getMessage();
+
+            if ( logger.isDebugEnabled() )
+            {
+                logger.debug( message, e );
+            }
+            else
+            {
+                logger.warn( message );
+            }
+
+            plan.addLateBoundMojo( mojoBinding );
+        }
+
+        return pluginDescriptor;
     }
 
     /**