From b2f9155fd89aa347b780e982fdfcc898c41bde78 Mon Sep 17 00:00:00 2001 From: Christian Schulte Date: Fri, 11 Nov 2016 21:41:46 +0100 Subject: [PATCH 1/2] [MNG-4645] Move Central repo definition out of Maven's core so it can be more easily changed --- .../src/assembly/maven/conf/settings.xml | 35 +++++++++++++++++-- ...DefaultMavenExecutionRequestPopulator.java | 31 ---------------- .../DefaultMavenProjectBuilderTest.java | 5 +-- .../maven/project/PomConstructionTest.java | 6 ++-- .../org/apache/maven/model/pom-4.0.0.xml | 27 -------------- 5 files changed, 37 insertions(+), 67 deletions(-) diff --git a/apache-maven/src/assembly/maven/conf/settings.xml b/apache-maven/src/assembly/maven/conf/settings.xml index 770656bb6c91..3262172e8dcb 100644 --- a/apache-maven/src/assembly/maven/conf/settings.xml +++ b/apache-maven/src/assembly/maven/conf/settings.xml @@ -252,14 +252,43 @@ under the License. --> + + maven:core:central-repo + + + central + Central Repository + https://repo.maven.apache.org/maven2 + + false + + + + + + + central + Central Repository + https://repo.maven.apache.org/maven2 + + false + + + never + + + + - alwaysActiveProfile - anotherAlwaysActiveProfile + maven:core:central-repo + - --> 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 aee374816a19..2cf55be3547d 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 @@ -27,7 +27,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Set; import org.apache.maven.artifact.InvalidRepositoryException; import org.apache.maven.artifact.repository.ArtifactRepository; @@ -84,10 +83,6 @@ public MavenExecutionRequest populateDefaults(MavenExecutionRequest request) populateDefaultPluginGroups(request); - injectDefaultRepositories(request); - - injectDefaultPluginRepositories(request); - return request; } @@ -100,32 +95,6 @@ private void populateDefaultPluginGroups(MavenExecutionRequest request) { request.addPluginGroup("org.codehaus.mojo"); } - private void injectDefaultRepositories(MavenExecutionRequest request) - throws MavenExecutionRequestPopulationException { - Set 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 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 { // ------------------------------------------------------------------------ // Local Repository 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 78b5dd042eac..97152f5e4e35 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 @@ -43,6 +43,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; class DefaultMavenProjectBuilderTest extends AbstractMavenProjectTestCase { @@ -133,10 +134,10 @@ void testBuildStubModelForMissingRemotePom() throws Exception { 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 9f850f3ce72a..4238fb2c6793 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 @@ -575,7 +575,7 @@ void testExecutionConfigurationSubcollections() throws Exception { @Test void testMultipleRepositories() throws Exception { PomTestWrapper pom = buildPom("multiple-repos/sub"); - assertEquals(3, ((List) pom.getValue("repositories")).size()); + assertEquals(2, ((List) pom.getValue("repositories")).size()); } /** MNG-3965 */ @@ -1371,12 +1371,10 @@ private void testCompleteModel(PomTestWrapper pom) throws Exception { 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-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 46ab2ae6d15d..85f8334754a4 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 @@ -28,33 +28,6 @@ under the License. UTF-8 - - - central - Maven Central Repository - https://repo.maven.apache.org/maven2 - default - - false - - - - - - - central - Maven Central Repository - https://repo.maven.apache.org/maven2 - default - - false - - - never - - - - ${project.basedir}/target ${project.build.directory}/classes From 41324efd0d8893f4187b0e9d9349e76728faa215 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Thu, 1 Jun 2023 22:48:55 +0200 Subject: [PATCH 2/2] Add repositories and pluginRepositories to the settings --- .../src/assembly/maven/conf/settings.xml | 57 +++++++++---------- api/maven-api-settings/pom.xml | 16 +++++- .../src/main/mdo/settings.mdo | 46 +++++++++++---- .../SettingsXmlConfigurationProcessor.java | 16 ++++++ .../settings/merge/MavenSettingsMerger.java | 2 + 5 files changed, 95 insertions(+), 42 deletions(-) diff --git a/apache-maven/src/assembly/maven/conf/settings.xml b/apache-maven/src/assembly/maven/conf/settings.xml index 3262172e8dcb..434b42888801 100644 --- a/apache-maven/src/assembly/maven/conf/settings.xml +++ b/apache-maven/src/assembly/maven/conf/settings.xml @@ -43,9 +43,9 @@ under the License. | values (values used when the setting is not specified) are provided. | |--> - + xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.3.0 https://maven.apache.org/xsd/settings-1.3.0.xsd"> - - maven:core:central-repo - - - central - Central Repository - https://repo.maven.apache.org/maven2 - - false - - - - - - - central - Central Repository - https://repo.maven.apache.org/maven2 - - false - - - never - - - -