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 2009/07/25 02:16:45 UTC

svn commit: r797695 - in /maven/components/trunk: maven-compat/src/main/java/org/apache/maven/artifact/resolver/ maven-core/src/test/java/org/apache/maven/repository/ maven-core/src/test/repository-system/

Author: jvanzyl
Date: Sat Jul 25 00:16:45 2009
New Revision: 797695

URL: http://svn.apache.org/viewvc?rev=797695&view=rev
Log:
o missed the tests, thanks subclipse

Added:
    maven/components/trunk/maven-core/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java   (with props)
    maven/components/trunk/maven-core/src/test/repository-system/
    maven/components/trunk/maven-core/src/test/repository-system/maven-core-2.1.0.jar
Modified:
    maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java

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=797695&r1=797694&r2=797695&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 Sat Jul 25 00:16:45 2009
@@ -390,7 +390,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 ( request.isResolveRoot() /* && rootArtifact.getFile() == null */ )
         {            
             try
             {

Added: maven/components/trunk/maven-core/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java?rev=797695&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java (added)
+++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java Sat Jul 25 00:16:45 2009
@@ -0,0 +1,138 @@
+package org.apache.maven.repository;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+import java.io.File;
+import java.lang.reflect.Array;
+import java.util.Arrays;
+import java.util.Collections;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.Authentication;
+import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
+import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
+import org.apache.maven.artifact.resolver.ResolutionErrorHandler;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.repository.LegacyRepositorySystem;
+import org.apache.maven.repository.RepositorySystem;
+import org.codehaus.plexus.PlexusTestCase;
+
+/**
+ * Tests {@link LegacyRepositorySystem}.
+ * 
+ * @author Benjamin Bentmann
+ */
+public class LegacyRepositorySystemTest
+    extends PlexusTestCase
+{
+    private RepositorySystem repositorySystem;
+
+    private ResolutionErrorHandler resolutionErrorHandler;
+    
+    @Override
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+        repositorySystem = lookup( RepositorySystem.class, "default" );
+        resolutionErrorHandler = lookup( ResolutionErrorHandler.class );
+    }
+
+    @Override
+    protected void tearDown()
+        throws Exception
+    {
+        repositorySystem = null;
+        resolutionErrorHandler = null;
+        super.tearDown();
+    }
+
+    public void testThatASystemScopedDependencyIsNotResolvedFromRepositories()
+        throws Exception
+    {
+        //
+        // We should get a whole slew of dependencies resolving this artifact transitively
+        //
+        Dependency d = new Dependency();
+        d.setGroupId( "org.apache.maven" );
+        d.setArtifactId( "maven-core" );
+        d.setVersion( "2.1.0" );
+        d.setScope( Artifact.SCOPE_COMPILE );
+        Artifact artifact = repositorySystem.createDependencyArtifact( d );
+        
+        ArtifactResolutionRequest request = new ArtifactResolutionRequest()
+            .setArtifact( artifact )
+            .setResolveRoot( true )
+            .setResolveTransitively( true )
+            .setRemoteRepostories( Arrays.asList( new ArtifactRepository[]{ repositorySystem.createDefaultRemoteRepository() } ) )
+            .setLocalRepository( repositorySystem.createDefaultLocalRepository() );            
+                            
+        ArtifactResolutionResult result = repositorySystem.resolve( request );
+        resolutionErrorHandler.throwErrors( request, result );        
+        assertEquals( 45, result.getArtifacts().size() );
+        
+        //
+        // System scoped version which should 
+        //        
+        d.setScope( Artifact.SCOPE_SYSTEM );
+        File file = new File( getBasedir(), "src/test/repository-system/maven-core-2.1.0.jar" );
+        assertTrue( file.exists() );
+        d.setSystemPath( file.getCanonicalPath() );
+        
+        artifact = repositorySystem.createDependencyArtifact( d );
+        
+        //
+        // The request has not set any local or remote repositories as the system scoped dependency being resolved should only
+        // give us the dependency off the disk and nothing more.
+        //
+        request = new ArtifactResolutionRequest()
+            .setArtifact( artifact )
+            .setResolveRoot( true )
+            .setResolveTransitively( true );
+                            
+        result = repositorySystem.resolve( request );
+        resolutionErrorHandler.throwErrors( request, result );        
+        assertEquals( 1, result.getArtifacts().size() );       
+
+        //
+        // Put in a bogus file to make sure missing files cause the resolution to fail.
+        //        
+        file = new File( getBasedir(), "src/test/repository-system/maven-monkey-2.1.0.jar" );
+        assertFalse( file.exists() );
+        d.setSystemPath( file.getCanonicalPath() );
+        artifact = repositorySystem.createDependencyArtifact( d );
+        
+        //
+        // The request has not set any local or remote repositories as the system scoped dependency being resolved should only
+        // give us the dependency off the disk and nothing more.
+        //
+        request = new ArtifactResolutionRequest()
+            .setArtifact( artifact )
+            .setResolveRoot( true )
+            .setResolveTransitively( true );
+                     
+        try
+        {
+            result = repositorySystem.resolve( request );
+            resolutionErrorHandler.throwErrors( request, result );
+        }
+        catch( Exception e )
+        {
+            assertTrue( result.hasMissingArtifacts() );
+        }
+    }
+}

Propchange: maven/components/trunk/maven-core/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-core/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/components/trunk/maven-core/src/test/repository-system/maven-core-2.1.0.jar
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/repository-system/maven-core-2.1.0.jar?rev=797695&view=auto
==============================================================================
    (empty)