You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2020/12/26 13:26:49 UTC

[maven] 01/01: [MNG-4645] Move Central repo definition out of Maven's core so it can be more easily changed

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch MNG-4645
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 6b95490e54933da7d01975719d18cff6878878ca
Author: Christian Schulte <sc...@apache.org>
AuthorDate: Fri Dec 25 17:07:51 2020 +0100

    [MNG-4645] Move Central repo definition out of Maven's core so it can be more easily changed
---
 apache-maven/src/assembly/maven/conf/settings.xml  | 29 +++++++++++++++
 .../repository/legacy/LegacyRepositorySystem.java  |  9 -----
 .../repository/LegacyRepositorySystemTest.java     |  2 +-
 .../apache/maven/bridge/MavenRepositorySystem.java |  9 -----
 .../DefaultMavenExecutionRequestPopulator.java     | 41 ----------------------
 .../apache/maven/repository/RepositorySystem.java  |  7 ----
 .../maven/AbstractCoreMavenComponentTestCase.java  |  2 +-
 .../project/AbstractMavenProjectTestCase.java      | 13 ++++++-
 .../project/DefaultMavenProjectBuilderTest.java    |  4 +--
 .../apache/maven/project/PomConstructionTest.java  |  6 ++--
 .../maven/project/ProjectModelResolverTest.java    |  6 ++--
 .../artifact/DefaultMavenMetadataCacheTest.java    | 31 ++++++++++++----
 .../maven/repository/TestRepositorySystem.java     |  9 -----
 .../resources/org/apache/maven/model/pom-4.0.0.xml | 27 --------------
 14 files changed, 75 insertions(+), 120 deletions(-)

diff --git a/apache-maven/src/assembly/maven/conf/settings.xml b/apache-maven/src/assembly/maven/conf/settings.xml
index 76c3cd7..47791d6 100644
--- a/apache-maven/src/assembly/maven/conf/settings.xml
+++ b/apache-maven/src/assembly/maven/conf/settings.xml
@@ -244,6 +244,35 @@ under the License.
       </properties>
     </profile>
     -->
+    <profile>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+      <repositories>
+        <repository>
+          <id>central</id>
+          <name>Central Repository</name>
+          <url>https://repo.maven.apache.org/maven2</url>
+          <snapshots>
+            <enabled>false</enabled>
+          </snapshots>
+        </repository>
+      </repositories>
+
+      <pluginRepositories>
+        <pluginRepository>
+          <id>central</id>
+          <name>Central Repository</name>
+          <url>https://repo.maven.apache.org/maven2</url>
+          <snapshots>
+            <enabled>false</enabled>
+          </snapshots>
+          <releases>
+            <updatePolicy>never</updatePolicy>
+          </releases>
+      </pluginRepository>
+    </pluginRepositories>
+    </profile>
   </profiles>
 
   <!-- activeProfiles
diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java
index e4fff06..db8c87f 100644
--- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java
+++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java
@@ -266,15 +266,6 @@ public class LegacyRepositorySystem
                                  ArtifactRepositoryPolicy.CHECKSUM_POLICY_IGNORE );
     }
 
-    public ArtifactRepository createDefaultRemoteRepository()
-        throws InvalidRepositoryException
-    {
-        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 );
-    }
-
     public ArtifactRepository createLocalRepository( String url, String repositoryId )
         throws IOException
     {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java b/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
index 17dfcfc..3f1f744 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
@@ -89,7 +89,7 @@ public class LegacyRepositorySystemTest
         policy.setUpdatePolicy( "always" );
 
         Repository repository = new Repository();
-        repository.setId( RepositorySystem.DEFAULT_REMOTE_REPO_ID );
+        repository.setId( "remote" );
         repository.setUrl( "file://" + repoDir.toURI().getPath() );
         repository.setReleases( policy );
         repository.setSnapshots( policy );
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 f723cde..60f1317 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
@@ -573,15 +573,6 @@ public class MavenRepositorySystem
     // Code taken from LegacyRepositorySystem
     //
 
-    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.DEFAULT_CHECKSUM_POLICY );
-    }
-
     public ArtifactRepository createRepository( String url, String repositoryId, boolean releases,
                                                  String releaseUpdates, boolean snapshots, String snapshotUpdates,
                                                  String checksumPolicy ) throws Exception
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 94e9ecc..917a0d3 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;
@@ -101,10 +100,6 @@ public class DefaultMavenExecutionRequestPopulator
 
         populateDefaultPluginGroups( request );
 
