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/10/10 00:28:03 UTC

svn commit: r583314 - in /maven/components/trunk: maven-core/src/main/java/org/apache/maven/DefaultMaven.java maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java

Author: jdcasey
Date: Tue Oct  9 15:28:02 2007
New Revision: 583314

URL: http://svn.apache.org/viewvc?rev=583314&view=rev
Log:
[MNG-3194] Fixing logging problems, but error diagnosis is still missing from CLI version of things...this should probably be replaced and/or restored. I'll commit unit tests for 3194 next.

Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=583314&r1=583313&r2=583314&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Tue Oct  9 15:28:02 2007
@@ -35,6 +35,7 @@
 import org.apache.maven.execution.SessionContext;
 import org.apache.maven.extension.BuildExtensionScanner;
 import org.apache.maven.extension.ExtensionScanningException;
+import org.apache.maven.lifecycle.LifecycleExecutionException;
 import org.apache.maven.lifecycle.LifecycleExecutor;
 import org.apache.maven.lifecycle.TaskValidationResult;
 import org.apache.maven.monitor.event.DefaultEventDispatcher;
@@ -47,7 +48,6 @@
 import org.apache.maven.project.MavenProjectBuilder;
 import org.apache.maven.project.ProjectBuildingException;
 import org.apache.maven.reactor.MavenExecutionException;
-import org.apache.maven.settings.Settings;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.context.Context;
@@ -221,13 +221,14 @@
                 reactorManager,
                 dispatcher );
         }
-        catch ( Exception e )
+        catch ( LifecycleExecutionException e )
         {
-            result.addException(
-                new BuildFailureException(
-                    e.getMessage(),
-                    e ) );
-
+            result.addException( e );
+            return result;
+        }
+        catch ( BuildFailureException e )
+        {
+            result.addException( e );
             return result;
         }
 
@@ -334,7 +335,7 @@
                 project.setExecutionRoot( true );
             }
 
-            if ( project.getPrerequisites() != null && project.getPrerequisites().getMaven() != null )
+            if ( ( project.getPrerequisites() != null ) && ( project.getPrerequisites().getMaven() != null ) )
             {
                 DefaultArtifactVersion version = new DefaultArtifactVersion( project.getPrerequisites().getMaven() );
 
@@ -346,7 +347,7 @@
                 }
             }
 
-            if ( project.getModules() != null && !project.getModules().isEmpty() && recursive )
+            if ( ( project.getModules() != null ) && !project.getModules().isEmpty() && recursive )
             {
                 // TODO: Really should fail if it was not? What if it is aggregating - eg "ear"?
                 project.setPackaging( "pom" );

Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java?rev=583314&r1=583313&r2=583314&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java Tue Oct  9 15:28:02 2007
@@ -21,6 +21,7 @@
 
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.ParseException;
+import org.apache.maven.BuildFailureException;
 import org.apache.maven.MavenTransferListener;
 import org.apache.maven.embedder.Configuration;
 import org.apache.maven.embedder.ConfigurationValidationResult;
@@ -35,6 +36,7 @@
 import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenExecutionResult;
 import org.apache.maven.execution.ReactorManager;
+import org.apache.maven.plugin.AbstractMojoExecutionException;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.classworlds.ClassWorld;
 
@@ -544,7 +546,7 @@
 
         logReactorSummary( reactorManager );
 
-        if ( reactorManager != null && reactorManager.hasBuildFailures() )
+        if ( ( reactorManager != null ) && reactorManager.hasBuildFailures() )
         {
             logErrors(
                 reactorManager,
@@ -572,7 +574,14 @@
             {
                 Exception e = (Exception) i.next();
 
-                showError( e.getMessage(), e, request.isShowErrors() );
+                if ( e instanceof BuildFailureException )
+                {
+                    showFailure( e, request.isShowErrors() );
+                }
+                else
+                {
+                    showError( e.getMessage(), e, request.isShowErrors() );
+                }
             }
         }
         else
@@ -617,6 +626,40 @@
         }
     }
 
+    private static void showFailure( Exception e,
+                                   boolean show )
+    {
+        String message = e.getMessage();
+        Throwable cause = e.getCause();
+        if ( ( cause != null ) && ( cause instanceof AbstractMojoExecutionException ) )
+        {
+            message = ((AbstractMojoExecutionException)cause).getLongMessage();
+            if ( message == null )
+            {
+                message = cause.getMessage();
+            }
+        }
+        else
+        {
+            cause = e;
+        }
+
+        System.err.println();
+        System.err.println( message );
+        System.err.println();
+
+        if ( show )
+        {
+            System.err.println( "Error stacktrace:" );
+
+            cause.printStackTrace();
+        }
+        else
+        {
+            System.err.println( "For more information, run with the -e flag" );
+        }
+    }
+
     private static void showError( String message,
                                    Exception e,
                                    boolean show )
@@ -639,7 +682,7 @@
 
     private void logReactorSummary( ReactorManager rm )
     {
-        if ( rm != null && rm.hasMultipleProjects() && rm.executedMultipleProjects() )
+        if ( ( rm != null ) && rm.hasMultipleProjects() && rm.executedMultipleProjects() )
         {
             getLogger().info( "" );
             getLogger().info( "" );