[prev in list] [next in list] [prev in thread] [next in thread] 

List:       maven-dev
Subject:    maven git commit: [MNG-4645] Move central repo definition out of Maven's core so it can be more easi
From:       schulte () apache ! org
Date:       2016-06-30 6:19:43
Message-ID: 35ffeee8194148ab9980593b2b606b4c () git ! apache ! org
[Download RAW message or body]

Repository: maven
Updated Branches:
  refs/heads/master 5077f2216 -> 15a9c32f6


[MNG-4645] Move central repo definition out of Maven's core so it can be more easily \
changed.

o Updated to stop falling back to some hard-coded default 'central' repository,
  if no such repository is setup in the settings or the POM. This means there
  is no such thing as a default repository other than what is shipped with
  the default settings anymore.


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/15a9c32f
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/15a9c32f
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/15a9c32f

Branch: refs/heads/master
Commit: 15a9c32f6775f10fb5317ad6cddfafd72d7f9e8d
Parents: 5077f22
Author: Christian Schulte <schulte@apache.org>
Authored: Thu Jun 30 08:12:52 2016 +0200
Committer: Christian Schulte <schulte@apache.org>
Committed: Thu Jun 30 08:18:08 2016 +0200

----------------------------------------------------------------------
 apache-maven/src/conf/settings.xml              |  6 ++
 .../maven/bridge/MavenRepositorySystem.java     | 33 +++++-----
 .../DefaultMavenExecutionRequestPopulator.java  | 67 +++-----------------
 .../maven/repository/RepositorySystem.java      | 15 +++++
 .../project/AbstractMavenProjectTestCase.java   | 13 +++-
 .../artifact/DefaultMavenMetadataCacheTest.java | 36 +++++++++--
 .../maven/repository/TestRepositorySystem.java  | 10 +--
 7 files changed, 95 insertions(+), 85 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/15a9c32f/apache-maven/src/conf/settings.xml
                
----------------------------------------------------------------------
diff --git a/apache-maven/src/conf/settings.xml b/apache-maven/src/conf/settings.xml
index 81f3560..8d903f2 100644
--- a/apache-maven/src/conf/settings.xml
+++ b/apache-maven/src/conf/settings.xml
@@ -245,6 +245,9 @@ under the License.
     </profile>
     -->
 
+    <!--
+    | Default profile holding various defaults.
+    |-->
     <profile>
       <id>default</id>
 
@@ -257,6 +260,9 @@ under the License.
           <snapshots>
             <enabled>false</enabled>
           </snapshots>
+          <releases>
+            <updatePolicy>never</updatePolicy>
+          </releases>
         </repository>
       </repositories>
 

http://git-wip-us.apache.org/repos/asf/maven/blob/15a9c32f/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java
                
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java \
b/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java index \
                9331710..428ade0 100644
--- a/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java
+++ b/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java
@@ -416,8 +416,8 @@ public class MavenRepositorySystem
         }
 
         return new ArtifactRepositoryPolicy( enabled, updatePolicy, checksumPolicy \
                );
-    }    
-    
+    }
+
     public ArtifactRepository createArtifactRepository( String id, String url, \
                String layoutId,
                                                         ArtifactRepositoryPolicy \
                snapshots,
                                                         ArtifactRepositoryPolicy \
releases ) @@ -439,7 +439,7 @@ public class MavenRepositorySystem
                                                 repositoryId ) );
         }
     }
-    
+
     public static ArtifactRepository createArtifactRepository( String id, String \
                url,
                                                         ArtifactRepositoryLayout \
                repositoryLayout,
                                                         ArtifactRepositoryPolicy \
snapshots, @@ -564,20 +564,21 @@ public class MavenRepositorySystem
         return new DefaultArtifact( groupId, artifactId, versionRange, desiredScope, \
type, classifier, handler,  optional );
     }
-    
+
     //
     // Code taken from LegacyRepositorySystem
     //
-        
+    /**
+     * @deprecation As of 3.4, Maven no longer falls back to a hard-coded default \
repository with identifier +     * {@code central} if such a repository is not \
provided in the settings or the POM. +     */
+    @Deprecated
     public ArtifactRepository createDefaultRemoteRepository( MavenExecutionRequest \
request )  throws Exception
     {
-        return createRepository( RepositorySystem.DEFAULT_REMOTE_REPO_URL, \
                RepositorySystem.DEFAULT_REMOTE_REPO_ID,
-                                 true, ArtifactRepositoryPolicy.UPDATE_POLICY_DAILY, \
                false,
-                                 ArtifactRepositoryPolicy.UPDATE_POLICY_DAILY,
-                                 ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN );
+        throw new UnsupportedOperationException();
     }
