You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/08/02 16:41:04 UTC
svn commit: r800086 - in
/maven/components/trunk/maven-compat/src/main/java/org/apache/maven:
artifact/resolver/ArtifactResolver.java
artifact/resolver/DefaultArtifactResolver.java
repository/LegacyRepositorySystem.java repository/RepositorySystem.java
Author: bentmann
Date: Sun Aug 2 14:41:04 2009
New Revision: 800086
URL: http://svn.apache.org/viewvc?rev=800086&view=rev
Log:
o Extended repo system to grab artifacts without resolving them
Modified:
maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java
maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/LegacyRepositorySystem.java
maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/RepositorySystem.java
Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java?rev=800086&r1=800085&r2=800086&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolver.java Sun Aug 2 14:41:04 2009
@@ -35,6 +35,8 @@
// Just hide the one method we want behind the RepositorySystem interface.
public interface ArtifactResolver
{
+ ArtifactResolutionResult collect( ArtifactResolutionRequest request );
+
ArtifactResolutionResult resolve( ArtifactResolutionRequest request );
// The rest is deprecated
Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=800086&r1=800085&r2=800086&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Sun Aug 2 14:41:04 2009
@@ -339,9 +339,19 @@
// ------------------------------------------------------------------------
//
// ------------------------------------------------------------------------
-
+
+ public ArtifactResolutionResult collect( ArtifactResolutionRequest request )
+ {
+ return resolve( request, true );
+ }
+
public ArtifactResolutionResult resolve( ArtifactResolutionRequest request )
{
+ return resolve( request, false );
+ }
+
+ private ArtifactResolutionResult resolve( ArtifactResolutionRequest request, boolean collectOnly )
+ {
Artifact rootArtifact = request.getArtifact();
Set<Artifact> artifacts = request.getArtifactDependencies();
Map managedVersions = request.getManagedVersionMap();
@@ -382,7 +392,7 @@
// file reference. But this may be a Maven Plugin that we need to resolve from a remote repository
// as well as its dependencies.
- if ( request.isResolveRoot() /* && rootArtifact.getFile() == null */ )
+ if ( !collectOnly && request.isResolveRoot() /* && rootArtifact.getFile() == null */ )
{
try
{
@@ -457,7 +467,7 @@
return result;
}
- if ( result.getArtifacts() != null )
+ if ( !collectOnly && result.getArtifacts() != null )
{
for ( Artifact artifact : result.getArtifacts() )
{
Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/LegacyRepositorySystem.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/LegacyRepositorySystem.java?rev=800086&r1=800085&r2=800086&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/LegacyRepositorySystem.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/LegacyRepositorySystem.java Sun Aug 2 14:41:04 2009
@@ -260,6 +260,57 @@
return url;
}
+ public ArtifactResolutionResult collect( ArtifactResolutionRequest request )
+ {
+ /*
+ * Probably is not worth it, but here I make sure I restore request
+ * to its original state.
+ */
+ try
+ {
+ LocalArtifactRepository ideWorkspace = plexus.lookup( LocalArtifactRepository.class, LocalArtifactRepository.IDE_WORKSPACE );
+
+ if ( request.getLocalRepository() instanceof DelegatingLocalArtifactRepository )
+ {
+ DelegatingLocalArtifactRepository delegatingLocalRepository = (DelegatingLocalArtifactRepository) request.getLocalRepository();
+
+ LocalArtifactRepository orig = delegatingLocalRepository.getIdeWorspace();
+
+ delegatingLocalRepository.setIdeWorkspace( ideWorkspace );
+
+ try
+ {
+ return artifactResolver.collect( request );
+ }
+ finally
+ {
+ delegatingLocalRepository.setIdeWorkspace( orig );
+ }
+ }
+ else
+ {
+ ArtifactRepository localRepository = request.getLocalRepository();
+ DelegatingLocalArtifactRepository delegatingLocalRepository = new DelegatingLocalArtifactRepository( localRepository );
+ delegatingLocalRepository.setIdeWorkspace( ideWorkspace );
+ request.setLocalRepository( delegatingLocalRepository );
+ try
+ {
+ return artifactResolver.collect( request );
+ }
+ finally
+ {
+ request.setLocalRepository( localRepository );
+ }
+ }
+ }
+ catch ( ComponentLookupException e )
+ {
+ // no ide workspace artifact resolution
+ }
+
+ return artifactResolver.resolve( request );
+ }
+
public ArtifactResolutionResult resolve( ArtifactResolutionRequest request )
{
/*
Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/RepositorySystem.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/RepositorySystem.java?rev=800086&r1=800085&r2=800086&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/RepositorySystem.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/repository/RepositorySystem.java Sun Aug 2 14:41:04 2009
@@ -90,6 +90,8 @@
*/
List<ArtifactRepository> getEffectiveRepositories( List<ArtifactRepository> repositories );
+ ArtifactResolutionResult collect( ArtifactResolutionRequest request );
+
ArtifactResolutionResult resolve( ArtifactResolutionRequest request );
MetadataResolutionResult resolveMetadata( MetadataResolutionRequest request );