-        injectDefaultRepositories( request );
-
-        injectDefaultPluginRepositories( request );
-
         return request;
     }
 
@@ -118,42 +113,6 @@ public class DefaultMavenExecutionRequestPopulator
         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
     {
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 30b4925..2c64116 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
@@ -53,10 +53,6 @@ public interface RepositorySystem
     @SuppressWarnings( "checkstyle:constantname" )
     File defaultUserLocalRepository = new File( userMavenConfigurationHome, "repository" );
 
-    String DEFAULT_REMOTE_REPO_ID = "central";
-
-    String DEFAULT_REMOTE_REPO_URL = "https://repo.maven.apache.org/maven2";
-
     Artifact createArtifact( String groupId, String artifactId, String version, String packaging );
 
     Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type );
@@ -73,9 +69,6 @@ public interface RepositorySystem
     ArtifactRepository buildArtifactRepository( Repository repository )
         throws InvalidRepositoryException;
 
-    ArtifactRepository createDefaultRemoteRepository()
-        throws InvalidRepositoryException;
-
     ArtifactRepository createDefaultLocalRepository()
         throws InvalidRepositoryException;
 
diff --git a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
index 8df987e..9b8c8b1 100644
--- a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
@@ -219,7 +219,7 @@ public abstract class AbstractCoreMavenComponentTestCase
         policy.setUpdatePolicy( "always" );
 
         Repository repository = new Repository();
-        repository.setId( RepositorySystem.DEFAULT_REMOTE_REPO_ID );
+        repository.setId( "remote" );
         repository.setUrl( "file://" + repoDir.toURI().getPath() );
         repository.setReleases( policy );
         repository.setSnapshots( policy );
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 ac3954d..5a99ec6 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,6 +23,9 @@ 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.DefaultRepositoryLayout;
 import org.apache.maven.model.building.ModelBuildingException;
 import org.apache.maven.model.building.ModelProblem;
 import org.apache.maven.repository.RepositorySystem;
@@ -165,9 +168,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();
diff --git a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
index 1bb66ab..c90b34c 100644
--- a/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
@@ -183,10 +183,10 @@ public class DefaultMavenProjectBuilderTest
         assertNotNull( project.getArtifactId() );
 
         assertNotNull( project.getRemoteArtifactRepositories() );
-        assertFalse( project.getRemoteArtifactRepositories().isEmpty() );
+        assertTrue( project.getRemoteArtifactRepositories().isEmpty() );
 
         assertNotNull( project.getPluginArtifactRepositories() );
-        assertFalse( project.getPluginArtifactRepositories().isEmpty() );
+        assertTrue( project.getPluginArtifactRepositories().isEmpty() );
 
         assertNull( project.getParent() );
         assertNull( project.getParentArtifact() );
diff --git a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
index a078a81..febe123 100644
--- a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
@@ -397,7 +397,7 @@ public class PomConstructionTest
         throws Exception
     {
         PomTestWrapper pom = buildPom( "multiple-repos/sub" );
-        assertEquals( 3, ( (List<?>) pom.getValue( "repositories" ) ).size() );
+        assertEquals( 2, ( (List<?>) pom.getValue( "repositories" ) ).size() );
     }
 
     /** MNG-3965 */
@@ -1275,12 +1275,10 @@ public class PomConstructionTest
         assertEquals( "org.apache.maven.its", pom.getValue( "dependencies[1]/exclusions[1]/groupId" ) );
         assertEquals( "excluded-dep", pom.getValue( "dependencies[1]/exclusions[1]/artifactId" ) );
 
-        assertEquals( 2, ( (List<?>) pom.getValue( "repositories" ) ).size() );
+        assertEquals( 1, ( (List<?>) pom.getValue( "repositories" ) ).size() );
         assertEquals( "project-remote-repo", pom.getValue( "repositories[1]/id" ) );
         assertEquals( "https://project.url/remote", pom.getValue( "repositories[1]/url" ) );
         assertEquals( "repo", pom.getValue( "repositories[1]/name" ) );
