You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2007/11/11 09:03:49 UTC

svn commit: r593854 - in /maven/artifact/trunk: ./ src/main/java/org/apache/maven/artifact/ src/main/java/org/apache/maven/artifact/deployer/ src/main/java/org/apache/maven/artifact/factory/ src/main/java/org/apache/maven/artifact/handler/manager/ src/...

Author: jvanzyl
Date: Sun Nov 11 00:03:46 2007
New Revision: 593854

URL: http://svn.apache.org/viewvc?rev=593854&view=rev
Log:
o using @plexus annotations for components 
o isolating more of the new graph resolution mechanism from the old objects so that we have pure graph lookup
  -> a new MetadataSource which uses the new ArtifactMetadata construct and a PomMetadataSource that does zero mutation of
     the incoming graph, it will all be left to post processing of the graph

  the upshot is that both mechanisms co-exist happily and we're successfully make graphs which are more accurate


Added:
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataResolution.java   (with props)
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataRetrievalException.java   (contents, props changed)
      - copied, changed from r593740, maven/artifact/trunk/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataRetrievalException.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataSource.java   (contents, props changed)
      - copied, changed from r593740, maven/artifact/trunk/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java
    maven/artifact/trunk/src/test/java/org/apache/maven/artifact/transform/
    maven/artifact/trunk/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java   (with props)
Removed:
    maven/artifact/trunk/src/main/resources/
Modified:
    maven/artifact/trunk/pom.xml
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/Artifact.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/ArtifactDeploymentException.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/FlatRepositoryLayout.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/LegacyRepositoryLayout.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/ResolutionListener.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/DefaultConflictResolver.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/FarthestConflictResolver.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/NearestConflictResolver.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/NewestConflictResolver.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/OldestConflictResolver.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/ArtifactMetadata.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/DefaultMetadataResolver.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataGraph.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataTreeNode.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/ArtifactTransformationManager.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/DefaultArtifactTransformationManager.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/LatestArtifactTransformation.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/ReleaseArtifactTransformation.java
    maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java
    maven/artifact/trunk/src/test/java/org/apache/maven/artifact/DefaultArtifactTest.java
    maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
    maven/artifact/trunk/src/test/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactoryTest.java
    maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java

Modified: maven/artifact/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/pom.xml?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/pom.xml (original)
+++ maven/artifact/trunk/pom.xml Sun Nov 11 00:03:46 2007
@@ -105,7 +105,19 @@
           <target>1.5</target>
           <source>1.5</source>
         </configuration>
-      </plugin>      
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.plexus</groupId>
+        <artifactId>plexus-maven-plugin</artifactId>
+        <version>1.3.6-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>descriptor</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
-</project>
\ No newline at end of file
+</project>

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/Artifact.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/Artifact.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/Artifact.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/Artifact.java Sun Nov 11 00:03:46 2007
@@ -47,7 +47,7 @@
 
     Pattern VERSION_FILE_PATTERN = Pattern.compile( "^(.*)-([0-9]{8}.[0-9]{6})-([0-9]+)$" );
 
-    // TODO: into scope handler
+    // TODO: into artifactScope handler
 
     String SCOPE_COMPILE = ArtifactScopeEnum.compile.toString();
 
@@ -70,11 +70,11 @@
     void setVersion( String version );
 
     /**
-     * Get the scope of the artifact. If the artifact is a standalone rather than a dependency, it's scope will be
-     * <code>null</code>. The scope may not be the same as it was declared on the original dependency, as this is the
-     * result of combining it with the main project scope.
+     * Get the artifactScope of the artifact. If the artifact is a standalone rather than a dependency, it's artifactScope will be
+     * <code>null</code>. The artifactScope may not be the same as it was declared on the original dependency, as this is the
+     * result of combining it with the main project artifactScope.
      *
-     * @return the scope
+     * @return the artifactScope
      */
     String getScope();
 

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java Sun Nov 11 00:03:46 2007
@@ -5,6 +5,7 @@
     compile( 1 ), test( 2 ), runtime( 3 ), provided( 4 ), system( 5 );
 
     public static final ArtifactScopeEnum DEFAULT_SCOPE = compile;
+
     private int id;
 
     // Constructor
@@ -16,5 +17,31 @@
     int getId()
     {
         return id;
+    }
+
+    public String getScope()
+    {
+        if ( id == 1 )
+        {
+            return Artifact.SCOPE_COMPILE;
+        }
+        else if ( id == 2 )
+        {
+            return Artifact.SCOPE_TEST;
+
+        }
+        else if ( id == 3 )
+        {
+            return Artifact.SCOPE_RUNTIME;
+
+        }
+        else if ( id == 4 )
+        {
+            return Artifact.SCOPE_PROVIDED;
+        }
+        else
+        {
+            return Artifact.SCOPE_SYSTEM;
+        }
     }
 }

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/ArtifactDeploymentException.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/ArtifactDeploymentException.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/ArtifactDeploymentException.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/ArtifactDeploymentException.java Sun Nov 11 00:03:46 2007
@@ -22,7 +22,6 @@
 /**
  * @author Jason van Zyl
  * @version $Id$
- * @plexus.component
  */
 public class ArtifactDeploymentException
     extends Exception

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java Sun Nov 11 00:03:46 2007
@@ -43,6 +43,7 @@
 import java.util.Iterator;
 import java.util.List;
 
+/** @plexus.component */
 public class DefaultArtifactDeployer
     extends AbstractLogEnabled
     implements ArtifactDeployer
@@ -50,7 +51,7 @@
     /** @plexus.requirement */
     private WagonManager wagonManager;
 
-    /** @plexuxs.requirement */
+    /** @plexus.requirement */
     private ArtifactTransformationManager transformationManager;
 
     /** @plexus.requirement */
@@ -59,7 +60,7 @@
     /** @plexus.requirement */
     private ArtifactMetadataSource metadataSource;
 