-    
+
     public ArtifactRepository createRepository( String url, String repositoryId, \
                boolean releases,
                                                  String releaseUpdates, boolean \
                snapshots, String snapshotUpdates,
                                                  String checksumPolicy ) throws \
Exception @@ -590,7 +591,7 @@ public class MavenRepositorySystem
 
         return createArtifactRepository( repositoryId, url, "default", \
snapshotsPolicy, releasesPolicy );  }
-        
+
     public Set<String> getRepoIds( List<ArtifactRepository> repositories )
     {
         Set<String> repoIds = new HashSet<>();
@@ -605,8 +606,8 @@ public class MavenRepositorySystem
 
         return repoIds;
     }
-    
-    
+
+
     public ArtifactRepository createLocalRepository( MavenExecutionRequest request, \
File localRepository )  throws Exception
     {
@@ -615,8 +616,8 @@ public class MavenRepositorySystem
                                  ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, \
                true,
                                  ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS,
                                  ArtifactRepositoryPolicy.CHECKSUM_POLICY_IGNORE );
-    }    
-    
+    }
+
     private static final String WILDCARD = "*";
 
     private static final String EXTERNAL_WILDCARD = "external:*";
@@ -781,5 +782,5 @@ public class MavenRepositorySystem
         }
 
         return result;
-    }    
+    }
 }

http://git-wip-us.apache.org/repos/asf/maven/blob/15a9c32f/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java
                
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java \
b/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java
 index ba5630e..2bed92f 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java
                
+++ b/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java
 @@ -24,7 +24,6 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 import javax.inject.Inject;
 import javax.inject.Named;
@@ -33,18 +32,12 @@ import org.apache.maven.artifact.InvalidRepositoryException;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.bridge.MavenRepositorySystem;
 import org.apache.maven.repository.RepositorySystem;
-//
-// All of this needs to go away and be couched in terms of the execution request
-//
 import org.apache.maven.settings.Mirror;
 import org.apache.maven.settings.Proxy;
 import org.apache.maven.settings.Repository;
 import org.apache.maven.settings.Server;
 import org.apache.maven.settings.Settings;
 import org.apache.maven.settings.SettingsUtils;
-//
-// Settings in core
-//
 import org.apache.maven.toolchain.model.PersistedToolchains;
 import org.apache.maven.toolchain.model.ToolchainModel;
 import org.codehaus.plexus.util.StringUtils;
@@ -53,9 +46,9 @@ import org.codehaus.plexus.util.StringUtils;
 public class DefaultMavenExecutionRequestPopulator
     implements MavenExecutionRequestPopulator
 {
-            
+
     private final MavenRepositorySystem repositorySystem;
-    
+
     @Inject
     public DefaultMavenExecutionRequestPopulator( MavenRepositorySystem \
repositorySystem )  {
@@ -85,7 +78,7 @@ public class DefaultMavenExecutionRequestPopulator
         }
         return request;
     }
-    
+
     @Override
     public MavenExecutionRequest populateDefaults( MavenExecutionRequest request )
         throws MavenExecutionRequestPopulationException
@@ -96,59 +89,19 @@ public class DefaultMavenExecutionRequestPopulator
 
         populateDefaultPluginGroups( request );
 
-        injectDefaultRepositories( request );
-
-        injectDefaultPluginRepositories( request );
-
         return request;
     }
-    
+
     //
     //
     //
-    
+
     private void populateDefaultPluginGroups( MavenExecutionRequest request )
     {
         request.addPluginGroup( "org.apache.maven.plugins" );
         request.addPluginGroup( "org.codehaus.mojo" );
     }
 
-    private void injectDefaultRepositories( MavenExecutionRequest request )
-        throws MavenExecutionRequestPopulationException
-    {
-        Set<String> definedRepositories = repositorySystem.getRepoIds( \
                request.getRemoteRepositories() );
-
-        if ( !definedRepositories.contains( RepositorySystem.DEFAULT_REMOTE_REPO_ID \
                ) )
-        {
-            try
-            {
-                request.addRemoteRepository( \
                repositorySystem.createDefaultRemoteRepository( request ) );
-            }
-            catch ( Exception e )
-            {
-                throw new MavenExecutionRequestPopulationException( "Cannot create \
                default remote repository.", e );
-            }
-        }
-    }
-
-    private void injectDefaultPluginRepositories( MavenExecutionRequest request )
-        throws MavenExecutionRequestPopulationException
-    {
-        Set<String> definedRepositories = repositorySystem.getRepoIds( \
                request.getPluginArtifactRepositories() );
-
-        if ( !definedRepositories.contains( RepositorySystem.DEFAULT_REMOTE_REPO_ID \
                ) )
-        {
-            try
-            {
-                request.addPluginArtifactRepository( \
                repositorySystem.createDefaultRemoteRepository( request ) );
-            }
-            catch ( Exception e )
-            {
-                throw new MavenExecutionRequestPopulationException( "Cannot create \
                default remote repository.", e );
-            }
-        }
-    }
-
     private void localRepository( MavenExecutionRequest request )
         throws MavenExecutionRequestPopulationException
     {
@@ -206,10 +159,10 @@ public class DefaultMavenExecutionRequestPopulator
         {
             request.setBaseDirectory( \
request.getPom().getAbsoluteFile().getParentFile() );  }
-    }   
-    
+    }
+
     /*if_not[MAVEN4]*/
