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/02/09 02:35:55 UTC

svn commit: r742225 - in /maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact: resolver/DefaultArtifactResolver.java transform/SnapshotTransformation.java

Author: jvanzyl
Date: Mon Feb  9 01:35:55 2009
New Revision: 742225

URL: http://svn.apache.org/viewvc?rev=742225&view=rev
Log:
o more removal of mirrored repositories and offline settings

Modified:
    maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
    maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java

Modified: maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=742225&r1=742224&r2=742225&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Mon Feb  9 01:35:55 2009
@@ -1,24 +1,28 @@
 package org.apache.maven.artifact.resolver;
 
 /*
- * 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.
+ * 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.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.manager.WagonManager;
@@ -29,24 +33,14 @@
 import org.apache.maven.artifact.repository.metadata.Snapshot;
 import org.apache.maven.artifact.repository.metadata.SnapshotArtifactRepositoryMetadata;
 import org.apache.maven.artifact.repository.metadata.Versioning;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.artifact.resolver.conflict.ConflictResolver;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.artifact.transform.ArtifactTransformationManager;
 import org.apache.maven.wagon.ResourceDoesNotExistException;
 import org.apache.maven.wagon.TransferFailedException;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.util.FileUtils;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 /**
  * @author Jason van Zyl
  * @plexus.component
@@ -75,15 +69,13 @@
     // Implementation
     // ----------------------------------------------------------------------
 
-    public void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories,
-                         ArtifactRepository localRepository )
+    public void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository )
         throws ArtifactResolutionException, ArtifactNotFoundException
     {
         resolve( artifact, remoteRepositories, localRepository, false );
     }
 
-    public void resolveAlways( Artifact artifact, List<ArtifactRepository> remoteRepositories,
-                               ArtifactRepository localRepository )
+    public void resolveAlways( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository )
         throws ArtifactResolutionException, ArtifactNotFoundException
     {
         resolve( artifact, remoteRepositories, localRepository, true );
@@ -98,6 +90,7 @@
             return;
         }
 
+        File destination;
         if ( Artifact.SCOPE_SYSTEM.equals( artifact.getScope() ) )
         {
             File systemFile = artifact.getFile();
@@ -137,23 +130,17 @@
 
             boolean localCopy = isLocalCopy( artifact );
 
-            File destination = artifact.getFile();
-
+            destination = artifact.getFile();
+                             
             boolean resolved = false;
-            if ( !wagonManager.isOnline() )
-            {
-                if ( !destination.exists() )
-                {
-                    throw new ArtifactNotFoundException( "System is offline.", artifact );
-                }
-            }
+
             // There are three conditions in which we'll go after the artifact here:
             // 1. the force flag is set.
             // 2. the artifact's file doesn't exist (this would be true for release or snapshot artifacts)
             // 3. the artifact is a snapshot and is not a locally installed snapshot
 
             // TODO: Should it matter whether it's a locally installed snapshot??
-            else if ( force || !destination.exists() || ( artifact.isSnapshot() && !localCopy ) )
+            if ( force || !destination.exists() || ( artifact.isSnapshot() && !localCopy ) )
             {
                 try
                 {
@@ -171,18 +158,16 @@
                     {
                         throw new ArtifactResolutionException(
                                                                "Failed to resolve artifact, possibly due to a repository list that is not appropriately equipped for this artifact's metadata.",
-                                                               artifact, getMirroredRepositories( remoteRepositories ) );
+                                                               artifact, remoteRepositories );
                     }
                 }
                 catch ( ResourceDoesNotExistException e )
                 {
-                    throw new ArtifactNotFoundException( e.getMessage(), artifact,
-                                                         getMirroredRepositories( remoteRepositories ), e );
+                    throw new ArtifactNotFoundException( e.getMessage(), artifact, remoteRepositories, e );
                 }
                 catch ( TransferFailedException e )
                 {
-                    throw new ArtifactResolutionException( e.getMessage(), artifact,
-                                                           getMirroredRepositories( remoteRepositories ), e );
+                    throw new ArtifactResolutionException( e.getMessage(), artifact, remoteRepositories, e );
                 }
 
                 resolved = true;
@@ -214,7 +199,7 @@
                     catch ( IOException e )
                     {
                         throw new ArtifactResolutionException( "Unable to copy resolved artifact for local use: "
-                            + e.getMessage(), artifact, getMirroredRepositories( remoteRepositories ), e );
+                            + e.getMessage(), artifact, remoteRepositories, e );
                     }
                 }
 
@@ -227,7 +212,6 @@
 
     private boolean isLocalCopy( Artifact artifact )
     {
-
         boolean localCopy = false;
 
         for ( ArtifactMetadata m : artifact.getMetadataList() )
@@ -259,51 +243,37 @@
         return localCopy;
     }
 
-    public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
-                                                         ArtifactRepository localRepository,
-                                                         List<ArtifactRepository> remoteRepositories,
+    public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories,
                                                          ArtifactMetadataSource source, ArtifactFilter filter )
         throws ArtifactResolutionException, ArtifactNotFoundException
     {
-        return resolveTransitively( artifacts, originatingArtifact, Collections.EMPTY_MAP, localRepository,
-                                    remoteRepositories, source, filter );
+        return resolveTransitively( artifacts, originatingArtifact, Collections.EMPTY_MAP, localRepository, remoteRepositories, source, filter );
 
     }
 
-    public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
-                                                         Map managedVersions, ArtifactRepository localRepository,
-                                                         List<ArtifactRepository> remoteRepositories,
-                                                         ArtifactMetadataSource source )
+    public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, Map managedVersions, ArtifactRepository localRepository,
+                                                         List<ArtifactRepository> remoteRepositories, ArtifactMetadataSource source )
         throws ArtifactResolutionException, ArtifactNotFoundException
     {
-        return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository,
-                                    remoteRepositories, source, null );
+        return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository, remoteRepositories, source, null );
     }
 
-    public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
-                                                         Map managedVersions, ArtifactRepository localRepository,
-                                                         List<ArtifactRepository> remoteRepositories,
-                                                         ArtifactMetadataSource source, ArtifactFilter filter )
+    public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, Map managedVersions, ArtifactRepository localRepository,
+                                                         List<ArtifactRepository> remoteRepositories, ArtifactMetadataSource source, ArtifactFilter filter )
         throws ArtifactResolutionException, ArtifactNotFoundException
     {
-        return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository,
-                                    remoteRepositories, source, filter, null );
+        return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository, remoteRepositories, source, filter, null );
     }
 
-    public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
-                                                         List<ArtifactRepository> remoteRepositories,
-                                                         ArtifactRepository localRepository,
+    public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository,
                                                          ArtifactMetadataSource source )
         throws ArtifactResolutionException, ArtifactNotFoundException
     {
         return resolveTransitively( artifacts, originatingArtifact, localRepository, remoteRepositories, source, null );
     }
 
-    public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
-                                                         List<ArtifactRepository> remoteRepositories,
-                                                         ArtifactRepository localRepository,
-                                                         ArtifactMetadataSource source,
-                                                         List<ResolutionListener> listeners )
+    public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository,
+                                                         ArtifactMetadataSource source, List<ResolutionListener> listeners )
         throws ArtifactResolutionException, ArtifactNotFoundException
     {
         return resolveTransitively( artifacts, originatingArtifact,
@@ -311,22 +281,15 @@
         Collections.EMPTY_MAP, localRepository, remoteRepositories, source, null, listeners );
     }
 
-    public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
-                                                         Map managedVersions, ArtifactRepository localRepository,
-                                                         List<ArtifactRepository> remoteRepositories,
-                                                         ArtifactMetadataSource source, ArtifactFilter filter,
-                                                         List<ResolutionListener> listeners )
+    public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, Map managedVersions, ArtifactRepository localRepository,
+                                                         List<ArtifactRepository> remoteRepositories, ArtifactMetadataSource source, ArtifactFilter filter, List<ResolutionListener> listeners )
         throws ArtifactResolutionException, ArtifactNotFoundException
     {
-        return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository,
-                                    remoteRepositories, source, filter, listeners, null );
+        return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository, remoteRepositories, source, filter, listeners, null );
     }
 
-    public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
-                                                         Map managedVersions, ArtifactRepository localRepository,
-                                                         List<ArtifactRepository> remoteRepositories,
-                                                         ArtifactMetadataSource source, ArtifactFilter filter,
-                                                         List<ResolutionListener> listeners,
+    public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, Map managedVersions, ArtifactRepository localRepository,
+                                                         List<ArtifactRepository> remoteRepositories, ArtifactMetadataSource source, ArtifactFilter filter, List<ResolutionListener> listeners,
                                                          List<ConflictResolver> conflictResolvers )
         throws ArtifactResolutionException, ArtifactNotFoundException
     {
@@ -344,9 +307,7 @@
 
         ArtifactResolutionResult result;
 
-        result =
-            artifactCollector.collect( artifacts, originatingArtifact, managedVersions, localRepository,
-                                       remoteRepositories, source, filter, listeners, conflictResolvers );
+        result = artifactCollector.collect( artifacts, originatingArtifact, managedVersions, localRepository, remoteRepositories, source, filter, listeners, conflictResolvers );
 
         // We have collected all the problems so let's mimic the way the old code worked and just blow up right here.
         // That's right lets just let it rip right here and send a big incomprehensible blob of text at unsuspecting
@@ -397,26 +358,12 @@
 
         if ( missingArtifacts.size() > 0 )
         {
-            throw new MultipleArtifactsNotFoundException( originatingArtifact, resolvedArtifacts, missingArtifacts,
-                                                          getMirroredRepositories( remoteRepositories ) );
+            throw new MultipleArtifactsNotFoundException( originatingArtifact, resolvedArtifacts, missingArtifacts, remoteRepositories );
         }
 
         return result;
     }
 
-    private List<ArtifactRepository> getMirroredRepositories( List<ArtifactRepository> remoteRepositories )
-    {
-        Map<String, ArtifactRepository> repos = new HashMap<String, ArtifactRepository>();
-
-        for ( ArtifactRepository repository : remoteRepositories )
-        {
-            ArtifactRepository repo = wagonManager.getMirrorRepository( repository );
-            repos.put( repo.getId(), repo );
-        }
-
-        return new ArrayList<ArtifactRepository>( repos.values() );
-    }
-
     // ------------------------------------------------------------------------
     //
     // ------------------------------------------------------------------------
@@ -442,9 +389,9 @@
         // This is an attempt to get the metadata for the artifacts we are ultimately trying to resolve.
         // We still
 
-        ArtifactResolutionResult result =
-            artifactCollector.collect( artifacts, originatingArtifact, managedVersions, localRepository,
-                                       remoteRepositories, source, filter, listeners );
+        ArtifactResolutionResult result = artifactCollector.collect( artifacts, originatingArtifact, 
+                                                                     managedVersions, localRepository, 
+                                                                     remoteRepositories, source, filter, listeners );
 
         // Let's grab all the repositories that were gleaned. This we should know up front. I'm not sure
         // what the metadata source is doing. Repositories in POMs are deadly.

Modified: maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java?rev=742225&r1=742224&r2=742225&view=diff
==============================================================================
--- maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java (original)
+++ maven/components/branches/MNG-3932/maven-compat/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java Mon Feb  9 01:35:55 2009
@@ -157,13 +157,6 @@
     {
         RepositoryMetadata metadata = new SnapshotArtifactRepositoryMetadata( artifact );
 
-        if ( !wagonManager.isOnline() )
-        {
-            // build number is a required feature for metadata consistency
-            throw new RepositoryMetadataResolutionException(
-                "System is offline. Cannot resolve metadata:\n" + metadata.extendedToString() + "\n\n" );
-        }
-
         getLogger().info( "Retrieving previous build number from " + remoteRepository.getId() );
         repositoryMetadataManager.resolveAlways( metadata, localRepository, remoteRepository );