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 )