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/07 08:45:45 UTC
svn commit: r307034 [1/2] - 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-artifact-manager/src/main/java/org/apache/maven...
Author: brett
Date: Thu Oct 6 23:44:59 2005
New Revision: 307034
URL: http://svn.apache.org/viewcvs?rev=307034&view=rev
Log:
PR: MNG-1110
differentiate between an artifact that is not found, and failure to obtain an artifact
Added:
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java (with props)
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java (with props)
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-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/TransitiveArtifactResolutionException.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/OverConstrainedVersionException.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionManager.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-core/src/main/java/org/apache/maven/usability/ArtifactResolverDiagnoser.java
maven/components/trunk/maven-plugins/maven-eclipse-plugin/pom.xml
maven/components/trunk/maven-plugins/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipseClasspathWriter.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/AttachedArtifact.java
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.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=307034&r1=307033&r2=307034&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 6 23:44:59 2005
@@ -21,6 +21,7 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.model.Build;
@@ -66,8 +67,8 @@
private static final String DEFAULT_RESOURCE_DIR = "/src/main/resources";
private static final String DEFAULT_SOURCE_DIR = "/src/main/java";
-
-
+
+
private VelocityComponent velocity;
private ArtifactResolver artifactResolver;
@@ -82,12 +83,8 @@
// artifactId = maven-foo-archetype
// version = latest
- public void createArchetype( String archetypeGroupId,
- String archetypeArtifactId,
- String archetypeVersion,
- ArtifactRepository localRepository,
- List remoteRepositories,
- Map parameters )
+ public void createArchetype( String archetypeGroupId, String archetypeArtifactId, String archetypeVersion,
+ ArtifactRepository localRepository, List remoteRepositories, Map parameters )
throws ArchetypeNotFoundException, ArchetypeDescriptorException, ArchetypeTemplateProcessingException
{
// ----------------------------------------------------------------------
@@ -103,6 +100,11 @@
}
catch ( ArtifactResolutionException e )
{
+ // TODO: this is an error now, not "not found"
+ throw new ArchetypeNotFoundException( "Cannot download archetype.", e );
+ }
+ catch ( ArtifactNotFoundException e )
+ {
throw new ArchetypeNotFoundException( "Cannot download archetype.", e );
}
@@ -115,7 +117,8 @@
{
getLogger().info( "----------------------------------------------------------------------------" );
- getLogger().info( "Using following parameters for creating Archetype: " + archetypeArtifactId + ":" + archetypeVersion );
+ getLogger().info( "Using following parameters for creating Archetype: " + archetypeArtifactId + ":" +
+ archetypeVersion );
getLogger().info( "----------------------------------------------------------------------------" );
@@ -160,7 +163,8 @@
if ( is == null )
{
- throw new ArchetypeDescriptorException( "The " + ARCHETYPE_DESCRIPTOR + " descriptor cannot be found." );
+ throw new ArchetypeDescriptorException(
+ "The " + ARCHETYPE_DESCRIPTOR + " descriptor cannot be found." );
}
descriptor = (ArchetypeDescriptor) builder.build( new InputStreamReader( is ) );
@@ -192,7 +196,8 @@
if ( outputDirectoryFile.exists() )
{
- throw new ArchetypeTemplateProcessingException( outputDirectoryFile.getName() + " already exists - please run from a clean directory" );
+ throw new ArchetypeTemplateProcessingException(
+ outputDirectoryFile.getName() + " already exists - please run from a clean directory" );
}
pomFile = new File( outputDirectoryFile, ARCHETYPE_POM );
@@ -263,14 +268,15 @@
if ( getLogger().isDebugEnabled() )
{
- getLogger().debug( "********************* Debug info for resources created from generated Model ***********************" );
+ getLogger().debug(
+ "********************* Debug info for resources created from generated Model ***********************" );
}
if ( getLogger().isDebugEnabled() )
{
getLogger().debug( "Was build element found in generated POM?: " + foundBuildElement );
}
-
+
// create source directory if specified in POM
if ( foundBuildElement && null != build.getSourceDirectory() )
{
@@ -285,7 +291,8 @@
srcDirectory = StringUtils.replace( srcDirectory, "\\", "/" );
- FileUtils.mkdir( outputDirectory + ( srcDirectory.startsWith( "/" ) ? srcDirectory : ( "/" + srcDirectory ) ) );
+ FileUtils.mkdir(
+ outputDirectory + ( srcDirectory.startsWith( "/" ) ? srcDirectory : ( "/" + srcDirectory ) ) );
}
// create script source directory if specified in POM
@@ -303,7 +310,7 @@
scriptSourceDirectory = StringUtils.replace( scriptSourceDirectory, "\\", "/" );
FileUtils.mkdir( outputDirectory + ( scriptSourceDirectory.startsWith( "/" ) ? scriptSourceDirectory
- : ( "/" + scriptSourceDirectory ) ) );
+ : ( "/" + scriptSourceDirectory ) ) );
}
// create resource director(y/ies) if specified in POM
@@ -326,7 +333,8 @@
resourceDirectory = StringUtils.replace( resourceDirectory, "\\", "/" );
- FileUtils.mkdir( outputDirectory + ( resourceDirectory.startsWith( "/" ) ? resourceDirectory : ( "/" + resourceDirectory ) ) );
+ FileUtils.mkdir( outputDirectory +
+ ( resourceDirectory.startsWith( "/" ) ? resourceDirectory : ( "/" + resourceDirectory ) ) );
}
}
// create test source directory if specified in POM
@@ -343,7 +351,8 @@
testDirectory = StringUtils.replace( testDirectory, "\\", "/" );
- FileUtils.mkdir( outputDirectory + ( testDirectory.startsWith( "/" ) ? testDirectory : ( "/" + testDirectory ) ) );
+ FileUtils.mkdir(
+ outputDirectory + ( testDirectory.startsWith( "/" ) ? testDirectory : ( "/" + testDirectory ) ) );
}
// create test resource directory if specified in POM
@@ -367,11 +376,12 @@
testResourceDirectory = StringUtils.replace( testResourceDirectory, "\\", "/" );
FileUtils.mkdir( outputDirectory + ( testResourceDirectory.startsWith( "/" ) ? testResourceDirectory
- : ( "/" + testResourceDirectory ) ) );
+ : ( "/" + testResourceDirectory ) ) );
}
}
- getLogger().info( "********************* End of debug info from resources from generated POM ***********************" );
+ getLogger().info(
+ "********************* End of debug info from resources from generated POM ***********************" );
// ----------------------------------------------------------------------
// Main
@@ -473,8 +483,8 @@
}
}
- protected void processTemplate( String outputDirectory, Context context, String template,
- boolean packageInFileName, String packageName )
+ protected void processTemplate( String outputDirectory, Context context, String template, boolean packageInFileName,
+ String packageName )
throws Exception
{
File f;
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=307034&r1=307033&r2=307034&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 6 23:44:59 2005
@@ -21,6 +21,7 @@
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ArtifactResolver;
@@ -176,6 +177,11 @@
catch ( ArtifactResolutionException e )
{
throw new BuildException( "Unable to resolve artifact", e );
+ }
+ catch ( ArtifactNotFoundException e )
+ {
+ // TODO: improve handling
+ throw new BuildException( "Unable to locate artifact", e );
}
if ( pathId != null && getProject().getReference( pathId ) != null )
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=307034&r1=307033&r2=307034&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 6 23:44:59 2005
@@ -20,6 +20,7 @@
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ArtifactResolver;
@@ -102,6 +103,10 @@
throw new BuildException( "Unable to locate wagon provider in remote repository", e );
}
catch ( InvalidVersionSpecificationException e )
+ {
+ throw new BuildException( "Unable to locate wagon provider in remote repository", e );
+ }
+ catch ( ArtifactNotFoundException e )
{
throw new BuildException( "Unable to locate wagon provider in remote repository", e );
}
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=307034&r1=307033&r2=307034&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Thu Oct 6 23:44:59 2005
@@ -59,20 +59,20 @@
// ----------------------------------------------------------------------
public void resolve( Artifact artifact, List remoteRepositories, ArtifactRepository localRepository )
- throws ArtifactResolutionException
+ throws ArtifactResolutionException, ArtifactNotFoundException
{
resolve( artifact, remoteRepositories, localRepository, false );
}
public void resolveAlways( Artifact artifact, List remoteRepositories, ArtifactRepository localRepository )
- throws ArtifactResolutionException
+ throws ArtifactResolutionException, ArtifactNotFoundException
{
resolve( artifact, remoteRepositories, localRepository, true );
}
private void resolve( Artifact artifact, List remoteRepositories, ArtifactRepository localRepository,
boolean force )
- throws ArtifactResolutionException
+ throws ArtifactResolutionException, ArtifactNotFoundException
{
if ( artifact != null )
{
@@ -82,7 +82,7 @@
if ( !systemFile.exists() )
{
- throw new ArtifactResolutionException(
+ throw new ArtifactNotFoundException(
"System artifact: " + artifact.getId() + " not found in path: " + systemFile, artifact );
}
else
@@ -143,7 +143,7 @@
}
catch ( ResourceDoesNotExistException e )
{
- throw new ArtifactResolutionException( e.getMessage(), artifact, remoteRepositories, e );
+ throw new ArtifactNotFoundException( e.getMessage(), artifact, remoteRepositories, e );
}
catch ( TransferFailedException e )
{
@@ -179,7 +179,7 @@
public ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact,
ArtifactRepository localRepository, List remoteRepositories,
ArtifactMetadataSource source, ArtifactFilter filter )
- throws ArtifactResolutionException
+ throws ArtifactResolutionException, ArtifactNotFoundException
{
return resolveTransitively( artifacts, originatingArtifact, Collections.EMPTY_MAP, localRepository,
remoteRepositories, source, filter );
@@ -189,7 +189,7 @@
public ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact,
Map managedVersions, ArtifactRepository localRepository,
List remoteRepositories, ArtifactMetadataSource source )
- throws ArtifactResolutionException
+ throws ArtifactResolutionException, ArtifactNotFoundException
{
return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository,
remoteRepositories, source, null );
@@ -199,7 +199,7 @@
Map managedVersions, ArtifactRepository localRepository,
List remoteRepositories, ArtifactMetadataSource source,
ArtifactFilter filter )
- throws ArtifactResolutionException
+ throws ArtifactResolutionException, ArtifactNotFoundException
{
// TODO: this is simplistic
List listeners = new ArrayList();
@@ -219,7 +219,7 @@
Map managedVersions, ArtifactRepository localRepository,
List remoteRepositories, ArtifactMetadataSource source,
ArtifactFilter filter, List listeners )
- throws ArtifactResolutionException
+ throws ArtifactResolutionException, ArtifactNotFoundException
{
ArtifactResolutionResult artifactResolutionResult;
artifactResolutionResult = artifactCollector.collect( artifacts, originatingArtifact, managedVersions,
@@ -238,7 +238,7 @@
public ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact,
List remoteRepositories, ArtifactRepository localRepository,
ArtifactMetadataSource source )
- throws ArtifactResolutionException
+ throws ArtifactResolutionException, ArtifactNotFoundException
{
return resolveTransitively( artifacts, originatingArtifact, localRepository, remoteRepositories, source, null );
}
@@ -246,7 +246,7 @@
public ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact,
List remoteRepositories, ArtifactRepository localRepository,
ArtifactMetadataSource source, List listeners )
- throws ArtifactResolutionException
+ throws ArtifactResolutionException, ArtifactNotFoundException
{
return resolveTransitively( artifacts, originatingArtifact, Collections.EMPTY_MAP, localRepository,
remoteRepositories, source, null, listeners );
Modified: maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java?rev=307034&r1=307033&r2=307034&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java Thu Oct 6 23:44:59 2005
@@ -205,7 +205,7 @@
artifactResolver.resolve( k, remoteRepositories(), localRepository() );
fail( "Resolution succeeded when it should have failed" );
}
- catch ( ArtifactResolutionException expected )
+ catch ( ArtifactNotFoundException expected )
{
assertTrue( true );
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java?rev=307034&r1=307033&r2=307034&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java Thu Oct 6 23:44:59 2005
@@ -20,6 +20,8 @@
import org.apache.maven.artifact.metadata.ArtifactMetadata;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
+import org.apache.maven.artifact.versioning.ArtifactVersion;
+import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
import org.apache.maven.artifact.versioning.VersionRange;
import java.io.File;
@@ -154,4 +156,10 @@
void setAvailableVersions( List versions );
boolean isOptional();
+
+ ArtifactVersion getSelectedVersion()
+ throws OverConstrainedVersionException;
+
+ boolean isSelectedVersionKnown()
+ throws OverConstrainedVersionException;
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java?rev=307034&r1=307033&r2=307034&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java Thu Oct 6 23:44:59 2005
@@ -20,6 +20,8 @@
import org.apache.maven.artifact.metadata.ArtifactMetadata;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
+import org.apache.maven.artifact.versioning.ArtifactVersion;
+import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
import org.apache.maven.artifact.versioning.VersionRange;
import org.codehaus.plexus.util.StringUtils;
@@ -519,5 +521,17 @@
public boolean isOptional()
{
return optional;
+ }
+
+ public ArtifactVersion getSelectedVersion()
+ throws OverConstrainedVersionException
+ {
+ return versionRange.getSelectedVersion( this );
+ }
+
+ public boolean isSelectedVersionKnown()
+ throws OverConstrainedVersionException
+ {
+ return versionRange.isSelectedVersionKnown( this );
}
}
Added: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java?rev=307034&view=auto
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java (added)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java Thu Oct 6 23:44:59 2005
@@ -0,0 +1,188 @@
+package org.apache.maven.artifact.resolver;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Base class for artifact resolution exceptions.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @version $Id$
+ */
+public class AbstractArtifactResolutionException
+ extends Exception
+{
+ private String groupId;
+
+ private String artifactId;
+
+ private String version;
+
+ private String type;
+
+ private List remoteRepositories;
+
+ private final String originalMessage;
+
+ private final String path;
+
+ static final String LS = System.getProperty( "line.separator" );
+
+ protected AbstractArtifactResolutionException( String message, String groupId, String artifactId, String version,
+ String type, List remoteRepositories, List path )
+ {
+ super( constructMessageBase( message, groupId, artifactId, version, type, remoteRepositories, path ) );
+
+ this.originalMessage = message;
+ this.groupId = groupId;
+ this.artifactId = artifactId;
+ this.type = type;
+ this.version = version;
+ this.remoteRepositories = remoteRepositories;
+ this.path = constructArtifactPath( path );
+ }
+
+ protected AbstractArtifactResolutionException( String message, String groupId, String artifactId, String version,
+ String type, List remoteRepositories, List path, Throwable t )
+ {
+ super( constructMessageBase( message, groupId, artifactId, version, type, remoteRepositories, path ), t );
+
+ this.originalMessage = message;
+ this.groupId = groupId;
+ this.artifactId = artifactId;
+ this.type = type;
+ this.version = version;
+ this.remoteRepositories = remoteRepositories;
+ this.path = constructArtifactPath( path );
+ }
+
+ protected AbstractArtifactResolutionException( String message, Artifact artifact )
+ {
+ this( message, artifact, null );
+ }
+
+ protected AbstractArtifactResolutionException( String message, Artifact artifact, List remoteRepositories )
+ {
+ this( message, artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(),
+ remoteRepositories, artifact.getDependencyTrail() );
+ }
+
+ protected AbstractArtifactResolutionException( String message, Artifact artifact, List remoteRepositories,
+ Throwable t )
+ {
+ this( message, artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(),
+ remoteRepositories, artifact.getDependencyTrail(), t );
+ }
+
+ public String getGroupId()
+ {
+ return groupId;
+ }
+
+ public String getArtifactId()
+ {
+ return artifactId;
+ }
+
+ public String getVersion()
+ {
+ return version;
+ }
+
+ public String getType()
+ {
+ return type;
+ }
+
+ public List getRemoteRepositories()
+ {
+ return remoteRepositories;
+ }
+
+ public String getOriginalMessage()
+ {
+ return originalMessage;
+ }
+
+ protected static String constructArtifactPath( List path )
+ {
+ StringBuffer sb = new StringBuffer();
+
+ if ( path != null )
+ {
+ sb.append( LS );
+ sb.append( "Path to dependency: " );
+ sb.append( LS );
+ int num = 1;
+ for ( Iterator i = path.iterator(); i.hasNext(); )
+ {
+ sb.append( "\t" );
+ sb.append( num++ );
+ sb.append( ") " );
+ sb.append( i.next() );
+ sb.append( LS );
+ }
+ }
+
+ return sb.toString();
+ }
+
+ private static String constructMessageBase( String message, String groupId, String artifactId, String version,
+ String type, List remoteRepositories, List path )
+ {
+ StringBuffer sb = new StringBuffer();
+
+ sb.append( message );
+ sb.append( LS );
+ sb.append( " " + groupId + ":" + artifactId + ":" + version + ":" + type );
+ sb.append( LS );
+ if ( remoteRepositories != null && !remoteRepositories.isEmpty() )
+ {
+ sb.append( LS );
+ sb.append( "from the specified remote repositories:" );
+ sb.append( LS + " " );
+
+ for ( Iterator i = remoteRepositories.iterator(); i.hasNext(); )
+ {
+ ArtifactRepository remoteRepository = (ArtifactRepository) i.next();
+
+ sb.append( remoteRepository.getId() );
+ sb.append( " (" );
+ sb.append( remoteRepository.getUrl() );
+ sb.append( ")" );
+ if ( i.hasNext() )
+ {
+ sb.append( ",\n " );
+ }
+ }
+ }
+
+ sb.append( constructArtifactPath( path ) );
+ sb.append( LS );
+ return sb.toString();
+ }
+
+ public String getArtifactPath()
+ {
+ return path;
+ }
+}
Propchange: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java?rev=307034&view=auto
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java (added)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java Thu Oct 6 23:44:59 2005
@@ -0,0 +1,97 @@
+package org.apache.maven.artifact.resolver;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.artifact.Artifact;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
+ * @version $Id$
+ */
+public class ArtifactNotFoundException
+ extends AbstractArtifactResolutionException
+{
+ private String downloadUrl;
+
+ protected ArtifactNotFoundException( String message, Artifact artifact )
+ {
+ this( message, artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(), null,
+ null );
+ }
+
+ protected ArtifactNotFoundException( String message, Artifact artifact, List remoteRepositories, Throwable t )
+ {
+ this( message, artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(),
+ remoteRepositories, null, t );
+ }
+
+ public ArtifactNotFoundException( String message, String groupId, String artifactId, String version, String type,
+ List remoteRepositories, String downloadUrl, Throwable t )
+ {
+ super( constructMessage( message, groupId, artifactId, version, type, downloadUrl ), groupId, artifactId,
+ version, type, remoteRepositories, null, t );
+
+ this.downloadUrl = downloadUrl;
+ }
+
+ private ArtifactNotFoundException( String message, String groupId, String artifactId, String version, String type,
+ List remoteRepositories, String downloadUrl )
+ {
+ super( constructMessage( message, groupId, artifactId, version, type, downloadUrl ), groupId, artifactId,
+ version, type, remoteRepositories, null );
+
+ this.downloadUrl = downloadUrl;
+ }
+
+ private static String constructMessage( String message, String groupId, String artifactId, String version,
+ String type, String downloadUrl )
+ {
+ StringBuffer sb = new StringBuffer( message );
+
+ if ( downloadUrl != null && !"pom".equals( type ) )
+ {
+ sb.append( LS );
+ sb.append( LS );
+ sb.append( "Try downloading the file manually from" );
+ sb.append( LS );
+ sb.append( " " );
+ sb.append( downloadUrl );
+ sb.append( LS );
+ sb.append( "and install it using the command: " );
+ sb.append( LS );
+ sb.append( " m2 install:install-file -DgroupId=" );
+ sb.append( groupId );
+ sb.append( " -DartifactId=" );
+ sb.append( artifactId );
+ sb.append( " -Dversion=" );
+ sb.append( version );
+ sb.append( " -Dpackaging=" );
+ sb.append( type );
+ sb.append( " -Dfile=/path/to/file" );
+ }
+
+ return sb.toString();
+ }
+
+ public String getDownloadUrl()
+ {
+ return downloadUrl;
+ }
+
+}
Propchange: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java?rev=307034&r1=307033&r2=307034&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java Thu Oct 6 23:44:59 2005
@@ -17,9 +17,7 @@
*/
import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import java.util.Iterator;
import java.util.List;
/**
@@ -27,38 +25,44 @@
* @version $Id$
*/
public class ArtifactResolutionException
- extends Exception
+ extends AbstractArtifactResolutionException
{
- private String groupId;
-
- private String artifactId;
-
- private String version;
-
- private String type;
-
- private String downloadUrl;
+ public ArtifactResolutionException( String message, String groupId, String artifactId, String version, String type,
+ List remoteRepositories, List path, Throwable t )
+ {
+ super( message, groupId, artifactId, version, type, remoteRepositories, path, t );
+ }
- private List remoteRepositories;
+ public ArtifactResolutionException( String message, Artifact artifact )
+ {
+ super( message, artifact );
+ }
- private final String originalMessage;
+ protected ArtifactResolutionException( String message, Artifact artifact, List remoteRepositories )
+ {
+ super( message, artifact, remoteRepositories );
+ }
- private final String path;
+ protected ArtifactResolutionException( String message, Artifact artifact, List remoteRepositories, Throwable t )
+ {
+ super( message, artifact, remoteRepositories, t );
+ }
+/*
public ArtifactResolutionException( String message, String groupId, String artifactId, String version, String type,
List remoteRepositories, String downloadUrl, List path, Throwable t )
{
super( constructMessage( message, groupId, artifactId, version, type, remoteRepositories, downloadUrl, path ),
t );
-
+
this.originalMessage = message;
this.groupId = groupId;
this.artifactId = artifactId;
this.type = type;
this.version = version;
this.remoteRepositories = remoteRepositories;
- this.downloadUrl = downloadUrl;
this.path = constructArtifactPath( path );
+ this.downloadUrl = downloadUrl;
}
public ArtifactResolutionException( String message, String groupId, String artifactId, String version, String type,
@@ -81,93 +85,6 @@
this.downloadUrl = downloadUrl;
this.path = constructArtifactPath( path );
}
-
- public String getOriginalMessage()
- {
- return originalMessage;
- }
-
- private static final String LS = System.getProperty( "line.separator" );
-
- private static String constructArtifactPath( List path )
- {
- StringBuffer sb = new StringBuffer();
-
- if ( path != null )
- {
- sb.append( LS );
- sb.append( "Path to dependency: " );
- sb.append( LS );
- int num = 1;
- for ( Iterator i = path.iterator(); i.hasNext(); )
- {
- sb.append( "\t" );
- sb.append( num++ );
- sb.append( ") " );
- sb.append( i.next() );
- sb.append( LS );
- }
- }
-
- return sb.toString();
- }
-
- private static String constructMessage( String message, String groupId, String artifactId, String version,
- String type, List remoteRepositories, String downloadUrl, List path )
- {
- StringBuffer sb = new StringBuffer();
-
- sb.append( message );
- sb.append( LS );
- sb.append( " " + groupId + ":" + artifactId + ":" + version + ":" + type );
- sb.append( LS );
- if ( remoteRepositories != null && !remoteRepositories.isEmpty() )
- {
- sb.append( LS );
- sb.append( "from the specified remote repositories:" );
- sb.append( LS + " " );
-
- for ( Iterator i = remoteRepositories.iterator(); i.hasNext(); )
- {
- ArtifactRepository remoteRepository = (ArtifactRepository) i.next();
-
- sb.append( remoteRepository.getId() );
- sb.append( " (" );
- sb.append( remoteRepository.getUrl() );
- sb.append( ")" );
- if ( i.hasNext() )
- {
- sb.append( ",\n " );
- }
- }
- }
-
- sb.append( constructArtifactPath( path ) );
- sb.append( LS );
-
- if ( downloadUrl != null && !type.equals( "pom" ) )
- {
- sb.append( LS );
- sb.append( LS );
- sb.append( "Try downloading the file manually from" );
- sb.append( LS );
- sb.append( " " + downloadUrl );
- sb.append( LS );
- sb.append( "and install it using the command: " );
- sb.append( LS );
- sb.append( " m2 install:install-file -DgroupId=" );
- sb.append( groupId );
- sb.append( " -DartifactId=" );
- sb.append( artifactId );
- sb.append( " -Dversion=" );
- sb.append( version );
- sb.append( " -Dpackaging=" );
- sb.append( type );
- sb.append( " -Dfile=/path/to/file" );
- }
-
- return sb.toString();
- }
public ArtifactResolutionException( String message, Artifact artifact, List remoteRepositories, Throwable t )
{
@@ -190,44 +107,10 @@
public ArtifactResolutionException( String message, Throwable cause )
{
super( message, cause );
-
+
this.originalMessage = message;
this.path = "";
}
- public String getGroupId()
- {
- return groupId;
- }
-
- public String getArtifactId()
- {
- return artifactId;
- }
-
- public String getVersion()
- {
- return version;
- }
-
- public String getType()
- {
- return type;
- }
-
- public List getRemoteRepositories()
- {
- return remoteRepositories;
- }
-
- public String getDownloadUrl()
- {
- return downloadUrl;
- }
-
- public String getArtifactPath()
- {
- return path;
- }
-
+*/
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java?rev=307034&r1=307033&r2=307034&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java Thu Oct 6 23:44:59 2005
@@ -38,37 +38,37 @@
String ROLE = ArtifactResolver.class.getName();
void resolve( Artifact artifact, List remoteRepositories, ArtifactRepository localRepository )
- throws ArtifactResolutionException;
+ throws ArtifactResolutionException, ArtifactNotFoundException;
ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact, List remoteRepositories,
ArtifactRepository localRepository, ArtifactMetadataSource source )
- throws ArtifactResolutionException;
+ throws ArtifactResolutionException, ArtifactNotFoundException;
ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact, List remoteRepositories,
ArtifactRepository localRepository, ArtifactMetadataSource source,
List listeners )
- throws ArtifactResolutionException;
+ throws ArtifactResolutionException, ArtifactNotFoundException;
ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact,
ArtifactRepository localRepository, List remoteRepositories,
ArtifactMetadataSource source, ArtifactFilter filter )
- throws ArtifactResolutionException;
+ throws ArtifactResolutionException, ArtifactNotFoundException;
ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact, Map managedVersions,
ArtifactRepository localRepository, List remoteRepositories,
ArtifactMetadataSource source )
- throws ArtifactResolutionException;
+ throws ArtifactResolutionException, ArtifactNotFoundException;
ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact, Map managedVersions,
ArtifactRepository localRepository, List remoteRepositories,
ArtifactMetadataSource source, ArtifactFilter filter )
- throws ArtifactResolutionException;
+ throws ArtifactResolutionException, ArtifactNotFoundException;
ArtifactResolutionResult resolveTransitively( Set artifacts, Artifact originatingArtifact, Map managedVersions,
ArtifactRepository localRepository, List remoteRepositories,
ArtifactMetadataSource source, ArtifactFilter filter, List listeners )
- throws ArtifactResolutionException;
+ throws ArtifactResolutionException, ArtifactNotFoundException;
void resolveAlways( Artifact artifact, List remoteRepositories, ArtifactRepository localRepository )
- throws ArtifactResolutionException;
+ throws ArtifactResolutionException, ArtifactNotFoundException;
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java?rev=307034&r1=307033&r2=307034&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java Thu Oct 6 23:44:59 2005
@@ -62,44 +62,37 @@
ResolutionNode root = new ResolutionNode( originatingArtifact, remoteRepositories );
- try
- {
- root.addDependencies( artifacts, remoteRepositories, filter );
+ root.addDependencies( artifacts, remoteRepositories, filter );
- recurse( root, resolvedArtifacts, managedVersions, localRepository, remoteRepositories, source, filter,
- listeners );
+ recurse( root, resolvedArtifacts, managedVersions, localRepository, remoteRepositories, source, filter,
+ listeners );
- Set set = new HashSet();
+ Set set = new HashSet();
- for ( Iterator i = resolvedArtifacts.values().iterator(); i.hasNext(); )
+ for ( Iterator i = resolvedArtifacts.values().iterator(); i.hasNext(); )
+ {
+ List nodes = (List) i.next();
+ for ( Iterator j = nodes.iterator(); j.hasNext(); )
{
- List nodes = (List) i.next();
- for ( Iterator j = nodes.iterator(); j.hasNext(); )
+ ResolutionNode node = (ResolutionNode) j.next();
+ if ( !node.equals( root ) && node.isActive() )
{
- ResolutionNode node = (ResolutionNode) j.next();
- if ( !node.equals( root ) && node.isActive() )
- {
- Artifact artifact = node.getArtifact();
+ Artifact artifact = node.getArtifact();
- // If it was optional, we don't add it or its children, just allow the update of the version and scope
- if ( !node.getArtifact().isOptional() )
- {
- artifact.setDependencyTrail( node.getDependencyTrail() );
+ // If it was optional, we don't add it or its children, just allow the update of the version and scope
+ if ( !node.getArtifact().isOptional() )
+ {
+ artifact.setDependencyTrail( node.getDependencyTrail() );
- set.add( node );
- }
+ set.add( node );
}
}
}
-
- ArtifactResolutionResult result = new ArtifactResolutionResult();
- result.setArtifactResolutionNodes( set );
- return result;
- }
- catch ( OverConstrainedVersionException e )
- {
- throw new ArtifactResolutionException( "Unable to mediate dependency", e );
}
+
+ ArtifactResolutionResult result = new ArtifactResolutionResult();
+ result.setArtifactResolutionNodes( set );
+ return result;
}
private void recurse( ResolutionNode node, Map resolvedArtifacts, Map managedVersions,
@@ -212,11 +205,9 @@
if ( artifact.getVersion() == null )
{
// set the recommended version
- VersionRange versionRange = artifact.getVersionRange();
-
// TODO: maybe its better to just pass the range through to retrieval and use a transformation?
ArtifactVersion version;
- if ( !versionRange.isSelectedVersionKnown() )
+ if ( !artifact.isSelectedVersionKnown() )
{
List versions = artifact.getAvailableVersions();
if ( versions == null )
@@ -226,6 +217,7 @@
artifact.setAvailableVersions( versions );
}
+ VersionRange versionRange = artifact.getVersionRange();
version = versionRange.matchVersion( versions );
if ( version == null )
@@ -234,18 +226,19 @@
{
throw new OverConstrainedVersionException(
"No versions are present in the repository for the artifact with a range " +
- versionRange );
+ versionRange, artifact, remoteRepositories );
}
else
{
throw new OverConstrainedVersionException( "Couldn't find a version in " +
- versions + " to match range " + versionRange );
+ versions + " to match range " + versionRange, artifact,
+ remoteRepositories );
}
}
}
else
{
- version = versionRange.getSelectedVersion();
+ version = artifact.getSelectedVersion();
}
artifact.selectVersion( version.toString() );
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java?rev=307034&r1=307033&r2=307034&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java Thu Oct 6 23:44:59 2005
@@ -116,7 +116,7 @@
{
// set the recommended version
VersionRange versionRange = artifact.getVersionRange();
- String version = versionRange.getSelectedVersion().toString();
+ String version = artifact.getSelectedVersion().toString();
artifact.selectVersion( version );
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/TransitiveArtifactResolutionException.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/TransitiveArtifactResolutionException.java?rev=307034&r1=307033&r2=307034&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/TransitiveArtifactResolutionException.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/TransitiveArtifactResolutionException.java Thu Oct 6 23:44:59 2005
@@ -32,9 +32,4 @@
{
super( message, artifact, remoteRepositories, t );
}
-
- public TransitiveArtifactResolutionException( String message, Throwable cause )
- {
- super( message, cause );
- }
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/OverConstrainedVersionException.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/OverConstrainedVersionException.java?rev=307034&r1=307033&r2=307034&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/OverConstrainedVersionException.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/OverConstrainedVersionException.java Thu Oct 6 23:44:59 2005
@@ -1,5 +1,10 @@
package org.apache.maven.artifact.versioning;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+
+import java.util.List;
+
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
@@ -23,10 +28,16 @@
* @version $Id$
*/
public class OverConstrainedVersionException
- extends Exception
+ extends ArtifactResolutionException
{
- public OverConstrainedVersionException( String msg )
+ public OverConstrainedVersionException( String msg, Artifact artifact )
+ {
+ super( msg, artifact );
+ }
+
+ public OverConstrainedVersionException( String msg, Artifact artifact, List remoteRepositories )
{
- super( msg );
+ super( msg, artifact, remoteRepositories );
}
+
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java?rev=307034&r1=307033&r2=307034&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java Thu Oct 6 23:44:59 2005
@@ -16,6 +16,8 @@
* limitations under the License.
*/
+import org.apache.maven.artifact.Artifact;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
@@ -377,27 +379,7 @@
return restrictions;
}
- private ArtifactVersion max( ArtifactVersion v1, ArtifactVersion v2 )
- {
- if ( v1 == null )
- {
- return v2;
- }
- if ( v2 == null )
- {
- return v1;
- }
- else if ( v1.compareTo( v2 ) > 0 )
- {
- return v1;
- }
- else
- {
- return v2;
- }
- }
-
- public ArtifactVersion getSelectedVersion()
+ public ArtifactVersion getSelectedVersion( Artifact artifact )
throws OverConstrainedVersionException
{
ArtifactVersion version;
@@ -409,7 +391,7 @@
{
if ( restrictions.size() == 0 )
{
- throw new OverConstrainedVersionException( "The artifact has no valid ranges" );
+ throw new OverConstrainedVersionException( "The artifact has no valid ranges", artifact );
}
else
{
@@ -425,7 +407,7 @@
return version;
}
- public boolean isSelectedVersionKnown()
+ public boolean isSelectedVersionKnown( Artifact artifact )
throws OverConstrainedVersionException
{
boolean value = false;
@@ -437,7 +419,7 @@
{
if ( restrictions.size() == 0 )
{
- throw new OverConstrainedVersionException( "The artifact has no valid ranges" );
+ throw new OverConstrainedVersionException( "The artifact has no valid ranges", artifact );
}
else
{
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=307034&r1=307033&r2=307034&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 Thu Oct 6 23:44:59 2005
@@ -18,6 +18,7 @@
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.execution.MavenExecutionRequest;
@@ -255,7 +256,7 @@
logError( response );
}
}
- else if ( exception instanceof ArtifactResolutionException )
+ else if ( exception instanceof ArtifactNotFoundException )
{
logFailure( response, exception, null );
}
@@ -487,13 +488,8 @@
protected MavenSession createSession( MavenExecutionRequest request, ReactorManager rpm )
{
- return new MavenSession( container,
- request.getSettings(),
- request.getLocalRepository(),
- request.getEventDispatcher(),
- rpm,
- request.getGoals(),
- request.getBaseDirectory(),
+ return new MavenSession( container, request.getSettings(), request.getLocalRepository(),
+ request.getEventDispatcher(), rpm, request.getGoals(), request.getBaseDirectory(),
request.getExecutionProperties() );
}
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java?rev=307034&r1=307033&r2=307034&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java Thu Oct 6 23:44:59 2005
@@ -20,6 +20,7 @@
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ArtifactResolver;
@@ -52,10 +53,11 @@
private PlexusContainer container;
public void addExtension( Extension extension, MavenProject project, ArtifactRepository localRepository )
- throws ArtifactResolutionException, PlexusContainerException, InvalidVersionSpecificationException
+ throws ArtifactResolutionException, PlexusContainerException, InvalidVersionSpecificationException,
+ ArtifactNotFoundException
{
String extensionId = ArtifactUtils.versionlessKey( extension.getGroupId(), extension.getArtifactId() );
-
+
Artifact artifact = (Artifact) project.getExtensionArtifactMap().get( extensionId );
if ( artifact != null )
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionManager.java?rev=307034&r1=307033&r2=307034&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionManager.java Thu Oct 6 23:44:59 2005
@@ -17,6 +17,7 @@
*/
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.model.Extension;
@@ -32,5 +33,6 @@
public interface ExtensionManager
{
void addExtension( Extension extension, MavenProject project, ArtifactRepository localRepository )
- throws ArtifactResolutionException, PlexusContainerException, InvalidVersionSpecificationException;
+ throws ArtifactResolutionException, PlexusContainerException, InvalidVersionSpecificationException,
+ ArtifactNotFoundException;
}
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=307034&r1=307033&r2=307034&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 6 23:44:59 2005
@@ -19,6 +19,7 @@
import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.execution.MavenExecutionResponse;
@@ -38,7 +39,6 @@
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.PluginDescriptor;
import org.apache.maven.plugin.lifecycle.Execution;
@@ -157,6 +157,10 @@
{
response.setException( e );
}
+ catch ( ArtifactNotFoundException e )
+ {
+ response.setException( e );
+ }
catch ( ArtifactResolutionException e )
{
response.setException( e );
@@ -196,8 +200,7 @@
private void executeTaskSegments( List taskSegments, ReactorManager rm, MavenSession session,
MavenProject rootProject, EventDispatcher dispatcher,
MavenExecutionResponse response )
- throws PluginNotFoundException, MojoExecutionException, ArtifactResolutionException,
- LifecycleExecutionException, MojoFailureException
+ throws ArtifactNotFoundException, MojoExecutionException, LifecycleExecutionException, MojoFailureException
{
for ( Iterator it = taskSegments.iterator(); it.hasNext(); )
{
@@ -234,16 +237,22 @@
}
catch ( MojoExecutionException e )
{
+ // TODO: should this be removed?
handleExecutionFailure( rm, rootProject, e, task );
}
catch ( ArtifactResolutionException e )
{
+ // TODO: should this be removed?
handleExecutionFailure( rm, rootProject, e, task );
}
catch ( MojoFailureException e )
{
handleExecutionFailure( rm, rootProject, e, task );
}
+ catch ( ArtifactNotFoundException e )
+ {
+ handleExecutionFailure( rm, rootProject, e, task );
+ }
}
dispatcher.dispatchEnd( event, rootProject.getId() + " ( " + segment + " )" );
@@ -308,16 +317,22 @@
}
catch ( MojoExecutionException e )
{
+ // TODO: should this be removed?
handleExecutionFailure( rm, currentProject, e, task );
}
catch ( ArtifactResolutionException e )
{
+ // TODO: should this be removed?
handleExecutionFailure( rm, currentProject, e, task );
}
catch ( MojoFailureException e )
{
handleExecutionFailure( rm, currentProject, e, task );
}
+ catch ( ArtifactNotFoundException e )
+ {
+ handleExecutionFailure( rm, currentProject, e, task );
+ }
}
dispatcher.dispatchEnd( event, currentProject.getId() + " ( " + segment + " )" );
@@ -348,7 +363,7 @@
}
private void handleExecutionFailure( ReactorManager rm, MavenProject project, Exception e, String task )
- throws MojoExecutionException, ArtifactResolutionException, MojoFailureException
+ throws MojoExecutionException, MojoFailureException, ArtifactNotFoundException
{
if ( ReactorManager.FAIL_FAST.equals( rm.getFailureBehavior() ) )
{
@@ -362,9 +377,9 @@
{
throw (MojoFailureException) e;
}
- else if ( e instanceof ArtifactResolutionException )
+ else if ( e instanceof ArtifactNotFoundException )
{
- throw (ArtifactResolutionException) e;
+ throw (ArtifactNotFoundException) e;
}
else
{
@@ -383,6 +398,7 @@
}
private List segmentTaskListByAggregationNeeds( List tasks, MavenSession session, MavenProject project )
+ throws LifecycleExecutionException
{
List segments = new ArrayList();
@@ -419,13 +435,13 @@
// definitely a CLI goal, can use prefix
mojo = getMojoDescriptor( task, session, project, task, true );
}
- catch ( LifecycleExecutionException e )
+ catch ( ArtifactResolutionException e )
{
getLogger().info(
"Cannot find mojo descriptor for: \'" + task + "\' - Treating as non-aggregator." );
getLogger().debug( "", e );
}
- catch ( ArtifactResolutionException e )
+ catch ( ArtifactNotFoundException e )
{
getLogger().info(
"Cannot find mojo descriptor for: \'" + task + "\' - Treating as non-aggregator." );
@@ -484,7 +500,7 @@
}
private void executeGoal( String task, MavenSession session, MavenProject project, MavenExecutionResponse response )
- throws LifecycleExecutionException, PluginNotFoundException, MojoExecutionException,
+ throws LifecycleExecutionException, ArtifactNotFoundException, MojoExecutionException,
ArtifactResolutionException, MojoFailureException
{
if ( phases.contains( task ) )
@@ -501,7 +517,8 @@
private void executeGoalWithLifecycle( String task, MavenSession session, Map lifecycleMappings,
MavenProject project, MavenExecutionResponse response )
- throws ArtifactResolutionException, LifecycleExecutionException, MojoExecutionException, MojoFailureException
+ throws ArtifactResolutionException, LifecycleExecutionException, MojoExecutionException, MojoFailureException,
+ ArtifactNotFoundException
{
List goals = processGoalChain( task, lifecycleMappings );
@@ -510,7 +527,8 @@
private void executeStandaloneGoal( String task, MavenSession session, MavenProject project,
MavenExecutionResponse response )
- throws ArtifactResolutionException, LifecycleExecutionException, MojoExecutionException, MojoFailureException
+ throws ArtifactResolutionException, LifecycleExecutionException, MojoExecutionException, MojoFailureException,
+ ArtifactNotFoundException
{
// guaranteed to come from the CLI and not be part of a phase
MojoDescriptor mojoDescriptor = getMojoDescriptor( task, session, project, task, true );
@@ -518,7 +536,8 @@
}
private void executeGoals( List goals, MavenSession session, MavenProject project, MavenExecutionResponse response )
- throws LifecycleExecutionException, MojoExecutionException, ArtifactResolutionException, MojoFailureException
+ throws LifecycleExecutionException, MojoExecutionException, ArtifactResolutionException, MojoFailureException,
+ ArtifactNotFoundException
{
for ( Iterator i = goals.iterator(); i.hasNext(); )
{
@@ -561,7 +580,7 @@
}
private List getReports( MavenProject project, MojoExecution mojoExecution, MavenSession session )
- throws ArtifactResolutionException, LifecycleExecutionException
+ throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException
{
List reportPlugins = project.getReportPlugins();
@@ -658,7 +677,8 @@
private List getReports( ReportPlugin reportPlugin, ReportSet reportSet, MavenProject project, MavenSession session,
MojoExecution mojoExecution )
- throws PluginManagerException, PluginVersionResolutionException, ArtifactResolutionException
+ throws PluginManagerException, PluginVersionResolutionException, ArtifactResolutionException,
+ ArtifactNotFoundException
{
PluginDescriptor pluginDescriptor = pluginManager.verifyReportPlugin( reportPlugin, project, session );
@@ -694,7 +714,8 @@
private void forkLifecycle( MojoDescriptor mojoDescriptor, MavenSession session, MavenProject project,
MavenExecutionResponse response )
- throws LifecycleExecutionException, MojoExecutionException, ArtifactResolutionException, MojoFailureException
+ throws LifecycleExecutionException, MojoExecutionException, ArtifactResolutionException, MojoFailureException,
+ ArtifactNotFoundException
{
PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor();
getLogger().info( "Preparing " + pluginDescriptor.getGoalPrefix() + ":" + mojoDescriptor.getGoal() );
@@ -724,7 +745,8 @@
private void forkProjectLifecycle( MojoDescriptor mojoDescriptor, MavenSession session, MavenProject project,
MavenExecutionResponse response )
- throws ArtifactResolutionException, LifecycleExecutionException, MojoExecutionException, MojoFailureException
+ throws ArtifactResolutionException, LifecycleExecutionException, MojoExecutionException, MojoFailureException,
+ ArtifactNotFoundException
{
PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor();
@@ -841,7 +863,7 @@
}
private Map constructLifecycleMappings( MavenSession session, String selectedPhase, MavenProject project )
- throws ArtifactResolutionException, LifecycleExecutionException
+ throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException
{
// first, bind those associated with the packaging
Map lifecycleMappings = bindLifecycleForPackaging( session, selectedPhase, project );
@@ -858,7 +880,7 @@
}
private Map bindLifecycleForPackaging( MavenSession session, String selectedPhase, MavenProject project )
- throws ArtifactResolutionException, LifecycleExecutionException
+ throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException
{
Map mappings = findMappingsForLifecycle( session, project );
@@ -901,7 +923,7 @@
}
private Map findMappingsForLifecycle( MavenSession session, MavenProject project )
- throws ArtifactResolutionException, LifecycleExecutionException
+ throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException
{
String packaging = project.getPackaging();
LifecycleMapping m;
@@ -940,7 +962,8 @@
private Object findExtension( MavenProject project, String role, String roleHint, Settings settings,
ArtifactRepository localRepository )
- throws ArtifactResolutionException, PluginManagerException, PluginVersionResolutionException
+ throws ArtifactResolutionException, PluginManagerException, PluginVersionResolutionException,
+ ArtifactNotFoundException
{
for ( Iterator i = project.getBuildPlugins().iterator(); i.hasNext(); )
{
@@ -969,7 +992,8 @@
* lookup directly, or have them passed in
*/
private Map findArtifactTypeHandlers( MavenProject project, Settings settings, ArtifactRepository localRepository )
- throws ArtifactResolutionException, PluginManagerException, PluginVersionResolutionException
+ throws ArtifactResolutionException, PluginManagerException, PluginVersionResolutionException,
+ ArtifactNotFoundException
{
Map map = new HashMap();
for ( Iterator i = project.getBuildPlugins().iterator(); i.hasNext(); )
@@ -1014,7 +1038,7 @@
* @param session
*/
private void bindPluginToLifecycle( Plugin plugin, MavenSession session, Map phaseMap, MavenProject project )
- throws LifecycleExecutionException, ArtifactResolutionException
+ throws LifecycleExecutionException, ArtifactResolutionException, ArtifactNotFoundException
{
PluginDescriptor pluginDescriptor;
Settings settings = session.getSettings();
@@ -1048,7 +1072,7 @@
}
private PluginDescriptor verifyPlugin( Plugin plugin, MavenSession session, MavenProject project )
- throws ArtifactResolutionException, LifecycleExecutionException
+ throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException
{
PluginDescriptor pluginDescriptor;
try
@@ -1154,7 +1178,7 @@
private MojoDescriptor getMojoDescriptor( String task, MavenSession session, MavenProject project,
String invokedVia, boolean canUsePrefix )
- throws ArtifactResolutionException, LifecycleExecutionException
+ throws ArtifactResolutionException, LifecycleExecutionException, ArtifactNotFoundException
{
String goal;
Plugin plugin = null;
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=307034&r1=307033&r2=307034&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 6 23:44:59 2005
@@ -22,6 +22,7 @@
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.metadata.ResolutionGroup;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ArtifactResolver;
@@ -74,7 +75,6 @@
import java.io.File;
import java.io.IOException;
-import java.lang.reflect.Field;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
@@ -147,7 +147,8 @@
public PluginDescriptor verifyPlugin( Plugin plugin, MavenProject project, Settings settings,
ArtifactRepository localRepository )
- throws ArtifactResolutionException, PluginManagerException, PluginVersionResolutionException
+ throws ArtifactResolutionException, PluginManagerException, PluginVersionResolutionException,
+ ArtifactNotFoundException
{
// TODO: this should be possibly outside
// All version-resolution logic has been moved to DefaultPluginVersionManager.
@@ -163,7 +164,8 @@
private PluginDescriptor verifyVersionedPlugin( Plugin plugin, MavenProject project,
ArtifactRepository localRepository )
- throws PluginVersionResolutionException, PluginManagerException, ArtifactResolutionException
+ throws PluginVersionResolutionException, PluginManagerException, ArtifactNotFoundException,
+ ArtifactResolutionException
{
// TODO: this might result in an artifact "RELEASE" being resolved continuously
// FIXME: need to find out how a plugin gets marked as 'installed'
@@ -187,7 +189,7 @@
project.addPlugin( plugin );
}
- catch ( ArtifactResolutionException e )
+ catch ( ArtifactNotFoundException e )
{
String groupId = plugin.getGroupId();
String artifactId = plugin.getArtifactId();
@@ -255,7 +257,7 @@
protected void addPlugin( Plugin plugin, Artifact pluginArtifact, MavenProject project,
ArtifactRepository localRepository )
- throws ArtifactResolutionException, PluginManagerException
+ throws ArtifactResolutionException, PluginManagerException, ArtifactNotFoundException
{
// TODO: share with MMS? Not sure if it belongs here
if ( project.getProjectReferences() != null && !project.getProjectReferences().isEmpty() )
@@ -330,7 +332,8 @@
// ----------------------------------------------------------------------
public void executeMojo( MavenProject project, MojoExecution mojoExecution, MavenSession session )
- throws ArtifactResolutionException, PluginManagerException, MojoExecutionException, MojoFailureException
+ throws ArtifactResolutionException, PluginManagerException, MojoExecutionException, MojoFailureException,
+ ArtifactNotFoundException
{
MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
@@ -461,7 +464,7 @@
}
public MavenReport getReport( MavenProject project, MojoExecution mojoExecution, MavenSession session )
- throws PluginManagerException
+ throws PluginManagerException, ArtifactNotFoundException
{
MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
PluginDescriptor descriptor = mojoDescriptor.getPluginDescriptor();
@@ -489,7 +492,8 @@
}
public PluginDescriptor verifyReportPlugin( ReportPlugin reportPlugin, MavenProject project, MavenSession session )
- throws PluginVersionResolutionException, ArtifactResolutionException, PluginManagerException
+ throws PluginVersionResolutionException, ArtifactResolutionException, PluginManagerException,
+ ArtifactNotFoundException
{
String version = reportPlugin.getVersion();
@@ -527,7 +531,7 @@
private Mojo getConfiguredMojo( MavenSession session, Xpp3Dom dom, MavenProject project, boolean report,
MojoExecution mojoExecution )
- throws ComponentLookupException, PluginConfigurationException, PluginManagerException
+ throws ComponentLookupException, PluginConfigurationException, PluginManagerException, ArtifactNotFoundException
{
MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
@@ -593,7 +597,7 @@
private void ensurePluginContainerIsComplete( PluginDescriptor pluginDescriptor, PlexusContainer pluginContainer,
MavenProject project, MavenSession session )
- throws PluginConfigurationException
+ throws PluginConfigurationException, ArtifactNotFoundException
{
// if the plugin's already been used once, don't re-do this step...
// otherwise, we have to finish resolving the plugin's classpath and start the container.
@@ -662,7 +666,7 @@
private void resolveCoreArtifacts( List unresolved, ArtifactRepository localRepository,
List resolutionRepositories )
- throws ArtifactResolutionException
+ throws ArtifactResolutionException, ArtifactNotFoundException
{
for ( Iterator it = unresolved.iterator(); it.hasNext(); )
{
@@ -1152,7 +1156,7 @@
private void resolveTransitiveDependencies( MavenSession context, ArtifactResolver artifactResolver, String scope,
ArtifactFactory artifactFactory, MavenProject project )
- throws ArtifactResolutionException
+ throws ArtifactResolutionException, ArtifactNotFoundException
{
ArtifactFilter filter = new ScopeArtifactFilter( scope );
@@ -1172,7 +1176,8 @@
}
catch ( InvalidVersionSpecificationException e )
{
- throw new ArtifactResolutionException( "Error in dependency version", e );
+ // TODO: should that exception be derived from ArtifactResolutionException instead?
+ throw new ArtifactResolutionException( e.getMessage(), artifact );
}
ArtifactResolutionResult result = artifactResolver.resolveTransitively( project.getDependencyArtifacts(),
artifact, context.getLocalRepository(),
@@ -1187,7 +1192,7 @@
// ----------------------------------------------------------------------
private void downloadDependencies( MavenProject project, MavenSession context, ArtifactResolver artifactResolver )
- throws ArtifactResolutionException
+ throws ArtifactResolutionException, ArtifactNotFoundException
{
ArtifactRepository localRepository = context.getLocalRepository();
List remoteArtifactRepositories = project.getRemoteArtifactRepositories();