Author: jdcasey
Date: Thu Jul 28 20:41:02 2005
New Revision: 226333
URL: http://svn.apache.org/viewcvs?rev=226333&view=rev
Log:
Adding resolved flag to Artifact.
This is done to counter the possibility that an artifact's file is set without
the artifact actually being resolved, as in the case where the artifact is a
snapshot version, but no snapshot-enabled repositories exist (think plugin
resolution). This also has the beneficial side-effect of providing a more
intuitive method of checking whether an artifact has been resolved (rather than
artifact.getFile() != null).
Modified:
maven/components/trunk/maven-artifact-manager/pom.xml
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.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-project/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java
Modified: maven/components/trunk/maven-artifact-manager/pom.xml
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/pom.xml?rev=226333&r1=226332&r2=226333&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/pom.xml (original)
+++ maven/components/trunk/maven-artifact-manager/pom.xml Thu Jul 28 20:41:02
2005
@@ -23,6 +23,11 @@
<version>1.0-alpha-4</version>
</dependency>
<dependency>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.0.2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-provider-api</artifactId>
<version>1.0-alpha-4</version>
Modified:
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=226333&r1=226332&r2=226333&view=diff
==============================================================================
---
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
(original)
+++
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
Thu Jul 28 20:41:02 2005
@@ -244,6 +244,8 @@
if ( policy.isEnabled() )
{
getRemoteFile( repository, artifact.getFile(), remotePath,
downloadMonitor, policy.getChecksumPolicy() );
+
+ artifact.setResolved( true );
}
else
{
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=226333&r1=226332&r2=226333&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 Jul 28 20:41:02 2005
@@ -114,6 +114,11 @@
{
wagonManager.getArtifact( artifact, remoteRepositories
);
}
+
+ if ( !artifact.isResolved() )
+ {
+ throw new ArtifactResolutionException( "Failed to
resolve artifact, possibly due to a repository list that is not appropriately
equipped for this artifact's metadata.", artifact, remoteRepositories );
+ }
// must be after the artifact is downloaded
for ( Iterator i = artifact.getMetadataList().iterator();
i.hasNext(); )
@@ -134,6 +139,11 @@
{
throw new ArtifactResolutionException( e.getMessage(),
artifact, remoteRepositories, e );
}
+ }
+ else if ( destination.exists() )
+ {
+ // locally resolved...no need to hit the remote repo.
+ artifact.setResolved( 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=226333&r1=226332&r2=226333&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 Jul 28 20:41:02 2005
@@ -128,5 +128,9 @@
void setArtifactId( String artifactId );
boolean isSnapshot();
+
+ void setResolved( boolean resolved );
+
+ boolean isResolved();
}
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=226333&r1=226332&r2=226333&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 Jul 28 20:41:02 2005
@@ -72,6 +72,8 @@
private VersionRange versionRange;
+ private boolean resolved = false;
+
public DefaultArtifact( String groupId, String artifactId, VersionRange
versionRange, String scope, String type,
String classifier, ArtifactHandler artifactHandler
)
{
@@ -434,6 +436,16 @@
{
return getVersion().endsWith( SNAPSHOT_VERSION ) ||
getVersion().equals( LATEST_VERSION );
}
+ }
+
+ public void setResolved( boolean resolved )
+ {
+ this.resolved = resolved;
+ }
+
+ public boolean isResolved()
+ {
+ return resolved;
}
}
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=226333&r1=226332&r2=226333&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 Jul 28 20:41:02 2005
@@ -150,6 +150,12 @@
remoteRepositories, artifact.getDownloadUrl(),
artifact.getDependencyTrail(), t );
}
+ public ArtifactResolutionException( String message, Artifact artifact,
List remoteRepositories )
+ {
+ this( message, artifact.getGroupId(), artifact.getArtifactId(),
artifact.getVersion(), artifact.getType(),
+ remoteRepositories, artifact.getDownloadUrl(),
artifact.getDependencyTrail() );
+ }
+
public ArtifactResolutionException( String message, Artifact artifact )
{
this( message, artifact.getGroupId(), artifact.getArtifactId(),
artifact.getVersion(), artifact.getType(), null,
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java?rev=226333&r1=226332&r2=226333&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ActiveProjectArtifact.java
Thu Jul 28 20:41:02 2005
@@ -220,4 +220,14 @@
{
return artifact.compareTo( o );
}
+
+ public void setResolved( boolean resolved )
+ {
+ artifact.setResolved( resolved );
+ }
+
+ public boolean isResolved()
+ {
+ return artifact.isResolved();
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]