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);
}
/**