-    
+
     @Override
     @Deprecated
     public MavenExecutionRequest populateFromSettings( MavenExecutionRequest \
request, Settings settings ) @@ -311,8 +264,8 @@ public class \
DefaultMavenExecutionRequestPopulator  }
 
         return request;
-    }    
-    
+    }
+
     /*end[MAVEN4]*/
 
 }

http://git-wip-us.apache.org/repos/asf/maven/blob/15a9c32f/maven-core/src/main/java/org/apache/maven/repository/RepositorySystem.java
                
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/repository/RepositorySystem.java \
b/maven-core/src/main/java/org/apache/maven/repository/RepositorySystem.java index \
                fcc0f77..5766b98 100644
--- a/maven-core/src/main/java/org/apache/maven/repository/RepositorySystem.java
+++ b/maven-core/src/main/java/org/apache/maven/repository/RepositorySystem.java
@@ -50,8 +50,18 @@ public interface RepositorySystem
 
     File defaultUserLocalRepository = new File( userMavenConfigurationHome, \
"repository" );  
+    /**
+     * @deprecation As of 3.4, Maven no longer falls back to a hard-coded default \
repository with identifier +     * {@code central} if such a repository is not \
provided in the settings or the POM. +     */
+    @Deprecated
     String DEFAULT_REMOTE_REPO_ID = "central";
 
+    /**
+     * @deprecation As of 3.4, Maven no longer falls back to a hard-coded default \
repository with identifier +     * {@code central} if such a repository is not \
provided in the settings or the POM. +     */
+    @Deprecated
     String DEFAULT_REMOTE_REPO_URL = "https://repo.maven.apache.org/maven2";
 
     Artifact createArtifact( String groupId, String artifactId, String version, \
String packaging ); @@ -70,6 +80,11 @@ public interface RepositorySystem
     ArtifactRepository buildArtifactRepository( Repository repository )
         throws InvalidRepositoryException;
 
+    /**
+     * @deprecation As of 3.4, Maven no longer falls back to a hard-coded default \
repository with identifier +     * {@code central} if such a repository is not \
provided in the settings or the POM. +     */
+    @Deprecated
     ArtifactRepository createDefaultRemoteRepository()
         throws InvalidRepositoryException;
 

http://git-wip-us.apache.org/repos/asf/maven/blob/15a9c32f/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
                
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java \
b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java \
                index 71616fa..7db65d8 100644
--- a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
                
+++ b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
 @@ -23,7 +23,10 @@ import java.net.URL;
 import java.util.Arrays;
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.MavenArtifactRepository;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.model.building.ModelBuildingException;
 import org.apache.maven.model.building.ModelProblem;
 import org.apache.maven.repository.RepositorySystem;
@@ -172,9 +175,17 @@ public abstract class AbstractMavenProjectTestCase
     protected MavenProject getProjectFromRemoteRepository( final File pom )
         throws Exception
     {
+        final ArtifactRepository testRepository =
+            new MavenArtifactRepository( "test",
+                                         "file://" + new File( System.getProperty( \
"basedir", "" ), +                                                               \
"src/test/remote-repo" ).toURI().getPath(), +                                         \
new DefaultRepositoryLayout(), +                                         new \
ArtifactRepositoryPolicy(), +                                         new \
ArtifactRepositoryPolicy() ); +
         final ProjectBuildingRequest configuration = new \
DefaultProjectBuildingRequest();  configuration.setLocalRepository( \
                this.getLocalRepository() );
-        configuration.setRemoteRepositories( Arrays.asList( \
this.repositorySystem.createDefaultRemoteRepository() ) ); +        \
configuration.setRemoteRepositories( Arrays.asList( testRepository ) );  \
initRepoSession( configuration );  
         return projectBuilder.build( pom, configuration ).getProject();

http://git-wip-us.apache.org/repos/asf/maven/blob/15a9c32f/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java
                
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java \
b/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java
 index 6b103b2..dde864a 100644
--- a/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java
                
+++ b/maven-core/src/test/java/org/apache/maven/project/artifact/DefaultMavenMetadataCacheTest.java
 @@ -19,11 +19,15 @@ package org.apache.maven.project.artifact;
  * under the License.
  */
 
+import java.io.File;
 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.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.MavenArtifactRepository;
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter;
 import org.apache.maven.project.artifact.DefaultMavenMetadataCache.CacheKey;
 import org.apache.maven.repository.DelegatingLocalArtifactRepository;
@@ -53,19 +57,36 @@ public class DefaultMavenMetadataCacheTest
         super.tearDown();
     }
 