-        assertEquals( RepositorySystem.DEFAULT_REMOTE_REPO_ID, pom.getValue( "repositories[2]/id" ) );
-        assertEquals( RepositorySystem.DEFAULT_REMOTE_REPO_URL, pom.getValue( "repositories[2]/url" ) );
 
         assertEquals( "test", pom.getValue( "build/defaultGoal" ) );
         assertEquals( "coreit", pom.getValue( "build/finalName" ) );
diff --git a/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java b/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
index fb1c642..2cc749e 100644
--- a/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/ProjectModelResolverTest.java
@@ -69,7 +69,7 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         catch ( final UnresolvableModelException e )
         {
             assertNotNull( e.getMessage() );
-            assertThat( e.getMessage(), startsWith( "Could not find artifact org.apache:apache:pom:0 in central" ) );
+            assertThat( e.getMessage(), startsWith( "Could not find artifact org.apache:apache:pom:0 in remote" ) );
         }
     }
 
@@ -150,7 +150,7 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
         catch ( final UnresolvableModelException e )
         {
             assertNotNull( e.getMessage() );
-            assertThat( e.getMessage(), startsWith( "Could not find artifact org.apache:apache:pom:0 in central" ) );
+            assertThat( e.getMessage(), startsWith( "Could not find artifact org.apache:apache:pom:0 in remote" ) );
         }
     }
 
@@ -234,7 +234,7 @@ public class ProjectModelResolverTest extends AbstractMavenProjectTestCase
     {
         final File repoDir = new File( getBasedir(), "src/test/remote-repo" ).getAbsoluteFile();
         final RemoteRepository remoteRepository =
-            new RemoteRepository.Builder( org.apache.maven.repository.RepositorySystem.DEFAULT_REMOTE_REPO_ID,
+            new RemoteRepository.Builder( "remote",
                                           "default", repoDir.toURI().toASCIIString() ).build();
 
         return Collections.singletonList( remoteRepository );
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 c039934..6890174 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,16 @@ 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;
@@ -59,15 +64,29 @@ public class DefaultMavenMetadataCacheTest
         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
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 c95f428..2ddc635 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
@@ -114,15 +114,6 @@ public class TestRepositorySystem
         return createLocalRepository( new File( System.getProperty( "basedir", "." ), "target/local-repo" ).getAbsoluteFile() );
     }
 
-    public ArtifactRepository createDefaultRemoteRepository()
-        throws InvalidRepositoryException
-    {
-        return new MavenArtifactRepository( DEFAULT_REMOTE_REPO_ID, "file://"
-            + new File( System.getProperty( "basedir", "." ), "src/test/remote-repo" ).getAbsoluteFile().toURI().getPath(),
-                                            new DefaultRepositoryLayout(), new ArtifactRepositoryPolicy(),
-                                            new ArtifactRepositoryPolicy() );
-    }
-
     public Artifact createDependencyArtifact( Dependency dependency )
     {
         Artifact artifact =
diff --git a/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.0.0.xml b/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.0.0.xml
index cc55dac..7565dfb 100644
--- a/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.0.0.xml
+++ b/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.0.0.xml
@@ -23,33 +23,6 @@ under the License.
 <project>
   <modelVersion>4.0.0</modelVersion>
 
-  <repositories>
-    <repository>
-      <id>central</id>
-      <name>Central Repository</name>
-      <url>https://repo.maven.apache.org/maven2</url>
-      <layout>default</layout>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-  </repositories>
-
-  <pluginRepositories>
-    <pluginRepository>
-      <id>central</id>
-      <name>Central Repository</name>
-      <url>https://repo.maven.apache.org/maven2</url>
-      <layout>default</layout>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-      <releases>
-        <updatePolicy>never</updatePolicy>
-      </releases>
-    </pluginRepository>
-  </pluginRepositories>
-
   <build>
     <directory>${project.basedir}/target</directory>
     <outputDirectory>${project.build.directory}/classes</outputDirectory>