diff --git a/apache-maven/src/assembly/maven/conf/settings.xml b/apache-maven/src/assembly/maven/conf/settings.xml index 770656bb6c91..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"> - alwaysActiveProfile - anotherAlwaysActiveProfile + maven:core:central-repo + - --> diff --git a/api/maven-api-settings/pom.xml b/api/maven-api-settings/pom.xml index 3a05752c6009..f428b993a053 100644 --- a/api/maven-api-settings/pom.xml +++ b/api/maven-api-settings/pom.xml @@ -51,7 +51,7 @@ under the License. velocity - 2.0.0 + 1.3.0 ${project.basedir}/../../src/mdo src/main/mdo/settings.mdo @@ -64,6 +64,20 @@ under the License. + + modello-site-docs + + xdoc + xsd + + generate-resources + + 1.3.0 + + src/main/mdo/settings.mdo + + + diff --git a/api/maven-api-settings/src/main/mdo/settings.mdo b/api/maven-api-settings/src/main/mdo/settings.mdo index 9e9221aaa49f..9115dd6befb1 100644 --- a/api/maven-api-settings/src/main/mdo/settings.mdo +++ b/api/maven-api-settings/src/main/mdo/settings.mdo @@ -222,6 +222,39 @@ * + + repositories + 1.3.0+ + + + + + Repository + * + + + + pluginRepositories + 1.3.0+ + + + + + Repository + * + + + + + profiles 1.0.0+ @@ -815,6 +848,7 @@ RepositoryBase 1.0.0+ + IdentifiableBase - - id - 1.0.0+ - true - true - - - - String - name 1.0.0+ 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-embedder/src/main/java/org/apache/maven/cli/configuration/SettingsXmlConfigurationProcessor.java b/maven-embedder/src/main/java/org/apache/maven/cli/configuration/SettingsXmlConfigurationProcessor.java index 1b248497712e..925a00dd64c4 100644 --- a/maven-embedder/src/main/java/org/apache/maven/cli/configuration/SettingsXmlConfigurationProcessor.java +++ b/maven-embedder/src/main/java/org/apache/maven/cli/configuration/SettingsXmlConfigurationProcessor.java @@ -201,6 +201,22 @@ private MavenExecutionRequest populateFromSettings(MavenExecutionRequest request request.addMirror(mirror); } + for (Repository remoteRepository : settings.getRepositories()) { + try { + request.addRemoteRepository(MavenRepositorySystem.buildArtifactRepository(remoteRepository)); + } catch (InvalidRepositoryException e) { + // do nothing for now + } + } + + for (Repository pluginRepository : settings.getPluginRepositories()) { + try { + request.addPluginArtifactRepository(MavenRepositorySystem.buildArtifactRepository(pluginRepository)); + } catch (InvalidRepositoryException e) { + // do nothing for now + } + } + request.setActiveProfiles(settings.getActiveProfiles()); for (Profile rawProfile : settings.getProfiles()) { 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 diff --git a/maven-settings-builder/src/main/java/org/apache/maven/settings/merge/MavenSettingsMerger.java b/maven-settings-builder/src/main/java/org/apache/maven/settings/merge/MavenSettingsMerger.java index 5a8c44efe3dc..80443eadabe6 100644 --- a/maven-settings-builder/src/main/java/org/apache/maven/settings/merge/MavenSettingsMerger.java +++ b/maven-settings-builder/src/main/java/org/apache/maven/settings/merge/MavenSettingsMerger.java @@ -88,6 +88,8 @@ public void merge(Settings dominant, Settings recessive, String recessiveSourceL shallowMergeById(dominant.getServers(), recessive.getServers(), recessiveSourceLevel); shallowMergeById(dominant.getProxies(), recessive.getProxies(), recessiveSourceLevel); shallowMergeById(dominant.getProfiles(), recessive.getProfiles(), recessiveSourceLevel); + shallowMergeById(dominant.getRepositories(), recessive.getRepositories(), recessiveSourceLevel); + shallowMergeById(dominant.getPluginRepositories(), recessive.getPluginRepositories(), recessiveSourceLevel); } /**