Author: jdcasey
Date: Thu Nov  8 12:33:27 2007
New Revision: 593294

URL: http://svn.apache.org/viewvc?rev=593294&view=rev
Log:
Working on cleaning up exceptions and reporting (these changes are from before 
the break I took to work on memory profiling in maven and plexus).

Added:
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java
   (with props)
Modified:
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManagerException.java
    
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java
    
maven/components/trunk/maven-lifecycle/src/main/java/org/apache/maven/lifecycle/LifecycleException.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=593294&r1=593293&r2=593294&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
 Thu Nov  8 12:33:27 2007
@@ -36,7 +36,6 @@
 import org.apache.maven.monitor.event.EventDispatcher;
 import org.apache.maven.monitor.event.MavenEvents;
 import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.PluginConfigurationException;
 import org.apache.maven.plugin.PluginManager;
@@ -533,13 +532,6 @@
                         e );
                 }
                 catch ( ArtifactResolutionException e )
-                {
-                    throw new LifecycleExecutionException(
-                        e.getMessage(),
-                        project,
-                        e );
-                }
-                catch ( MojoExecutionException e )
                 {
                     throw new LifecycleExecutionException(
                         e.getMessage(),

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java?rev=593294&r1=593293&r2=593294&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionException.java
 Thu Nov  8 12:33:27 2007
@@ -4,7 +4,6 @@
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import 
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.plugin.InvalidPluginException;
-import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.PluginConfigurationException;
 import org.apache.maven.plugin.PluginManagerException;
 import org.apache.maven.plugin.PluginNotFoundException;
@@ -13,7 +12,6 @@
 import org.apache.maven.plugin.version.PluginVersionResolutionException;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.artifact.InvalidDependencyVersionException;
-import org.codehaus.plexus.PlexusContainerException;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -120,13 +118,6 @@
     }
 
     public LifecycleExecutionException( String message, MavenProject project,
-                                        MojoExecutionException cause )
-    {
-        super( message, cause );
-        this.project = project;
-    }
-
-    public LifecycleExecutionException( String message, MavenProject project,
                                         PluginConfigurationException cause )
     {
         super( message, cause );
@@ -135,14 +126,6 @@
 
     public LifecycleExecutionException( String message, MavenProject project,
                                         PluginVersionNotFoundException cause )
-    {
-        super( message, cause );
-        this.project = project;
-    }
-
-    public LifecycleExecutionException( String message,
-                                        MavenProject project,
-                                        PlexusContainerException cause )
     {
         super( message, cause );
         this.project = project;

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=593294&r1=593293&r2=593294&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
 Thu Nov  8 12:33:27 2007
@@ -485,7 +485,7 @@
     public void executeMojo( MavenProject project,
                              MojoExecution mojoExecution,
                              MavenSession session )
-        throws ArtifactResolutionException, MojoExecutionException, 
MojoFailureException,
+        throws ArtifactResolutionException, MojoFailureException,
         ArtifactNotFoundException, InvalidDependencyVersionException, 
PluginManagerException,
         PluginConfigurationException
     {
@@ -495,7 +495,7 @@
         // anything that wants to execute a mojo.
         if ( mojoDescriptor.isProjectRequired() && 
!session.isUsingPOMsFromFilesystem() )
         {
-            throw new MojoExecutionException(
+            throw new PluginExecutionException( mojoExecution, project,
                                               "Cannot execute mojo: "
                                                               + 
mojoDescriptor.getGoal()
                                                               + ". It requires 
a project with an existing pom.xml, but the build is not using one." );
@@ -504,7 +504,7 @@
         if ( mojoDescriptor.isOnlineRequired() && 
session.getSettings().isOffline() )
         {
             // TODO: Should we error out, or simply warn and skip??
-            throw new MojoExecutionException(
+            throw new PluginExecutionException( mojoExecution, project,
                                               "Mojo: "
                                                               + 
mojoDescriptor.getGoal()
                                                               + " requires 
online mode for execution. Maven is currently offline." );
@@ -537,7 +537,7 @@
 
         String goalName = mojoDescriptor.getFullGoalName();
 
-        Mojo mojo;
+        Mojo mojo = null;
 
         PluginDescriptor pluginDescriptor = 
mojoDescriptor.getPluginDescriptor();
 
@@ -597,7 +597,7 @@
         {
             session.getEventDispatcher().dispatchError( event, goalExecId, e );
 
-            throw e;
+            throw new PluginExecutionException( mojoExecution, project, e );
         }
         catch ( MojoFailureException e )
         {
@@ -607,6 +607,18 @@
         }
         finally
         {
+            if ( mojo != null )
+            {
+                try
+                {
+                    container.release( mojo );
+                }
+                catch ( ComponentLifecycleException e )
+                {
+                    getLogger().debug( "Error releasing mojo for: " + 
goalExecId, e );
+                }
+            }
+
             pluginDescriptor.setClassRealm( null );
             pluginDescriptor.setArtifacts( null );
 
@@ -686,8 +698,7 @@
                                     MavenProject project,
                                     boolean report,
                                     MojoExecution mojoExecution )
-        throws PluginConfigurationException, ArtifactNotFoundException, 
PluginManagerException,
-        ArtifactResolutionException
+        throws PluginConfigurationException, PluginManagerException
     {
         MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
 

Added: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java?rev=593294&view=auto
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java
 (added)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java
 Thu Nov  8 12:33:27 2007
@@ -0,0 +1,32 @@
+package org.apache.maven.plugin;
+
+import org.apache.maven.project.MavenProject;
+
+public class PluginExecutionException
+    extends PluginManagerException
+{
+
+    private final MojoExecution mojoExecution;
+
+    public PluginExecutionException( MojoExecution mojoExecution,
+                                     MavenProject project,
+                                     String message )
+    {
+        super( mojoExecution.getMojoDescriptor(), project, message );
+        this.mojoExecution = mojoExecution;
+    }
+
+    public PluginExecutionException( MojoExecution mojoExecution,
+                                     MavenProject project,
+                                     MojoExecutionException cause )
+    {
+        super( mojoExecution.getMojoDescriptor(), project, "Mojo execution 
failed.", cause );
+        this.mojoExecution = mojoExecution;
+    }
+
+    public MojoExecution getMojoExecution()
+    {
+        return mojoExecution;
+    }
+
+}

Propchange: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginExecutionException.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java?rev=593294&r1=593293&r2=593294&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java
 Thu Nov  8 12:33:27 2007
@@ -42,7 +42,7 @@
     void executeMojo( MavenProject project,
                       MojoExecution execution,
                       MavenSession session )
-        throws MojoExecutionException, ArtifactResolutionException, 
MojoFailureException, ArtifactNotFoundException,
+        throws ArtifactResolutionException, MojoFailureException, 
ArtifactNotFoundException,
         InvalidDependencyVersionException, PluginManagerException, 
PluginConfigurationException;
 
     MavenReport getReport( MavenProject project,

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManagerException.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManagerException.java?rev=593294&r1=593293&r2=593294&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManagerException.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManagerException.java
 Thu Nov  8 12:33:27 2007
@@ -7,14 +7,10 @@
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.PlexusContainerException;
-import org.codehaus.plexus.classworlds.realm.DuplicateRealmException;
 import org.codehaus.plexus.classworlds.realm.NoSuchRealmException;
-import 
org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 import 
org.codehaus.plexus.component.repository.exception.ComponentRepositoryException;
 import org.codehaus.plexus.configuration.PlexusConfigurationException;
 
-import java.net.MalformedURLException;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -55,9 +51,9 @@
     private MavenProject project;
 
     protected PluginManagerException( Plugin plugin,
-                                   String message,
-                                   MavenProject project,
-                                   PlexusContainerException cause )
+                                      String message,
+                                      MavenProject project,
+                                      Throwable cause )
     {
         super( message, cause );
 
@@ -67,8 +63,9 @@
         pluginVersion = plugin.getVersion();
     }
 
-    protected PluginManagerException( Plugin plugin, String message,
-                                   NoSuchRealmException cause )
+    protected PluginManagerException( Plugin plugin,
+                                      String message,
+                                      Throwable cause )
     {
         super( message, cause );
 
@@ -78,8 +75,8 @@
     }
 
     protected PluginManagerException( MojoDescriptor mojoDescriptor,
-                                   String message,
-                                   ComponentLookupException cause )
+                                      String message,
+                                      Throwable cause )
     {
         super( message, cause );
         pluginGroupId = mojoDescriptor.getPluginDescriptor().getGroupId();
@@ -88,32 +85,35 @@
         goal = mojoDescriptor.getGoal();
     }
 
-    public PluginManagerException( Plugin plugin,
-                                   InvalidVersionSpecificationException cause )
+    protected PluginManagerException( MojoDescriptor mojoDescriptor,
+                                      MavenProject project,
+                                      String message )
     {
-        super( cause );
-
-        pluginGroupId = plugin.getGroupId();
-        pluginArtifactId = plugin.getArtifactId();
-        pluginVersion = plugin.getVersion();
+        super( message );
+        this.project = project;
+        pluginGroupId = mojoDescriptor.getPluginDescriptor().getGroupId();
+        pluginArtifactId = 
mojoDescriptor.getPluginDescriptor().getArtifactId();
+        pluginVersion = mojoDescriptor.getPluginDescriptor().getVersion();
+        goal = mojoDescriptor.getGoal();
     }
 
-    protected PluginManagerException( Plugin plugin,
-                                   String message,
-                                   DuplicateRealmException cause )
+    protected PluginManagerException( MojoDescriptor mojoDescriptor,
+                                      MavenProject project,
+                                      String message,
+                                      Throwable cause )
     {
         super( message, cause );
-
-        pluginGroupId = plugin.getGroupId();
-        pluginArtifactId = plugin.getArtifactId();
-        pluginVersion = plugin.getVersion();
+        this.project = project;
+        pluginGroupId = mojoDescriptor.getPluginDescriptor().getGroupId();
+        pluginArtifactId = 
mojoDescriptor.getPluginDescriptor().getArtifactId();
+        pluginVersion = mojoDescriptor.getPluginDescriptor().getVersion();
+        goal = mojoDescriptor.getGoal();
     }
 
-    protected PluginManagerException( Plugin plugin,
-                                   String message,
-                                   MalformedURLException cause )
+    public PluginManagerException( Plugin plugin,
+                                   InvalidVersionSpecificationException cause )
     {
-        super( message, cause );
+        super( cause );
 
         pluginGroupId = plugin.getGroupId();
         pluginArtifactId = plugin.getArtifactId();

Modified: 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java?rev=593294&r1=593293&r2=593294&view=diff
==============================================================================
--- 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java
 (original)
+++ 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java
 Thu Nov  8 12:33:27 2007
@@ -19,9 +19,12 @@
 import org.apache.maven.lifecycle.LifecycleExecutionException;
 import org.apache.maven.lifecycle.MojoBindingUtils;
 import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Plugin;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.PluginNotFoundException;
 import org.apache.maven.plugin.loader.PluginLoaderException;
+import org.apache.maven.plugin.version.PluginVersionNotFoundException;
+import org.apache.maven.plugin.version.PluginVersionResolutionException;
 import org.apache.maven.profiles.activation.ProfileActivationException;
 import org.apache.maven.project.DuplicateProjectException;
 import org.apache.maven.project.InvalidProjectModelException;
@@ -407,44 +410,154 @@
         // 
=====================================================================
         //
         // LifecycleExecutionException(String, MavenProject, 
PluginNotFoundException)
+        // LifecycleExecutionException(String, MavenProject, 
InvalidDependencyVersionException)
+        // LifecycleExecutionException(String, MavenProject, 
InvalidVersionSpecificationException)
+        // LifecycleExecutionException(String, MavenProject, 
ArtifactNotFoundException)
+        // LifecycleExecutionException(String, MavenProject, 
ArtifactResolutionException)
+        // LifecycleExecutionException(String, MavenProject, 
PluginVersionNotFoundException)
+        // LifecycleExecutionException(String, MavenProject, 
PluginVersionResolutionException)
         //
         // 
=====================================================================
         // Cases left to cover:
         // 
=====================================================================
         //
-        // LifecycleExecutionException(String, MavenProject, 
ArtifactNotFoundException)
-        // LifecycleExecutionException(String, MavenProject, 
ArtifactResolutionException)
-        // LifecycleExecutionException(String, MavenProject, 
InvalidDependencyVersionException)
         // LifecycleExecutionException(String, MavenProject, 
InvalidPluginException)
-        // LifecycleExecutionException(String, MavenProject, 
InvalidVersionSpecificationException)
         // LifecycleExecutionException(String, MavenProject, 
LifecycleException)
-        // LifecycleExecutionException(String, MavenProject, 
MojoExecutionException)
-        // LifecycleExecutionException(String, MavenProject, 
PlexusContainerException)
         // LifecycleExecutionException(String, MavenProject, 
PluginConfigurationException)
         // LifecycleExecutionException(String, MavenProject, 
PluginLoaderException)
         // LifecycleExecutionException(String, MavenProject, 
PluginManagerException)
-        // LifecycleExecutionException(String, MavenProject, 
PluginVersionNotFoundException)
-        // LifecycleExecutionException(String, MavenProject, 
PluginVersionResolutionException)
+        //    ...this includes PluginExecutionException, which wraps 
MojoExecutionException
+        //    with MojoExecution and MavenProject context info.
+
+        boolean result = false;
 
         Throwable cause = e.getCause();
         if ( cause != null )
         {
             if ( cause instanceof PluginNotFoundException )
             {
-//                Plugin plugin = ( (PluginNotFoundException) cause 
).getPlugin();
-
+                Plugin plugin = ( (PluginNotFoundException) cause 
).getPlugin();
                 ArtifactNotFoundException artifactException = 
(ArtifactNotFoundException) ( (PluginNotFoundException) cause ).getCause();
 
                 writer.write( NEWLINE );
+                writer.write( "Maven cannot find a plugin required by your 
build:" );
+                writer.write( NEWLINE );
+                writer.write( "Group-Id: " );
+                writer.write( plugin.getGroupId() );
+                writer.write( NEWLINE );
+                writer.write( "Artifact-Id: " );
+                writer.write( plugin.getArtifactId() );
+                writer.write( NEWLINE );
+                writer.write( "Version: " );
+                writer.write( plugin.getVersion() );
+                writer.write( NEWLINE );
                 writer.write( NEWLINE );
 
                 handleGenericException( artifactException, showStackTraces, 
writer );
 
-                return true;
+                writer.write( NEWLINE );
+                writer.write( NEWLINE );
+                writer.write( "NOTE: If the above Group-Id or Artifact-Id are 
incorrect," );
+                writer.write( NEWLINE );
+                writer.write( "check that the corresponding <plugin/> section 
in your POM is correct." );
+                writer.write( NEWLINE );
+                writer.write( "If you specified this plugin directly using 
something like 'javadoc:javadoc'," );
+                writer.write( NEWLINE );
+                writer.write( "check that the <pluginGroups/> section in your 
$HOME/.m2/settings.xml contains the" );
+                writer.write( NEWLINE );
+                writer.write( "proper groupId for the plugin you are trying to 
use (each groupId goes in a separate" );
+                writer.write( NEWLINE );
+                writer.write( "<pluginGroup/> element within the 
<pluginGroups/> section." );
+                writer.write( NEWLINE );
+
+                result = true;
+            }
+            else if ( cause instanceof ProjectBuildingException )
+            {
+                result = handleProjectBuildingException( 
(ProjectBuildingException) cause, showStackTraces, writer );
+            }
+            else if ( cause instanceof ArtifactNotFoundException )
+            {
+                writer.write( NEWLINE );
+                writer.write( "One or more project dependency artifacts are 
missing." );
+                writer.write( NEWLINE );
+                writer.write( NEWLINE );
+                writer.write( "Reason: " );
+                writer.write( cause.getMessage() );
+                writer.write( NEWLINE );
+
+                result = true;
+            }
+            else if ( cause instanceof ArtifactNotFoundException )
+            {
+                writer.write( NEWLINE );
+                writer.write( "Maven encountered an error while resolving one 
or more project dependency artifacts." );
+                writer.write( NEWLINE );
+                writer.write( NEWLINE );
+                writer.write( "Reason: " );
+                writer.write( cause.getMessage() );
+                writer.write( NEWLINE );
+
+                result = true;
+            }
+            else if ( cause instanceof PluginVersionNotFoundException )
+            {
+                writer.write( NEWLINE );
+                writer.write( "Cannot find a valid version for plugin: " );
+                writer.write( NEWLINE );
+                writer.write( "Group-Id: " );
+                writer.write( 
((PluginVersionNotFoundException)cause).getGroupId() );
+                writer.write( NEWLINE );
+                writer.write( "Artifact-Id: " );
+                writer.write( 
((PluginVersionNotFoundException)cause).getArtifactId() );
+                writer.write( NEWLINE );
+                writer.write( NEWLINE );
+                writer.write( "Reason: " );
+                writer.write( cause.getMessage() );
+                writer.write( NEWLINE );
+                writer.write( NEWLINE );
+                writer.write( "Please ensure that your proxy information is 
specified correctly in $HOME/.m2/settings.xml." );
+                writer.write( NEWLINE );
+
+                result = true;
+            }
+            else if ( cause instanceof PluginVersionResolutionException )
+            {
+                writer.write( NEWLINE );
+                writer.write( "Maven encountered an error while trying to 
resolve a valid version for plugin: " );
+                writer.write( NEWLINE );
+                writer.write( "Group-Id: " );
+                writer.write( 
((PluginVersionNotFoundException)cause).getGroupId() );
+                writer.write( NEWLINE );
+                writer.write( "Artifact-Id: " );
+                writer.write( 
((PluginVersionNotFoundException)cause).getArtifactId() );
+                writer.write( NEWLINE );
+                writer.write( NEWLINE );
+                writer.write( "Reason: " );
+                writer.write( cause.getMessage() );
+                writer.write( NEWLINE );
+                writer.write( NEWLINE );
+                writer.write( "Please ensure that your proxy information is 
specified correctly in $HOME/.m2/settings.xml." );
+                writer.write( NEWLINE );
+
+                result = true;
             }
         }
 
-        return false;
+        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 )
+        {
+            writer.write( "Project File: " );
+            writer.write( project.getFile().getAbsolutePath() );
+        }
+        writer.write( NEWLINE );
+
+        return result;
     }
 
     private static boolean handleProjectBuildingException( 
ProjectBuildingException e,
@@ -637,7 +750,7 @@
         }
 
         writer.write( NEWLINE );
-        writer.write( "Project Id: " );
+        writer.write( "Failing project's id: " );
         writer.write( e.getProjectId() );
         writer.write( NEWLINE );
         if ( e.getPomFile() == null )

Modified: 
maven/components/trunk/maven-lifecycle/src/main/java/org/apache/maven/lifecycle/LifecycleException.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-lifecycle/src/main/java/org/apache/maven/lifecycle/LifecycleException.java?rev=593294&r1=593293&r2=593294&view=diff
==============================================================================
--- 
maven/components/trunk/maven-lifecycle/src/main/java/org/apache/maven/lifecycle/LifecycleException.java
 (original)
+++ 
maven/components/trunk/maven-lifecycle/src/main/java/org/apache/maven/lifecycle/LifecycleException.java
 Thu Nov  8 12:33:27 2007
@@ -1,15 +1,15 @@
 package org.apache.maven.lifecycle;
 
-public class LifecycleException
+public abstract class LifecycleException
     extends Exception
 {
 
-    public LifecycleException( String message, Throwable cause )
+    protected LifecycleException( String message, Throwable cause )
     {
         super( message, cause );
     }
 
-    public LifecycleException( String message )
+    protected LifecycleException( String message )
     {
         super( message );
     }


Reply via email to