-    /** @plexus.requirement */
+    /** @plexus.requirement role-hint="default" */
     private ArtifactRepositoryLayout defaultLayout;
 
     /** @deprecated we want to use the artifact method only, and ensure artifact.file is set correctly. */

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java Sun Nov 11 00:03:46 2007
@@ -178,7 +178,7 @@
                                      String inheritedScope,
                                      boolean optional )
     {
-        // TODO: can refactor - inherited scope calculation belongs in the collector, use scope handler
+        // TODO: can refactor - inherited artifactScope calculation belongs in the collector, use artifactScope handler
 
         String desiredScope = Artifact.SCOPE_RUNTIME;
         if ( inheritedScope == null )
@@ -191,7 +191,7 @@
         }
         else if ( Artifact.SCOPE_COMPILE.equals( scope ) && Artifact.SCOPE_COMPILE.equals( inheritedScope ) )
         {
-            // added to retain compile scope. Remove if you want compile inherited as runtime
+            // added to retain compile artifactScope. Remove if you want compile inherited as runtime
             desiredScope = Artifact.SCOPE_COMPILE;
         }
 

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java Sun Nov 11 00:03:46 2007
@@ -24,7 +24,7 @@
 import java.util.Map;
 
 /**
- * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
+ * @author Jason van Zyl
  * @version $Id$
  */
 public interface ArtifactHandlerManager

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java Sun Nov 11 00:03:46 2007
@@ -27,14 +27,13 @@
 
 /**
  * @author Jason van Zyl
- * @version $Id: DefaultArtifactHandlerManager.java,v 1.1.1.1 2004/08/09
- *          18:37:32 jvanzyl Exp $
+ * @version $Id$
  * @plexus.component
  */
 public class DefaultArtifactHandlerManager
     implements ArtifactHandlerManager
 {
-    /** @plexus.requirement role="org.apache.maven.artifact.ArtifactHandler" */
+    /** @plexus.requirement role="org.apache.maven.artifact.handler.ArtifactHandler" */
     private Map artifactHandlers;
 
     public ArtifactHandler getArtifactHandler( String type )

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java Sun Nov 11 00:03:46 2007
@@ -63,7 +63,7 @@
 import java.util.List;
 import java.util.Map;
 
-/** @plexus.requirement */
+/** @plexus.component */
 public class DefaultWagonManager
     extends AbstractLogEnabled
     implements WagonManager,
@@ -95,16 +95,18 @@
 
     private boolean online = true;
 
+    private boolean interactive = true;
+
+    private RepositoryPermissions defaultRepositoryPermissions;
+    
+    // Components
+
     /** @plexus.requirement */
     private ArtifactRepositoryFactory repositoryFactory;
 
     /** @plexus.requirement role="org.apache.maven.wagon.Wagon" */
     private Map wagons;
 
-    private boolean interactive = true;
-
-    private RepositoryPermissions defaultRepositoryPermissions;
-
     /** encapsulates access to Server credentials */
     private CredentialsDataSource credentialsDataSource;
 
@@ -314,11 +316,11 @@
                              List remoteRepositories )
         throws TransferFailedException, ResourceDoesNotExistException
     {
-        // TODO [BP]: The exception handling here needs some work
         boolean successful = false;
-        for ( Iterator iter = remoteRepositories.iterator(); iter.hasNext() && !successful; )
+
+        for ( Iterator i = remoteRepositories.iterator(); i.hasNext() && !successful; )
         {
-            ArtifactRepository repository = (ArtifactRepository) iter.next();
+            ArtifactRepository repository = (ArtifactRepository) i.next();
 
             try
             {
@@ -368,8 +370,8 @@
         {
             getLogger().debug( "Trying repository " + repository.getId() );
 
-            getRemoteFile( repository, artifact.getFile(), remotePath, downloadMonitor, policy.getChecksumPolicy(),
-                false );
+            getRemoteFile( repository, artifact.getFile(), remotePath, downloadMonitor, policy.getChecksumPolicy(), false );
+
             getLogger().debug( "  Artifact resolved" );
 
             artifact.setResolved( true );
@@ -463,6 +465,7 @@
                     try
                     {
                         downloaded = wagon.getIfNewer( remotePath, temp, destination.lastModified() );
+
                         if ( !downloaded )
                         {
                             // prevent additional checks of this artifact until it expires again
@@ -473,6 +476,7 @@
                     {
                         // older wagons throw this. Just get() instead
                         wagon.get( remotePath, temp );
+
                         downloaded = true;
                     }
                 }

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java Sun Nov 11 00:03:46 2007
@@ -43,6 +43,7 @@
     // FIXME: This is a non-ThreadLocal cache!!
     private final Map artifactRepositories = new HashMap();
 
+    /** @plexus.requirement role="org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout" */                                  
     private Map repositoryLayouts;
 
     public ArtifactRepositoryLayout getLayout( String layoutId )

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java Sun Nov 11 00:03:46 2007
@@ -24,7 +24,10 @@
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 
-/** @author jdcasey */
+/**
+ * @author jdcasey
+ * @plexus.component role="org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout" role-hint="default"
+ */
 public class DefaultRepositoryLayout
     implements ArtifactRepositoryLayout
 {

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/FlatRepositoryLayout.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/FlatRepositoryLayout.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/FlatRepositoryLayout.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/FlatRepositoryLayout.java Sun Nov 11 00:03:46 2007
@@ -11,6 +11,7 @@
  * http://svn.apache.org/viewvc/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java
  *
  * @version $Id$
+ * @plexus.component role="org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout" role-hint="flat" 
  */
 public class FlatRepositoryLayout
     implements ArtifactRepositoryLayout

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/LegacyRepositoryLayout.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/LegacyRepositoryLayout.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/LegacyRepositoryLayout.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/layout/LegacyRepositoryLayout.java Sun Nov 11 00:03:46 2007
@@ -24,7 +24,10 @@
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 
-/** @author jdcasey */
+/**
+ * @author jdcasey
+ * @plexus.component role="org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout" role-hint="legacy"
+ */
 public class LegacyRepositoryLayout
     implements ArtifactRepositoryLayout
 {

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java Sun Nov 11 00:03:46 2007
@@ -43,7 +43,7 @@
 
 /**
  * @author Jason van Zyl
- * @plexus.requirement
+ * @plexus.component
  */
 public class DefaultRepositoryMetadataManager
     extends AbstractLogEnabled

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java Sun Nov 11 00:03:46 2007
@@ -87,15 +87,15 @@
                                        String ignoredScope )
     {
         logger.debug(
-            indent + artifact + " (not setting scope to: " + ignoredScope + "; local scope " + artifact.getScope() +
+            indent + artifact + " (not setting artifactScope to: " + ignoredScope + "; local artifactScope " + artifact.getScope() +
                 " wins)" );
 
         // TODO: better way than static? this might hide messages in a reactor
         if ( !ignoredArtifacts.contains( artifact ) )
         {
-            logger.warn( "\n\tArtifact " + artifact + " retains local scope '" + artifact.getScope() +
-                "' overriding broader scope '" + ignoredScope + "'\n" +
-                "\tgiven by a dependency. If this is not intended, modify or remove the local scope.\n" );
+            logger.warn( "\n\tArtifact " + artifact + " retains local artifactScope '" + artifact.getScope() +
+                "' overriding broader artifactScope '" + ignoredScope + "'\n" +
+                "\tgiven by a dependency. If this is not intended, modify or remove the local artifactScope.\n" );
             ignoredArtifacts.add( artifact );
         }
     }
@@ -103,7 +103,7 @@
     public void updateScope( Artifact artifact,
                              String scope )
     {
-        logger.debug( indent + artifact + " (setting scope to: " + scope + ")" );
+        logger.debug( indent + artifact + " (setting artifactScope to: " + scope + ")" );
     }
 
     public void selectVersionFromRange( Artifact artifact )
@@ -122,8 +122,8 @@
 
     /**
      * The logic used here used to be a copy of the logic used in the DefaultArtifactCollector, and this method was
-     * called right before the actual version/scope changes were done. However, a different set of conditionals (and
-     * more information) is needed to be able to determine when and if the version and/or scope changes. See the two
+     * called right before the actual version/artifactScope changes were done. However, a different set of conditionals (and
+     * more information) is needed to be able to determine when and if the version and/or artifactScope changes. See the two
      * added methods, manageArtifactVersion and manageArtifactScope.
      */
     public void manageArtifact( Artifact artifact,
@@ -137,7 +137,7 @@
         }
         if ( replacement.getScope() != null )
         {
-            msg += "applying scope: " + replacement.getScope();
+            msg += "applying artifactScope: " + replacement.getScope();
         }
         msg += ")";
         logger.debug( msg );
@@ -160,7 +160,7 @@
         // only show msg if a change is actually taking place
         if ( !replacement.getScope().equals( artifact.getScope() ) )
         {
-            String msg = indent + artifact + " (applying scope: " + replacement.getScope() + ")";
+            String msg = indent + artifact + " (applying artifactScope: " + replacement.getScope() + ")";
             logger.debug( msg );
         }
     }

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java Sun Nov 11 00:03:46 2007
@@ -55,7 +55,10 @@
 public class DefaultArtifactCollector
     implements ArtifactCollector
 {
-    /** The conflict resolver to use when none is specified. */
+    /**
+     * The conflict resolver to use when none is specified.
+     * @plexus.requirement role-hint="nearest" 
+     */
     private ConflictResolver defaultConflictResolver;
 
     public ArtifactResolutionResult collect( Set artifacts,
@@ -146,7 +149,7 @@
                         if ( node.filterTrail( filter ) )
                         {
                             // If it was optional and not a direct dependency,
-                            // we don't add it or its children, just allow the update of the version and scope
+                            // we don't add it or its children, just allow the update of the version and artifactScope
                             if ( node.isChildOfRootNode() || !artifact.isOptional() )
                             {
                                 artifact.setDependencyTrail( node.getDependencyTrail() );
@@ -324,7 +327,7 @@
 
                         if ( checkScopeUpdate( farthest, nearest, listeners ) )
                         {
-                            // if we need to update scope of nearest to use farthest scope, use the nearest version, but farthest scope
+                            // if we need to update artifactScope of nearest to use farthest artifactScope, use the nearest version, but farthest artifactScope
                             nearest.disable();
                             farthest.getArtifact().setVersion( nearest.getArtifact().getVersion() );
                             fireEvent( ResolutionListener.OMIT_FOR_NEARER, listeners, nearest, farthest.getArtifact() );
@@ -535,7 +538,7 @@
     }
 
     /**
-     * Check if the scope needs to be updated.
+     * Check if the artifactScope needs to be updated.
      * <a href="http://docs.codehaus.org/x/IGU#DependencyMediationandConflictResolution-Scoperesolution">More info</a>.
      *
      * @param farthest  farthest resolution node
@@ -565,7 +568,7 @@
             updateScope = true;
         }
 
-        /* current POM rules all, if nearest is in current pom, do not update its scope */
+        /* current POM rules all, if nearest is in current pom, do not update its artifactScope */
         if ( ( nearest.getDepth() < 2 ) && updateScope )
         {
             updateScope = false;
@@ -577,8 +580,8 @@
         {
             fireEvent( ResolutionListener.UPDATE_SCOPE, listeners, nearest, farthestArtifact );
 
-            // previously we cloned the artifact, but it is more effecient to just update the scope
-            // if problems are later discovered that the original object needs its original scope value, cloning may
+            // previously we cloned the artifact, but it is more effecient to just update the artifactScope
+            // if problems are later discovered that the original object needs its original artifactScope value, cloning may
             // again be appropriate
             nearestArtifact.setScope( farthestArtifact.getScope() );
         }

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/ResolutionListener.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/ResolutionListener.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/ResolutionListener.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/ResolutionListener.java Sun Nov 11 00:03:46 2007
@@ -50,7 +50,7 @@
     int OMIT_FOR_CYCLE = 8;
 
     /**
-     * this event means that the scope has NOT been updated to a farther node scope because current
+     * this event means that the artifactScope has NOT been updated to a farther node artifactScope because current
      * node is in the first level pom
      */
     int UPDATE_SCOPE_CURRENT_POM = 9;
@@ -93,11 +93,11 @@
     void omitForCycle( Artifact artifact );
 
     /**
-     * This event means that the scope has NOT been updated to a farther node scope because current
+     * This event means that the artifactScope has NOT been updated to a farther node artifactScope because current
      * node is in the first level pom
      *
      * @param artifact     current node artifact, the one in the first level pom
-     * @param ignoredScope scope that was ignored because artifact was in first level pom
+     * @param ignoredScope artifactScope that was ignored because artifact was in first level pom
      */
     void updateScopeCurrentPom( Artifact artifact,
                                 String ignoredScope );

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/DefaultConflictResolver.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/DefaultConflictResolver.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/DefaultConflictResolver.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/DefaultConflictResolver.java Sun Nov 11 00:03:46 2007
@@ -26,6 +26,7 @@
  * @version $Id$
  * @see NearestConflictResolver
  * @deprecated As of 3.0, use a specific implementation instead, e.g. {@link NearestConflictResolver}
+ * @plexus.component
  */
 public class DefaultConflictResolver
     extends NearestConflictResolver

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/FarthestConflictResolver.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/FarthestConflictResolver.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/FarthestConflictResolver.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/FarthestConflictResolver.java Sun Nov 11 00:03:46 2007
@@ -28,6 +28,7 @@
  * @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
  * @version $Id$
  * @since 3.0
+ * @plexus.component role-hint="farthest"
  */
 public class FarthestConflictResolver
     implements ConflictResolver

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/NearestConflictResolver.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/NearestConflictResolver.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/NearestConflictResolver.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/NearestConflictResolver.java Sun Nov 11 00:03:46 2007
@@ -29,6 +29,7 @@
  * @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
  * @version $Id$
  * @since 3.0
+ * @plexus.component role-hint="nearest"
  */
 public class NearestConflictResolver
     implements ConflictResolver

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/NewestConflictResolver.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/NewestConflictResolver.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/NewestConflictResolver.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/NewestConflictResolver.java Sun Nov 11 00:03:46 2007
@@ -31,6 +31,7 @@
  * @version $Id$
  * @see ArtifactVersion#compareTo(Object)
  * @since 3.0
+ * @plexus.component role-hint="newest"
  */
 public class NewestConflictResolver
     implements ConflictResolver

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/OldestConflictResolver.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/OldestConflictResolver.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/OldestConflictResolver.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/conflict/OldestConflictResolver.java Sun Nov 11 00:03:46 2007
@@ -31,6 +31,7 @@
  * @version $Id$
  * @see ArtifactVersion#compareTo(Object)
  * @since 3.0
+ * @plexus.component role-hint="oldest"
  */
 public class OldestConflictResolver
     implements ConflictResolver

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java Sun Nov 11 00:03:46 2007
@@ -23,7 +23,7 @@
 import org.apache.maven.artifact.DefaultArtifact;
 
 /**
- * Filter to only retain objects in the given scope or better.
+ * Filter to only retain objects in the given artifactScope or better.
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  * @version $Id$

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/ArtifactMetadata.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/ArtifactMetadata.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/ArtifactMetadata.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/ArtifactMetadata.java Sun Nov 11 00:03:46 2007
@@ -3,8 +3,6 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.ArtifactScopeEnum;
 
-import sun.security.action.GetLongAction;
-
 /** @author Oleg Gusakov */
 public class ArtifactMetadata
 {
@@ -12,7 +10,7 @@
     protected String artifactId;
     protected String version;
     protected String type;
-    protected ArtifactScopeEnum scope;
+    protected ArtifactScopeEnum artifactScope;
     protected String classifier;
     protected String uri;
 
@@ -40,9 +38,9 @@
                              String name,
                              String version,
                              String type,
-                             ArtifactScopeEnum scope )
+                             ArtifactScopeEnum artifactScope )
     {
-        this( groupId, name, version, type, scope, null );
+        this( groupId, name, version, type, artifactScope, null );
     }
 
     //------------------------------------------------------------------
@@ -50,28 +48,30 @@
                              String name,
                              String version,
                              String type,
-                             ArtifactScopeEnum scope,
+                             ArtifactScopeEnum artifactScope,
                              String classifier )
     {
         this.groupId = groupId;
         this.artifactId = name;
         this.version = version;
         this.type = type;
-        this.scope = scope;
+        this.artifactScope = artifactScope;
         this.classifier = classifier;
     }
 
     //------------------------------------------------------------------
     public ArtifactMetadata( Artifact af )
     {
+        /*
         if ( af != null )
         {
             init( af );
         }
+        */
     }
 
     //------------------------------------------------------------------
-    public void init( Artifact af )
+    public void init( ArtifactMetadata af )
     {
         setGroupId( af.getGroupId() );
         setArtifactId( af.getArtifactId() );
@@ -79,7 +79,7 @@
         setType( af.getType() );
         setScope( af.getScope() );
         setClassifier( af.getClassifier() );
-        setUri( af.getDownloadUrl() );
+        //setUri( af.getDownloadUrl() );
 
         this.resolved = af.isResolved();
     }
@@ -138,19 +138,19 @@
         this.type = type;
     }
 
-    public ArtifactScopeEnum getScope()
+    public ArtifactScopeEnum getArtifactScope()
     {
-        return scope == null ? ArtifactScopeEnum.DEFAULT_SCOPE : scope;
+        return artifactScope == null ? ArtifactScopeEnum.DEFAULT_SCOPE : artifactScope;
     }
 
-    public void setScope( ArtifactScopeEnum scope )
+    public void setArtifactScope( ArtifactScopeEnum artifactScope )
     {
-        this.scope = scope;
+        this.artifactScope = artifactScope;
     }
 
     public void setScope( String scope )
     {
-        this.scope = scope == null
+        this.artifactScope = scope == null
             ? ArtifactScopeEnum.DEFAULT_SCOPE
             : ArtifactScopeEnum.valueOf( scope )
             ;
@@ -184,6 +184,21 @@
     public void setUri( String uri )
     {
         this.uri = uri;
+    }
+
+    public String getScope()
+    {
+        if ( artifactScope == null )
+        {
+            return ArtifactScopeEnum.DEFAULT_SCOPE.getScope();
+        }
+
+        return artifactScope.getScope();
+    }
+
+    public String getDependencyConflictId()
+    {
+        return groupId + ":" + artifactId;
     }
 
     //------------------------------------------------------------------

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/DefaultMetadataResolver.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/DefaultMetadataResolver.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/DefaultMetadataResolver.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/DefaultMetadataResolver.java Sun Nov 11 00:03:46 2007
@@ -5,8 +5,6 @@
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
-import org.apache.maven.artifact.metadata.ResolutionGroup;
 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
@@ -24,13 +22,13 @@
     //------------------------------------------------------------------------
 
     /** @plexus.requirement */
-    ArtifactResolver ar;
+    ArtifactResolver artifactResolver;
 
     /** @plexus.requirement */
-    ArtifactFactory af;
+    ArtifactFactory artifactFactory;
 
     /** @plexus.requirement */
-    ArtifactMetadataSource ams;
+    MetadataSource metadataSource;
 
     //------------------------------------------------------------------------
     public MetadataResolutionResult resolveMetadata( MetadataResolutionRequest req )
@@ -39,13 +37,16 @@
         try
         {
             getLogger().debug( "Received request for: " + req.getQuery() );
+
             MetadataResolutionResult res = new MetadataResolutionResult();
+
             if ( req.type == null )
             {
                 throw new MetadataResolutionException( "no type in the request" );
             }
 
             MetadataTreeNode tree = resolveTree( req, null );
+
             MetadataGraph graph;
 
             if ( MetadataResolutionRequestTypeEnum.tree.equals( req.type ) )
@@ -55,7 +56,9 @@
             if ( MetadataResolutionRequestTypeEnum.graph.equals( req.type ) )
             {
                 graph = new MetadataGraph( tree );
+
                 res.setTree( tree );
+
                 res.setGraph( graph );
             }
 
@@ -79,29 +82,35 @@
         try
         {
             ArtifactMetadata query = req.getQuery();
-            Artifact pomArtifact = af.createArtifact(
+
+            Artifact pomArtifact = artifactFactory.createArtifact(
                 query.getGroupId()
                 , query.getArtifactId()
                 , query.getVersion()
                 , null
                 , "pom"
             );
+
             getLogger().debug( "resolveMetadata request:"
                 + "\n> artifact   : " + pomArtifact.toString()
                 + "\n> remoteRepos: " + req.getRemoteRepositories()
                 + "\n> localRepo  : " + req.getLocalRepository()
             );
+
             String error = null;
+
             try
             {
                 ArtifactResolutionRequest arr = new ArtifactResolutionRequest();
+
                 arr.setArtifact( pomArtifact );
+
                 arr.setLocalRepository( req.getLocalRepository() );
+
                 arr.setRemoteRepostories( req.getRemoteRepositories() );
-                ar.resolve( pomArtifact
-                    , req.getRemoteRepositories()
-                    , req.getLocalRepository()
-                );
+
+                artifactResolver.resolve( pomArtifact, req.getRemoteRepositories() , req.getLocalRepository() );
+
                 if ( !pomArtifact.isResolved() )
                 {
                     getLogger().info( "*************> Did not resolve " + pomArtifact.toString()
@@ -114,6 +123,7 @@
             catch ( ArtifactResolutionException are )
             {
                 pomArtifact.setResolved( false );
+
                 error = are.getMessage();
             }
             catch ( ArtifactNotFoundException anfe )
@@ -130,18 +140,25 @@
                     + "\nerror: " + error
                 );
             }
+
             if ( pomArtifact.isResolved() )
             {
-                ResolutionGroup rg = ams.retrieve( pomArtifact, req.getLocalRepository(), req.getRemoteRepositories() );
-                MetadataTreeNode node = new MetadataTreeNode( pomArtifact, parent, true, query.getScope() );
-                Set<Artifact> dependencies = (Set<Artifact>) rg.getArtifacts();
+                MetadataResolution metadataResolution = metadataSource.retrieve( query, req.getLocalRepository(), req.getRemoteRepositories() );
+
+                MetadataTreeNode node = new MetadataTreeNode( pomArtifact, parent, true, query.getArtifactScope() );
+
+                Set<ArtifactMetadata> dependencies = metadataResolution.getDependencies();
+
                 if ( dependencies != null && dependencies.size() > 0 )
                 {
                     ArrayList<MetadataTreeNode> kids = new ArrayList<MetadataTreeNode>( dependencies.size() );
-                    for ( Artifact a : dependencies )
+
+                    for ( ArtifactMetadata a : dependencies )
                     {
                         req.query.init( a );
+
                         req.query.setType( "pom" );
+
                         kids.add( resolveTree( req, node ) );
                     }
                     node.addChildren( kids );
@@ -150,7 +167,7 @@
             }
             else
             {
-                return new MetadataTreeNode( pomArtifact, parent, false, query.getScope() );
+                return new MetadataTreeNode( pomArtifact, parent, false, query.getArtifactScope() );
             }
         }
         catch ( Exception anyEx )

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataGraph.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataGraph.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataGraph.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataGraph.java Sun Nov 11 00:03:46 2007
@@ -58,7 +58,7 @@
                 edges.put( edgeId, edgeList );
             }
 
-            MetadataGraphEdge e = new MetadataGraphEdge( node.md.version, node.md.scope, depth );
+            MetadataGraphEdge e = new MetadataGraphEdge( node.md.version, node.md.artifactScope, depth );
             if ( !edgeList.contains( e ) )
             {
                 edgeList.add( e );

Added: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataResolution.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataResolution.java?rev=593854&view=auto
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataResolution.java (added)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataResolution.java Sun Nov 11 00:03:46 2007
@@ -0,0 +1,27 @@
+package org.apache.maven.artifact.resolver.metadata;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+
+import java.util.Set;
+
+/** @author Jason van Zyl */
+public class MetadataResolution
+{
+    private Set<ArtifactMetadata> dependencies;
+
+    private Set<ArtifactRepository> metadataRepositories;
+
+    public MetadataResolution( Set<ArtifactMetadata> dependencies,
+                               Set<ArtifactRepository> metadataRepositories )
+    {
+        this.dependencies = dependencies;
+
+        this.metadataRepositories = metadataRepositories;
+    }
+
+    public Set<ArtifactMetadata> getDependencies()
+    {
+        return dependencies;
+    }
+}

Propchange: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataResolution.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataResolution.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Copied: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataRetrievalException.java (from r593740, maven/artifact/trunk/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataRetrievalException.java)
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataRetrievalException.java?p2=maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataRetrievalException.java&p1=maven/artifact/trunk/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataRetrievalException.java&r1=593740&r2=593854&rev=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataRetrievalException.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataRetrievalException.java Sun Nov 11 00:03:46 2007
@@ -1,4 +1,4 @@
-package org.apache.maven.artifact.metadata;
+package org.apache.maven.artifact.resolver.metadata;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -24,44 +24,42 @@
 /**
  * Error while retrieving repository metadata from the repository.
  *
- * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
+ * @author Jason van Zyl
  * @version $Id$
  */
-public class ArtifactMetadataRetrievalException
+public class MetadataRetrievalException
     extends Exception
 {
 
-    private Artifact artifact;
+    private ArtifactMetadata artifact;
 
-    /** @deprecated use {@link #ArtifactMetadataRetrievalException(String, Throwable, Artifact)} */
-    public ArtifactMetadataRetrievalException( String message )
+    public MetadataRetrievalException( String message )
     {
         this( message, null, null );
     }
 
-    /** @deprecated use {@link #ArtifactMetadataRetrievalException(String, Throwable, Artifact)} */
-    public ArtifactMetadataRetrievalException( Throwable cause )
+    public MetadataRetrievalException( Throwable cause )
     {
         this( null, cause, null );
     }
 
-    /** @deprecated use {@link #ArtifactMetadataRetrievalException(String, Throwable, Artifact)} */
-    public ArtifactMetadataRetrievalException( String message,
-                                               Throwable cause )
+    public MetadataRetrievalException( String message,
+                                       Throwable cause )
     {
         this( message, cause, null );
     }
 
-    public ArtifactMetadataRetrievalException( String message,
-                                               Throwable cause,
-                                               Artifact artifact )
+    public MetadataRetrievalException( String message,
+                                       Throwable cause,
+                                       ArtifactMetadata artifact )
     {
         super( message, cause );
+
         this.artifact = artifact;
     }
 
-    public Artifact getArtifact()
+    public ArtifactMetadata getArtifactMetadata()
     {
         return artifact;
     }
-}
+}
\ No newline at end of file

Propchange: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataRetrievalException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataRetrievalException.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Copied: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataSource.java (from r593740, maven/artifact/trunk/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java)
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataSource.java?p2=maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataSource.java&p1=maven/artifact/trunk/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java&r1=593740&r2=593854&rev=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataSource.java Sun Nov 11 00:03:46 2007
@@ -1,4 +1,4 @@
-package org.apache.maven.artifact.metadata;
+package org.apache.maven.artifact.resolver.metadata;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -19,9 +19,7 @@
  * under the License.
  */
 
-import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
 
 import java.util.List;
 
@@ -29,32 +27,15 @@
  * Provides some metadata operations, like querying the remote repository for a list of versions available for an
  * artifact.
  *
- * @author <a href="mailto:jason@maven.org">Jason van Zyl </a>
+ * @author Jason van Zyl
  * @version $Id$
  */
-public interface ArtifactMetadataSource
+public interface MetadataSource
 {
-    String ROLE = ArtifactMetadataSource.class.getName();
+    String ROLE = MetadataSource.class.getName();
 
-    ResolutionGroup retrieve( Artifact artifact,
-                              ArtifactRepository localRepository,
-                              List remoteRepositories )
-        throws ArtifactMetadataRetrievalException;
-
-    /**
-     * Get a list of available versions for an artifact in the remote repository
-     *
-     * @param artifact           artifact we are interested in. Only <code>groupid</code> and <code>artifactId</code>
-     *                           are needed, for instance the following code will work
-     *                           <code>artifactFactory.createProjectArtifact( "org.apache.maven", "maven", "" )</code>
-     * @param localRepository    local repository
-     * @param remoteRepositories remote repositories, {@link List} $lt; {@link ArtifactRepository} >
-     * @return {@link List} $lt; {@link ArtifactVersion} >
-     * @throws ArtifactMetadataRetrievalException
-     *          in case of error while retrieving repository metadata from the repository.
-     */
-    List retrieveAvailableVersions( Artifact artifact,
-                                    ArtifactRepository localRepository,
-                                    List remoteRepositories )
-        throws ArtifactMetadataRetrievalException;
+    MetadataResolution retrieve( ArtifactMetadata artifact,
+                                 ArtifactRepository localRepository,
+                                 List remoteRepositories )
+        throws MetadataRetrievalException;
 }

Propchange: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataSource.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataSource.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataTreeNode.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataTreeNode.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataTreeNode.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/metadata/MetadataTreeNode.java Sun Nov 11 00:03:46 2007
@@ -10,6 +10,7 @@
     ArtifactMetadata md; // this node
 
     MetadataTreeNode parent; // papa of cause
+
     MetadataTreeNode[] children; // of cause
 
     boolean resolved = false; // if current node was resolved
@@ -27,7 +28,7 @@
     {
         if ( md != null )
         {
-            md.setScope( scope );
+            md.setArtifactScope( scope );
         }
 
         this.md = md;

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java Sun Nov 11 00:03:46 2007
@@ -39,13 +39,16 @@
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  * @version $Id$
  * @todo try and refactor to remove abstract methods - not particular happy about current design
+ * @plexus.component
  */
 public abstract class AbstractVersionTransformation
     extends AbstractLogEnabled
     implements ArtifactTransformation
 {
+    /** @plexus.requirement */
     protected RepositoryMetadataManager repositoryMetadataManager;
 
+    /** @plexus.requirement */
     protected WagonManager wagonManager;
 
     protected String resolveVersion( Artifact artifact,

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/ArtifactTransformationManager.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/ArtifactTransformationManager.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/ArtifactTransformationManager.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/ArtifactTransformationManager.java Sun Nov 11 00:03:46 2007
@@ -27,6 +27,7 @@
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 
 import java.util.List;
+import java.util.Map;
 
 /** Manages multiple ArtifactTransformation instances and applies them in succession. */
 public interface ArtifactTransformationManager
@@ -70,4 +71,6 @@
                                  ArtifactRepository localRepository )
         throws ArtifactDeploymentException;
 
+
+    List getArtifactTransformations();
 }

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/DefaultArtifactTransformationManager.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/DefaultArtifactTransformationManager.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/DefaultArtifactTransformationManager.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/DefaultArtifactTransformationManager.java Sun Nov 11 00:03:46 2007
@@ -25,51 +25,24 @@
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
 
-import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author Jason van Zyl
  * @plexus.component
  */
 public class DefaultArtifactTransformationManager
-    implements ArtifactTransformationManager,
-    Initializable
+    implements ArtifactTransformationManager
 {
+    /** @plexus.requirement
+     *    role="org.apache.maven.artifact.transform.ArtifactTransformation"
+     *    role-hints="release,latest,snapshot"
+     */
     private List artifactTransformations;
 
-    public void initialize()
-        throws InitializationException
-    {
-        // TODO this is a hack until plexus can fix the ordering of the arrays
-        List transforms = new ArrayList();
-        Object snapshotTransform = null;
-
-        Object obj[] = artifactTransformations.toArray();
-        for ( int x = 0; x < obj.length; x++ )
-        {
-            if ( obj[x].getClass().getName().indexOf( "Snapshot" ) != -1 )
-            {
-                snapshotTransform = obj[x];
-            }
-            else
-            {
-                transforms.add( obj[x] );
-            }
-        }
-
-        if ( snapshotTransform != null )
-        {
-            transforms.add( snapshotTransform );
-        }
-
-        artifactTransformations = transforms;
-    }
-
     public void transformForResolve( Artifact artifact,
                                      List remoteRepositories,
                                      ArtifactRepository localRepository )
@@ -78,6 +51,7 @@
         for ( Iterator i = artifactTransformations.iterator(); i.hasNext(); )
         {
             ArtifactTransformation transform = (ArtifactTransformation) i.next();
+
             transform.transformForResolve( artifact, remoteRepositories, localRepository );
         }
     }
@@ -105,5 +79,8 @@
         }
     }
 
-
+    public List getArtifactTransformations()
+    {
+        return artifactTransformations;
+    }
 }

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/LatestArtifactTransformation.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/LatestArtifactTransformation.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/LatestArtifactTransformation.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/LatestArtifactTransformation.java Sun Nov 11 00:03:46 2007
@@ -28,6 +28,7 @@
 
 import java.util.List;
 
+/** @plexus.component role="org.apache.maven.artifact.transform.ArtifactTransformation" role-hint="latest" */
 public class LatestArtifactTransformation
     extends AbstractVersionTransformation
 {

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/ReleaseArtifactTransformation.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/ReleaseArtifactTransformation.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/ReleaseArtifactTransformation.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/ReleaseArtifactTransformation.java Sun Nov 11 00:03:46 2007
@@ -35,6 +35,7 @@
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  * @version $Id$
+ * @plexus.component role="org.apache.maven.artifact.transform.ArtifactTransformation" role-hint="release"
  */
 public class ReleaseArtifactTransformation
     extends AbstractVersionTransformation

Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java (original)
+++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java Sun Nov 11 00:03:46 2007
@@ -40,8 +40,8 @@
 /**
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  * @author <a href="mailto:mmaczka@interia.pl">Michal Maczka</a>
- * @version $Id: SnapshotTransformation.java,v 1.1 2005/03/03 15:37:25
- *          jvanzyl Exp $
+ * @version $Id$
+ * @plexus.component role="org.apache.maven.artifact.transform.ArtifactTransformation" role-hint="snapshot"
  */
 public class SnapshotTransformation
     extends AbstractVersionTransformation

Modified: maven/artifact/trunk/src/test/java/org/apache/maven/artifact/DefaultArtifactTest.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/DefaultArtifactTest.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/test/java/org/apache/maven/artifact/DefaultArtifactTest.java (original)
+++ maven/artifact/trunk/src/test/java/org/apache/maven/artifact/DefaultArtifactTest.java Sun Nov 11 00:03:46 2007
@@ -32,7 +32,7 @@
 
     private DefaultArtifact snapshotArtifact;
 
-    private String groupId = "groupid", artifactId = "artifactId", version = "1.0", scope = "scope", type = "type",
+    private String groupId = "groupid", artifactId = "artifactId", version = "1.0", scope = "artifactScope", type = "type",
         classifier = "classifier";
 
     private String snapshotSpecVersion = "1.0-SNAPSHOT";

Modified: maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java (original)
+++ maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java Sun Nov 11 00:03:46 2007
@@ -138,7 +138,7 @@
         {
             tmpFile.deleteOnExit();
             Artifact artifact = new DefaultArtifact( "sample.group", "sample-art", VersionRange
-                .createFromVersion( "1.0" ), "scope", "type", "classifier", null );
+                .createFromVersion( "1.0" ), "artifactScope", "type", "classifier", null );
             artifact.setFile( tmpFile );
             ArtifactRepository repo = new DefaultArtifactRepository( "id", "noop://url",
                                                                      new ArtifactRepositoryLayoutStub() );

Modified: maven/artifact/trunk/src/test/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactoryTest.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactoryTest.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/test/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactoryTest.java (original)
+++ maven/artifact/trunk/src/test/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactoryTest.java Sun Nov 11 00:03:46 2007
@@ -16,7 +16,6 @@
 public class DefaultArtifactRepositoryFactoryTest
     extends PlexusTestCase
 {
-
     private ArtifactRepositoryFactory repoFactory;
 
     private Set toDelete = new HashSet();
@@ -73,5 +72,4 @@
 
         assertTrue( layout instanceof DefaultRepositoryLayout );
     }
-
 }

Modified: maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java?rev=593854&r1=593853&r2=593854&view=diff
==============================================================================
--- maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java (original)
+++ maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java Sun Nov 11 00:03:46 2007
@@ -41,7 +41,6 @@
 import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
 import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
 import org.apache.maven.artifact.versioning.VersionRange;
 import org.codehaus.plexus.PlexusTestCase;
 
@@ -255,7 +254,7 @@
         ArtifactResolutionResult res = collect( createSet( new Object[]{a.artifact, b.artifact} ) );
         assertEquals( "Check artifact list", createSet( new Object[]{a.artifact, b.artifact} ), res.getArtifacts() );
         assertEquals( "Check version", "3.8.1", getArtifact( "junit", res.getArtifacts() ).getVersion() );
-        assertEquals( "Check scope", Artifact.SCOPE_TEST, getArtifact( "junit", res.getArtifacts() ).getScope() );
+        assertEquals( "Check artifactScope", Artifact.SCOPE_TEST, getArtifact( "junit", res.getArtifacts() ).getScope() );
     }
 
     public void testResolveLocalWithNewerVersionButLesserScopeResolvedFirst()
@@ -268,7 +267,7 @@
         ArtifactResolutionResult res = collect( createSet( new Object[]{a.artifact, b.artifact} ) );
         assertEquals( "Check artifact list", createSet( new Object[]{a.artifact, b.artifact} ), res.getArtifacts() );
         assertEquals( "Check version", "3.8.1", getArtifact( "junit", res.getArtifacts() ).getVersion() );
-        assertEquals( "Check scope", Artifact.SCOPE_TEST, getArtifact( "junit", res.getArtifacts() ).getScope() );
+        assertEquals( "Check artifactScope", Artifact.SCOPE_TEST, getArtifact( "junit", res.getArtifacts() ).getScope() );
     }
 
     public void testResolveNearestWithRanges()
@@ -400,8 +399,8 @@
         assertEquals( "Check artifact list", createSet( new Object[]{a.artifact, modifiedC} ), res.getArtifacts() );
         Artifact artifact = getArtifact( "c", res.getArtifacts() );
         // local wins now, and irrelevant if not local as test/provided aren't transitive
-//        assertEquals( "Check scope", Artifact.SCOPE_COMPILE, artifact.getScope() );
-        assertEquals( "Check scope", Artifact.SCOPE_TEST, artifact.getScope() );
+//        assertEquals( "Check artifactScope", Artifact.SCOPE_COMPILE, artifact.getArtifactScope() );
+        assertEquals( "Check artifactScope", Artifact.SCOPE_TEST, artifact.getScope() );
     }
 
     public void testResolveRuntimeScopeOverTestScope()
@@ -418,8 +417,8 @@
         assertEquals( "Check artifact list", createSet( new Object[]{a.artifact, modifiedC} ), res.getArtifacts() );
         Artifact artifact = getArtifact( "c", res.getArtifacts() );
         // local wins now, and irrelevant if not local as test/provided aren't transitive
-//        assertEquals( "Check scope", Artifact.SCOPE_RUNTIME, artifact.getScope() );
-        assertEquals( "Check scope", Artifact.SCOPE_TEST, artifact.getScope() );
+//        assertEquals( "Check artifactScope", Artifact.SCOPE_RUNTIME, artifact.getArtifactScope() );
+        assertEquals( "Check artifactScope", Artifact.SCOPE_TEST, artifact.getScope() );
     }
 
     public void testResolveCompileScopeOverRuntimeScope()
@@ -437,7 +436,7 @@
         assertEquals( "Check artifact list", createSet( new Object[]{a.artifact, root.artifact, modifiedC} ),
                       res.getArtifacts() );
         Artifact artifact = getArtifact( "c", res.getArtifacts() );
-        assertEquals( "Check scope", Artifact.SCOPE_COMPILE, artifact.getScope() );
+        assertEquals( "Check artifactScope", Artifact.SCOPE_COMPILE, artifact.getScope() );
     }
 
     public void testResolveCompileScopeOverProvidedScope()
@@ -454,8 +453,8 @@
         assertEquals( "Check artifact list", createSet( new Object[]{a.artifact, modifiedC} ), res.getArtifacts() );
         Artifact artifact = getArtifact( "c", res.getArtifacts() );
         // local wins now, and irrelevant if not local as test/provided aren't transitive
-//        assertEquals( "Check scope", Artifact.SCOPE_COMPILE, artifact.getScope() );
-        assertEquals( "Check scope", Artifact.SCOPE_PROVIDED, artifact.getScope() );
+//        assertEquals( "Check artifactScope", Artifact.SCOPE_COMPILE, artifact.getArtifactScope() );
+        assertEquals( "Check artifactScope", Artifact.SCOPE_PROVIDED, artifact.getScope() );
     }
 
     public void testResolveRuntimeScopeOverProvidedScope()
@@ -472,8 +471,8 @@
         assertEquals( "Check artifact list", createSet( new Object[]{a.artifact, modifiedC} ), res.getArtifacts() );
         Artifact artifact = getArtifact( "c", res.getArtifacts() );
         // local wins now, and irrelevant if not local as test/provided aren't transitive
-//        assertEquals( "Check scope", Artifact.SCOPE_RUNTIME, artifact.getScope() );
-        assertEquals( "Check scope", Artifact.SCOPE_PROVIDED, artifact.getScope() );
+//        assertEquals( "Check artifactScope", Artifact.SCOPE_RUNTIME, artifact.getArtifactScope() );
+        assertEquals( "Check artifactScope", Artifact.SCOPE_PROVIDED, artifact.getScope() );
     }
 
     public void testProvidedScopeNotTransitive()
@@ -609,14 +608,14 @@
         ArtifactResolutionResult res = collect( createSet( new Object[]{a.artifact, b.artifact} ), filter );
         Artifact artifact = getArtifact( "d", res.getArtifacts() );
         assertNotNull( "MNG-1895 Dependency was not added to resolution", artifact );
-        assertEquals( "Check scope", expectedScope, artifact.getScope() );
+        assertEquals( "Check artifactScope", expectedScope, artifact.getScope() );
         assertEquals( "Check version", expectedVersion, artifact.getVersion() );
 
         ArtifactSpec d = createArtifactSpec( "d", "1.0" );
         res = collect( createSet( new Object[]{a.artifact, b.artifact, d.artifact} ), filter );
         artifact = getArtifact( "d", res.getArtifacts() );
         assertNotNull( "MNG-1895 Dependency was not added to resolution", artifact );
-        assertEquals( "Check scope", d.artifact.getScope(), artifact.getScope() );
+        assertEquals( "Check artifactScope", d.artifact.getScope(), artifact.getScope() );
         assertEquals( "Check version", "1.0", artifact.getVersion() );
     }
 

Added: maven/artifact/trunk/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java?rev=593854&view=auto
==============================================================================
--- maven/artifact/trunk/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java (added)
+++ maven/artifact/trunk/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java Sun Nov 11 00:03:46 2007
@@ -0,0 +1,27 @@
+package org.apache.maven.artifact.transform;
+
+import org.codehaus.plexus.PlexusTestCase;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/** @author Jason van Zyl */
+public class TransformationManagerTest
+    extends PlexusTestCase
+{
+    public void testTransformationManager()
+        throws Exception
+    {
+        ArtifactTransformationManager tm = (ArtifactTransformationManager) lookup( ArtifactTransformationManager.class );
+
+        List tms = tm.getArtifactTransformations();
+
+        assertEquals( 3, tms.size() );
+
+        assertTrue( "We expected the release transformation and got " + tms.get(0), tms.get(0) instanceof ReleaseArtifactTransformation );
+
+        assertTrue( "We expected the latest transformation and got " + tms.get(1), tms.get(1) instanceof LatestArtifactTransformation );
+
+        assertTrue( "We expected the snapshot transformation and got " + tms.get(2), tms.get(2) instanceof SnapshotTransformation );
+    }
+}

Propchange: maven/artifact/trunk/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/artifact/trunk/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision