You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2005/10/13 11:51:54 UTC

svn commit: r320704 - in /maven/components/trunk: maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/ maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/ maven-core/src/main/java/org/apache/maven/lifecycle/ maven-...

Author: brett
Date: Thu Oct 13 02:51:36 2005
New Revision: 320704

URL: http://svn.apache.org/viewcvs?rev=320704&view=rev
Log:
PR: MNG-122
cleanup artifact/plugin not found exception

Modified:
    maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/DefaultArchetype.java
    maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
    maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/InstallWagonProviderTask.java
    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/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/PluginNotFoundException.java
    maven/components/trunk/maven-plugins/maven-projecthelp-plugin/src/main/java/org/apache/maven/plugins/projecthelp/DescribeMojo.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java

Modified: maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/DefaultArchetype.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/DefaultArchetype.java?rev=320704&r1=320703&r2=320704&view=diff
==============================================================================
--- maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/DefaultArchetype.java (original)
+++ maven/components/trunk/maven-archetype/maven-archetype-core/src/main/java/org/apache/maven/archetype/DefaultArchetype.java Thu Oct 13 02:51:36 2005
@@ -102,11 +102,11 @@
         }
         catch ( ArtifactResolutionException e )
         {
-            throw new ArchetypeDescriptorException( "Cannot download archetype.", e );
+            throw new ArchetypeDescriptorException( "Error attempting to download archetype: " + e.getMessage(), e );
         }
         catch ( ArtifactNotFoundException e )
         {
-            throw new ArchetypeNotFoundException( "Cannot download archetype.", e );
+            throw new ArchetypeNotFoundException( "Archetype does not exist: " + e.getMessage(), e );
         }
 
         // ---------------------------------------------------------------------

Modified: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java?rev=320704&r1=320703&r2=320704&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java (original)
+++ maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java Thu Oct 13 02:51:36 2005
@@ -166,12 +166,11 @@
         }
         catch ( ArtifactResolutionException e )
         {
-            throw new BuildException( "Unable to resolve artifact", e );
+            throw new BuildException( "Unable to resolve artifact: " + e.getMessage(), e );
         }
         catch ( ArtifactNotFoundException e )
         {
-            // TODO: improve handling
-            throw new BuildException( "Unable to locate artifact", e );
+            throw new BuildException( "Dependency not found: " + e.getMessage(), e );
         }
         catch ( InvalidDependencyVersionException e )
         {

Modified: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/InstallWagonProviderTask.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/InstallWagonProviderTask.java?rev=320704&r1=320703&r2=320704&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/InstallWagonProviderTask.java (original)
+++ maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/InstallWagonProviderTask.java Thu Oct 13 02:51:36 2005
@@ -103,11 +103,12 @@
         }
         catch ( ArtifactResolutionException e )
         {
-            throw new BuildException( "Unable to locate wagon provider in remote repository", e );
+            throw new BuildException( "Error downloading wagon provider from the remote repository: " + e.getMessage(),
+                                      e );
         }
         catch ( ArtifactNotFoundException e )
         {
-            throw new BuildException( "Unable to locate wagon provider in remote repository", e );
+            throw new BuildException( "Unable to locate wagon provider in remote repository: " + e.getMessage(), e );
         }
 
         log( "Installing provider: " + providerArtifact );

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=320704&r1=320703&r2=320704&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 Oct 13 02:51:36 2005
@@ -42,6 +42,7 @@
 import org.apache.maven.plugin.PluginConfigurationException;
 import org.apache.maven.plugin.PluginManager;
 import org.apache.maven.plugin.PluginManagerException;
+import org.apache.maven.plugin.PluginNotFoundException;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
 import org.apache.maven.plugin.lifecycle.Execution;
@@ -168,6 +169,10 @@
         {
             response.setException( e );
         }
+        catch ( PluginNotFoundException e )
+        {
+            response.setException( e );
+        }
         finally
         {
             response.setFinish( new Date() );
@@ -177,7 +182,8 @@
     }
 
     private void findExtensions( MavenSession session )
-        throws ArtifactNotFoundException, ArtifactResolutionException, LifecycleExecutionException
+        throws ArtifactNotFoundException, ArtifactResolutionException, LifecycleExecutionException,
+        PluginNotFoundException
     {
         for ( Iterator i = session.getSortedProjects().iterator(); i.hasNext(); )
         {
@@ -205,7 +211,7 @@
                                       MavenProject rootProject, EventDispatcher dispatcher,
                                       MavenExecutionResponse response )
         throws ArtifactNotFoundException, MojoExecutionException, LifecycleExecutionException, MojoFailureException,
-        ArtifactResolutionException
+        ArtifactResolutionException, PluginNotFoundException
     {
         for ( Iterator it = taskSegments.iterator(); it.hasNext(); )
         {
@@ -341,7 +347,7 @@
                                                MavenExecutionResponse response, EventDispatcher dispatcher,
                                                String event, ReactorManager rm, long buildStartTime, String target )
         throws LifecycleExecutionException, MojoExecutionException, MojoFailureException, ArtifactNotFoundException,
-        ArtifactResolutionException
+        ArtifactResolutionException, PluginNotFoundException
     {
         try
         {
@@ -423,7 +429,8 @@
     }
 
     private List segmentTaskListByAggregationNeeds( List tasks, MavenSession session, MavenProject project )
-        throws LifecycleExecutionException
+        throws LifecycleExecutionException, ArtifactNotFoundException, PluginNotFoundException,
+        ArtifactResolutionException
     {
         List segments = new ArrayList();
 
@@ -454,24 +461,8 @@
                 }
                 else
                 {
-                    MojoDescriptor mojo = null;
-                    try
-                    {
-                        // definitely a CLI goal, can use prefix
-                        mojo = getMojoDescriptor( task, session, project, task, true );
-                    }
-                    catch ( ArtifactResolutionException e )
-                    {
-                        getLogger().info(
-                            "Cannot find mojo descriptor for: \'" + task + "\' - Treating as non-aggregator." );
-                        getLogger().debug( "", e );
-                    }
-                    catch ( ArtifactNotFoundException e )
-                    {
-                        getLogger().info(
-                            "Cannot find mojo descriptor for: \'" + task + "\' - Treating as non-aggregator." );
-                        getLogger().debug( "", e );
-                    }
+                    // definitely a CLI goal, can use prefix
+                    MojoDescriptor mojo = getMojoDescriptor( task, session, project, task, true );
 
                     // if the mojo descriptor was found, determine aggregator status according to:
                     // 1. whether the mojo declares itself an aggregator
@@ -526,7 +517,7 @@
 
     private void executeGoal( String task, MavenSession session, MavenProject project, MavenExecutionResponse response )
         throws LifecycleExecutionException, ArtifactNotFoundException, MojoExecutionException,
-        ArtifactResolutionException, MojoFailureException, InvalidDependencyVersionException
+        ArtifactResolutionException, MojoFailureException, InvalidDependencyVersionException, PluginNotFoundException
     {
         if ( getPhaseToLifecycleMap().containsKey( task ) )
         {
@@ -545,7 +536,7 @@
     private void executeGoalWithLifecycle( String task, MavenSession session, Map lifecycleMappings,
                                            MavenProject project, MavenExecutionResponse response, Lifecycle lifecycle )
         throws ArtifactResolutionException, LifecycleExecutionException, MojoExecutionException, MojoFailureException,
-        ArtifactNotFoundException, InvalidDependencyVersionException
+        ArtifactNotFoundException, InvalidDependencyVersionException, PluginNotFoundException
     {
         List goals = processGoalChain( task, lifecycleMappings, lifecycle );
 
@@ -562,7 +553,7 @@
     private void executeStandaloneGoal( String task, MavenSession session, MavenProject project,
                                         MavenExecutionResponse response )
         throws ArtifactResolutionException, LifecycleExecutionException, MojoExecutionException, MojoFailureException,
-        ArtifactNotFoundException, InvalidDependencyVersionException
+        ArtifactNotFoundException, InvalidDependencyVersionException, PluginNotFoundException
     {
         // guaranteed to come from the CLI and not be part of a phase
         MojoDescriptor mojoDescriptor = getMojoDescriptor( task, session, project, task, true );
@@ -571,7 +562,7 @@
 
     private void executeGoals( List goals, MavenSession session, MavenProject project, MavenExecutionResponse response )
         throws LifecycleExecutionException, MojoExecutionException, ArtifactResolutionException, MojoFailureException,
-        ArtifactNotFoundException, InvalidDependencyVersionException
+        ArtifactNotFoundException, InvalidDependencyVersionException, PluginNotFoundException
     {
         for ( Iterator i = goals.iterator(); i.hasNext(); )
         {
@@ -615,7 +606,8 @@
     }
 
     private List getReports( MavenProject project, MojoExecution mojoExecution, MavenSession session )
-        throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException
+        throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException,
+        PluginNotFoundException
     {
         List reportPlugins = project.getReportPlugins();
 
@@ -701,7 +693,8 @@
 
     private List getReports( ReportPlugin reportPlugin, ReportSet reportSet, MavenProject project, MavenSession session,
                              MojoExecution mojoExecution )
-        throws ArtifactResolutionException, ArtifactNotFoundException, LifecycleExecutionException
+        throws ArtifactResolutionException, ArtifactNotFoundException, LifecycleExecutionException,
+        PluginNotFoundException
     {
         PluginDescriptor pluginDescriptor = verifyReportPlugin( reportPlugin, project, session );
 
@@ -751,7 +744,7 @@
     private void forkLifecycle( MojoDescriptor mojoDescriptor, MavenSession session, MavenProject project,
                                 MavenExecutionResponse response )
         throws LifecycleExecutionException, MojoExecutionException, ArtifactResolutionException, MojoFailureException,
-        ArtifactNotFoundException, InvalidDependencyVersionException
+        ArtifactNotFoundException, InvalidDependencyVersionException, PluginNotFoundException
     {
         PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor();
         getLogger().info( "Preparing " + pluginDescriptor.getGoalPrefix() + ":" + mojoDescriptor.getGoal() );
@@ -782,7 +775,7 @@
     private void forkProjectLifecycle( MojoDescriptor mojoDescriptor, MavenSession session, MavenProject project,
                                        MavenExecutionResponse response )
         throws ArtifactResolutionException, LifecycleExecutionException, MojoExecutionException, MojoFailureException,
-        ArtifactNotFoundException, InvalidDependencyVersionException
+        ArtifactNotFoundException, InvalidDependencyVersionException, PluginNotFoundException
     {
         PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor();
 
@@ -918,7 +911,8 @@
 
     private Map constructLifecycleMappings( MavenSession session, String selectedPhase, MavenProject project,
                                             Lifecycle lifecycle )
-        throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException
+        throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException,
+        PluginNotFoundException
     {
         // first, bind those associated with the packaging
         Map lifecycleMappings = bindLifecycleForPackaging( session, selectedPhase, project, lifecycle );
@@ -936,7 +930,8 @@
 
     private Map bindLifecycleForPackaging( MavenSession session, String selectedPhase, MavenProject project,
                                            Lifecycle lifecycle )
-        throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException
+        throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException,
+        PluginNotFoundException
     {
         Map mappings = findMappingsForLifecycle( session, project, lifecycle );
 
@@ -979,7 +974,8 @@
     }
 
     private Map findMappingsForLifecycle( MavenSession session, MavenProject project, Lifecycle lifecycle )
-        throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException
+        throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException,
+        PluginNotFoundException
     {
         String packaging = project.getPackaging();
         Map mappings = null;
@@ -1028,7 +1024,8 @@
 
     private Object findExtension( MavenProject project, String role, String roleHint, Settings settings,
                                   ArtifactRepository localRepository )
-        throws ArtifactResolutionException, ArtifactNotFoundException, LifecycleExecutionException
+        throws ArtifactResolutionException, ArtifactNotFoundException, LifecycleExecutionException,
+        PluginNotFoundException
     {
         Object pluginComponent = null;
 
@@ -1064,7 +1061,8 @@
      * lookup directly, or have them passed in
      */
     private Map findArtifactTypeHandlers( MavenProject project, Settings settings, ArtifactRepository localRepository )
-        throws ArtifactResolutionException, ArtifactNotFoundException, LifecycleExecutionException
+        throws ArtifactResolutionException, ArtifactNotFoundException, LifecycleExecutionException,
+        PluginNotFoundException
     {
         Map map = new HashMap();
         for ( Iterator i = project.getBuildPlugins().iterator(); i.hasNext(); )
@@ -1114,7 +1112,8 @@
      * @param session
      */
     private void bindPluginToLifecycle( Plugin plugin, MavenSession session, Map phaseMap, MavenProject project )
-        throws LifecycleExecutionException, ArtifactResolutionException, ArtifactNotFoundException
+        throws LifecycleExecutionException, ArtifactResolutionException, ArtifactNotFoundException,
+        PluginNotFoundException
     {
         PluginDescriptor pluginDescriptor;
         Settings settings = session.getSettings();
@@ -1149,7 +1148,8 @@
 
     private PluginDescriptor verifyPlugin( Plugin plugin, MavenProject project, Settings settings,
                                            ArtifactRepository localRepository )
-        throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException
+        throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException,
+        PluginNotFoundException
     {
         PluginDescriptor pluginDescriptor;
         try
@@ -1177,7 +1177,8 @@
     }
 
     private PluginDescriptor verifyReportPlugin( ReportPlugin plugin, MavenProject project, MavenSession session )
-        throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException
+        throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException,
+        PluginNotFoundException
     {
         PluginDescriptor pluginDescriptor;
         try
@@ -1291,7 +1292,8 @@
 
     private MojoDescriptor getMojoDescriptor( String task, MavenSession session, MavenProject project,
                                               String invokedVia, boolean canUsePrefix )
-        throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException
+        throws LifecycleExecutionException, ArtifactNotFoundException, PluginNotFoundException,
+        ArtifactResolutionException
     {
         String goal;
         Plugin plugin;

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=320704&r1=320703&r2=320704&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 Oct 13 02:51:36 2005
@@ -147,7 +147,7 @@
     public PluginDescriptor verifyPlugin( Plugin plugin, MavenProject project, Settings settings,
                                           ArtifactRepository localRepository )
         throws ArtifactResolutionException, PluginVersionResolutionException, ArtifactNotFoundException,
-        InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException
+        InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException, PluginNotFoundException
     {
         // TODO: this should be possibly outside
         // All version-resolution logic has been moved to DefaultPluginVersionManager.
@@ -164,7 +164,7 @@
     private PluginDescriptor verifyVersionedPlugin( Plugin plugin, MavenProject project,
                                                     ArtifactRepository localRepository )
         throws PluginVersionResolutionException, ArtifactNotFoundException, ArtifactResolutionException,
-        InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException
+        InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException, PluginNotFoundException
     {
         // TODO: this might result in an artifact "RELEASE" being resolved continuously
         // FIXME: need to find out how a plugin gets marked as 'installed'
@@ -457,7 +457,7 @@
 
     public PluginDescriptor verifyReportPlugin( ReportPlugin reportPlugin, MavenProject project, MavenSession session )
         throws PluginVersionResolutionException, ArtifactResolutionException, ArtifactNotFoundException,
-        InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException
+        InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException, PluginNotFoundException
     {
         String version = reportPlugin.getVersion();
 

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManager.java?rev=320704&r1=320703&r2=320704&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 Oct 13 02:51:36 2005
@@ -56,11 +56,11 @@
     PluginDescriptor verifyPlugin( Plugin plugin, MavenProject project, Settings settings,
                                    ArtifactRepository localRepository )
         throws ArtifactResolutionException, PluginVersionResolutionException, ArtifactNotFoundException,
-        InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException;
+        InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException, PluginNotFoundException;
 
     PluginDescriptor verifyReportPlugin( ReportPlugin reportPlugin, MavenProject project, MavenSession session )
         throws PluginVersionResolutionException, ArtifactResolutionException, ArtifactNotFoundException,
-        InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException;
+        InvalidVersionSpecificationException, InvalidPluginException, PluginManagerException, PluginNotFoundException;
 
     Object getPluginComponent( Plugin plugin, String role, String roleHint )
         throws PluginManagerException, ComponentLookupException;

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginNotFoundException.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginNotFoundException.java?rev=320704&r1=320703&r2=320704&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginNotFoundException.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginNotFoundException.java Thu Oct 13 02:51:36 2005
@@ -16,6 +16,7 @@
  * limitations under the License.
  */
 
+import org.apache.maven.artifact.resolver.AbstractArtifactResolutionException;
 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
 
 /**
@@ -25,11 +26,11 @@
  * @version $Id$
  */
 public class PluginNotFoundException
-    extends ArtifactNotFoundException
+    extends AbstractArtifactResolutionException
 {
     public PluginNotFoundException( ArtifactNotFoundException e )
     {
-        super( "Plugin could not be found - check that the goal name is correct", e.getGroupId(), e.getArtifactId(),
-               e.getVersion(), "maven-plugin", e.getRemoteRepositories(), e.getDownloadUrl(), e.getCause() );
+        super( "Plugin could not be found - check that the goal name is correct: " + e.getMessage(), e.getGroupId(),
+               e.getArtifactId(), e.getVersion(), "maven-plugin", e.getRemoteRepositories(), null, e.getCause() );
     }
 }

Modified: maven/components/trunk/maven-plugins/maven-projecthelp-plugin/src/main/java/org/apache/maven/plugins/projecthelp/DescribeMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-projecthelp-plugin/src/main/java/org/apache/maven/plugins/projecthelp/DescribeMojo.java?rev=320704&r1=320703&r2=320704&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-projecthelp-plugin/src/main/java/org/apache/maven/plugins/projecthelp/DescribeMojo.java (original)
+++ maven/components/trunk/maven-plugins/maven-projecthelp-plugin/src/main/java/org/apache/maven/plugins/projecthelp/DescribeMojo.java Thu Oct 13 02:51:36 2005
@@ -28,6 +28,7 @@
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.PluginManager;
 import org.apache.maven.plugin.PluginManagerException;
+import org.apache.maven.plugin.PluginNotFoundException;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.plugin.descriptor.Parameter;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
@@ -321,8 +322,7 @@
             }
             catch ( ArtifactNotFoundException e )
             {
-                throw new MojoExecutionException( "Error retrieving plugin descriptor for:\n\ngroupId: \'" + groupId +
-                    "\'\nartifactId: \'" + artifactId + "\'\nversion: \'" + version + "\'\n\n", e );
+                throw new MojoExecutionException( "Plugin dependency does not exist: " + e.getMessage(), e );
             }
             catch ( InvalidVersionSpecificationException e )
             {
@@ -333,6 +333,10 @@
             {
                 throw new MojoExecutionException( "Error retrieving plugin descriptor for:\n\ngroupId: \'" + groupId +
                     "\'\nartifactId: \'" + artifactId + "\'\nversion: \'" + version + "\'\n\n", e );
+            }
+            catch ( PluginNotFoundException e )
+            {
+                throw new MojoExecutionException( "Plugin does not exist: " + e.getMessage(), e );
             }
         }
 

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=320704&r1=320703&r2=320704&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Thu Oct 13 02:51:36 2005
@@ -380,73 +380,30 @@
                 artifactResolver.resolve( projectArtifact, remoteArtifactRepositories, localRepository );
 
                 File file = projectArtifact.getFile();
-                // TODO: how can this not be true?
-                if ( projectArtifact.isResolved() )
-                {
-                    model = readModel( projectId, file );
+                model = readModel( projectId, file );
+
+                String downloadUrl = null;
+                ArtifactStatus status = ArtifactStatus.NONE;
 
-                    String downloadUrl = null;
-                    ArtifactStatus status = ArtifactStatus.NONE;
+                DistributionManagement distributionManagement = model.getDistributionManagement();
+                if ( distributionManagement != null )
+                {
+                    downloadUrl = distributionManagement.getDownloadUrl();
 
-                    DistributionManagement distributionManagement = model.getDistributionManagement();
-                    if ( distributionManagement != null )
-                    {
-                        downloadUrl = distributionManagement.getDownloadUrl();
-
-                        status = ArtifactStatus.valueOf( distributionManagement.getStatus() );
-                    }
-
-                    // TODO: configurable actions dependant on status
-                    if ( !projectArtifact.isSnapshot() && status.compareTo( ArtifactStatus.DEPLOYED ) < 0 )
-                    {
-                        // use default policy (enabled, daily update, warn on bad checksum)
-                        ArtifactRepositoryPolicy policy = new ArtifactRepositoryPolicy();
-                        // TODO: re-enable [MNG-798/865]
-                        policy.setUpdatePolicy( ArtifactRepositoryPolicy.UPDATE_POLICY_NEVER );
-
-                        if ( policy.checkOutOfDate( new Date( file.lastModified() ) ) )
-                        {
-                            getLogger().info( projectArtifact.getArtifactId() +
-                                ": updating metadata due to status of '" + status + "'" );
-                            try
-                            {
-                                projectArtifact.setResolved( false );
-                                artifactResolver.resolveAlways( projectArtifact, remoteArtifactRepositories,
-                                                                localRepository );
-                            }
-                            catch ( ArtifactResolutionException e )
-                            {
-                                getLogger().warn( "Error updating POM - using existing version" );
-                                getLogger().debug( "Cause", e );
-                            }
-                            catch ( ArtifactNotFoundException e )
-                            {
-                                getLogger().warn( "Error updating POM - not found. Removing local copy." );
-                                getLogger().debug( "Cause", e );
-                                file.delete();
-                                throw e;
-                            }
-                        }
-                    }
-
-                    // TODO: this is gross. Would like to give it the whole model, but maven-artifact shouldn't depend on that
-                    // Can a maven-core implementation of the Artifact interface store it, and be used in the exceptions?
-                    if ( downloadUrl != null )
-                    {
-                        projectArtifact.setDownloadUrl( downloadUrl );
-                    }
-                    else
-                    {
-                        projectArtifact.setDownloadUrl( model.getUrl() );
-                    }
+                    status = ArtifactStatus.valueOf( distributionManagement.getStatus() );
                 }
-                else if ( allowStubModel )
+
+                checkStatusAndUpdate( projectArtifact, status, file, remoteArtifactRepositories, localRepository );
+
+                // TODO: this is gross. Would like to give it the whole model, but maven-artifact shouldn't depend on that
+                // Can a maven-core implementation of the Artifact interface store it, and be used in the exceptions?
+                if ( downloadUrl != null )
                 {
-                    model = createStubModel( projectArtifact );
+                    projectArtifact.setDownloadUrl( downloadUrl );
                 }
                 else
                 {
-                    throw new ProjectBuildingException( projectId, "POM could not be resolved from the repository" );
+                    projectArtifact.setDownloadUrl( model.getUrl() );
                 }
             }
             catch ( ArtifactResolutionException e )
@@ -457,6 +414,7 @@
             {
                 if ( allowStubModel )
                 {
+                    getLogger().debug( "Artifact not found - using stub model: " + e.getMessage() );
                     model = createStubModel( projectArtifact );
                 }
                 else
@@ -471,6 +429,43 @@
         }
 
         return model;
+    }
+
+    private void checkStatusAndUpdate( Artifact projectArtifact, ArtifactStatus status, File file,
+                                       List remoteArtifactRepositories, ArtifactRepository localRepository )
+        throws ArtifactNotFoundException
+    {
+        // TODO: configurable actions dependant on status
+        if ( !projectArtifact.isSnapshot() && status.compareTo( ArtifactStatus.DEPLOYED ) < 0 )
+        {
+            // use default policy (enabled, daily update, warn on bad checksum)
+            ArtifactRepositoryPolicy policy = new ArtifactRepositoryPolicy();
+            // TODO: re-enable [MNG-798/865]
+            policy.setUpdatePolicy( ArtifactRepositoryPolicy.UPDATE_POLICY_NEVER );
+
+            if ( policy.checkOutOfDate( new Date( file.lastModified() ) ) )
+            {
+                getLogger().info(
+                    projectArtifact.getArtifactId() + ": updating metadata due to status of '" + status + "'" );
+                try
+                {
+                    projectArtifact.setResolved( false );
+                    artifactResolver.resolveAlways( projectArtifact, remoteArtifactRepositories, localRepository );
+                }
+                catch ( ArtifactResolutionException e )
+                {
+                    getLogger().warn( "Error updating POM - using existing version" );
+                    getLogger().debug( "Cause", e );
+                }
+                catch ( ArtifactNotFoundException e )
+                {
+                    getLogger().warn( "Error updating POM - not found. Removing local copy." );
+                    getLogger().debug( "Cause", e );
+                    file.delete();
+                    throw e;
+                }
+            }
+        }
     }
 
     private Model createStubModel( Artifact projectArtifact )