+    @SuppressWarnings( "deprecation" )
     public void testCacheKey()
         throws Exception
     {
         Artifact a1 = repositorySystem.createArtifact( "testGroup", "testArtifact", \
                "1.2.3", "jar" );
-        @SuppressWarnings( "deprecation" )
-        ArtifactRepository lr1 = new DelegatingLocalArtifactRepository( \
                repositorySystem.createDefaultLocalRepository() );
-        ArtifactRepository rr1 = repositorySystem.createDefaultRemoteRepository();
+        ArtifactRepository lr1 =
+            new DelegatingLocalArtifactRepository( \
repositorySystem.createDefaultLocalRepository() ); +
+        ArtifactRepository rr1 = new MavenArtifactRepository( "test",
+                                                              "file://" + new File( \
System.getProperty( "basedir", "" ), +                                                \
"src/test/remote-repo" ).toURI(). +                                                   \
getPath(), +                                                              new \
DefaultRepositoryLayout(), +                                                          \
new ArtifactRepositoryPolicy(), +                                                     \
new ArtifactRepositoryPolicy() ); +
         a1.setDependencyFilter( new ExcludesArtifactFilter( Arrays.asList( "foo" ) ) \
);  
         Artifact a2 = repositorySystem.createArtifact( "testGroup", "testArtifact", \
                "1.2.3", "jar" );
-        @SuppressWarnings( "deprecation" )
-        ArtifactRepository lr2 = new DelegatingLocalArtifactRepository( \
                repositorySystem.createDefaultLocalRepository() );
-        ArtifactRepository rr2 = repositorySystem.createDefaultRemoteRepository();
+        ArtifactRepository lr2 =
+            new DelegatingLocalArtifactRepository( \
repositorySystem.createDefaultLocalRepository() ); +
+        ArtifactRepository rr2 = new MavenArtifactRepository( "test",
+                                                              "file://" + new File( \
System.getProperty( "basedir", "" ), +                                                \
"src/test/remote-repo" ).toURI(). +                                                   \
getPath(), +                                                              new \
DefaultRepositoryLayout(), +                                                          \
new ArtifactRepositoryPolicy(), +                                                     \
new ArtifactRepositoryPolicy() ); +
         a2.setDependencyFilter( new ExcludesArtifactFilter( Arrays.asList( "foo" ) ) \
);  
         // sanity checks
@@ -76,6 +97,7 @@ public class DefaultMavenMetadataCacheTest
         CacheKey k1 = new CacheKey( a1, false, lr1, Collections.singletonList( rr1 ) \
                );
         CacheKey k2 = new CacheKey( a2, false, lr2, Collections.singletonList( rr2 ) \
);  
-        assertEquals(k1.hashCode(), k2.hashCode());
+        assertEquals( k1.hashCode(), k2.hashCode() );
     }
+
 }

http://git-wip-us.apache.org/repos/asf/maven/blob/15a9c32f/maven-core/src/test/java/org/apache/maven/repository/TestRepositorySystem.java
                
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/repository/TestRepositorySystem.java \
b/maven-core/src/test/java/org/apache/maven/repository/TestRepositorySystem.java \
                index 0e054c6..5a76b26 100644
--- a/maven-core/src/test/java/org/apache/maven/repository/TestRepositorySystem.java
+++ b/maven-core/src/test/java/org/apache/maven/repository/TestRepositorySystem.java
@@ -106,13 +106,15 @@ public class TestRepositorySystem
         return createLocalRepository( new File( System.getProperty( "basedir", "" ), \
"target/local-repo" ).getAbsoluteFile() );  }
 
+    /**
+     * @deprecation As of 3.4, Maven no longer falls back to a hard-coded default \
repository with identifier +     * {@code central} if such a repository is not \
provided in the settings or the POM. +     */
+    @Deprecated
     public ArtifactRepository createDefaultRemoteRepository()
         throws InvalidRepositoryException
     {
-        return new MavenArtifactRepository( DEFAULT_REMOTE_REPO_ID, "file://"
-            + new File( System.getProperty( "basedir", "" ), "src/test/remote-repo" \
                ).toURI().getPath(),
-                                            new DefaultRepositoryLayout(), new \
                ArtifactRepositoryPolicy(),
-                                            new ArtifactRepositoryPolicy() );
+        throw new UnsupportedOperationException();
     }
 
     public Artifact createDependencyArtifact( Dependency dependency )


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic