Skip to content

Commit b2f9155

Browse files
ChristianSchultegnodet
authored andcommitted
[MNG-4645] Move Central repo definition out of Maven's core so it can be more easily changed
1 parent b2953c5 commit b2f9155

File tree

5 files changed

+37
-67
lines changed

5 files changed

+37
-67
lines changed

apache-maven/src/assembly/maven/conf/settings.xml

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -252,14 +252,43 @@ under the License.
252252
</properties>
253253
</profile>
254254
-->
255+
<profile>
256+
<id>maven:core:central-repo</id>
257+
<repositories>
258+
<repository>
259+
<id>central</id>
260+
<name>Central Repository</name>
261+
<url>https://repo.maven.apache.org/maven2</url>
262+
<snapshots>
263+
<enabled>false</enabled>
264+
</snapshots>
265+
</repository>
266+
</repositories>
267+
268+
<pluginRepositories>
269+
<pluginRepository>
270+
<id>central</id>
271+
<name>Central Repository</name>
272+
<url>https://repo.maven.apache.org/maven2</url>
273+
<snapshots>
274+
<enabled>false</enabled>
275+
</snapshots>
276+
<releases>
277+
<updatePolicy>never</updatePolicy>
278+
</releases>
279+
</pluginRepository>
280+
</pluginRepositories>
281+
</profile>
255282
</profiles>
256283

257284
<!-- activeProfiles
258285
| List of profiles that are active for all builds.
259286
|
287+
-->
260288
<activeProfiles>
261-
<activeProfile>alwaysActiveProfile</activeProfile>
262-
<activeProfile>anotherAlwaysActiveProfile</activeProfile>
289+
<activeProfile>maven:core:central-repo</activeProfile>
290+
<!--
291+
activeProfile>anotherAlwaysActiveProfile</activeProfile>
292+
-->
263293
</activeProfiles>
264-
-->
265294
</settings>

maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import java.util.HashMap;
2828
import java.util.List;
2929
import java.util.Map;
30-
import java.util.Set;
3130

3231
import org.apache.maven.artifact.InvalidRepositoryException;
3332
import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -84,10 +83,6 @@ public MavenExecutionRequest populateDefaults(MavenExecutionRequest request)
8483

8584
populateDefaultPluginGroups(request);
8685

87-
injectDefaultRepositories(request);
88-
89-
injectDefaultPluginRepositories(request);
90-
9186
return request;
9287
}
9388

@@ -100,32 +95,6 @@ private void populateDefaultPluginGroups(MavenExecutionRequest request) {
10095
request.addPluginGroup("org.codehaus.mojo");
10196
}
10297

103-
private void injectDefaultRepositories(MavenExecutionRequest request)
104-
throws MavenExecutionRequestPopulationException {
105-
Set<String> definedRepositories = repositorySystem.getRepoIds(request.getRemoteRepositories());
106-
107-
if (!definedRepositories.contains(RepositorySystem.DEFAULT_REMOTE_REPO_ID)) {
108-
try {
109-
request.addRemoteRepository(repositorySystem.createDefaultRemoteRepository(request));
110-
} catch (Exception e) {
111-
throw new MavenExecutionRequestPopulationException("Cannot create default remote repository.", e);
112-
}
113-
}
114-
}
115-
116-
private void injectDefaultPluginRepositories(MavenExecutionRequest request)
117-
throws MavenExecutionRequestPopulationException {
118-
Set<String> definedRepositories = repositorySystem.getRepoIds(request.getPluginArtifactRepositories());
119-
120-
if (!definedRepositories.contains(RepositorySystem.DEFAULT_REMOTE_REPO_ID)) {
121-
try {
122-
request.addPluginArtifactRepository(repositorySystem.createDefaultRemoteRepository(request));
123-
} catch (Exception e) {
124-
throw new MavenExecutionRequestPopulationException("Cannot create default remote repository.", e);
125-
}
126-
}
127-
}
128-
12998
private void localRepository(MavenExecutionRequest request) throws MavenExecutionRequestPopulationException {
13099
// ------------------------------------------------------------------------
131100
// Local Repository

maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import static org.junit.jupiter.api.Assertions.assertNotNull;
4444
import static org.junit.jupiter.api.Assertions.assertNull;
4545
import static org.junit.jupiter.api.Assertions.assertThrows;
46+
import static org.junit.jupiter.api.Assertions.assertTrue;
4647
import static org.junit.jupiter.api.Assertions.fail;
4748

4849
class DefaultMavenProjectBuilderTest extends AbstractMavenProjectTestCase {
@@ -133,10 +134,10 @@ void testBuildStubModelForMissingRemotePom() throws Exception {
133134
assertNotNull(project.getArtifactId());
134135

135136
assertNotNull(project.getRemoteArtifactRepositories());
136-
assertFalse(project.getRemoteArtifactRepositories().isEmpty());
137+
assertTrue(project.getRemoteArtifactRepositories().isEmpty());
137138

138139
assertNotNull(project.getPluginArtifactRepositories());
139-
assertFalse(project.getPluginArtifactRepositories().isEmpty());
140+
assertTrue(project.getPluginArtifactRepositories().isEmpty());
140141

141142
assertNull(project.getParent());
142143
assertNull(project.getParentArtifact());

maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -575,7 +575,7 @@ void testExecutionConfigurationSubcollections() throws Exception {
575575
@Test
576576
void testMultipleRepositories() throws Exception {
577577
PomTestWrapper pom = buildPom("multiple-repos/sub");
578-
assertEquals(3, ((List<?>) pom.getValue("repositories")).size());
578+
assertEquals(2, ((List<?>) pom.getValue("repositories")).size());
579579
}
580580

581581
/** MNG-3965 */
@@ -1371,12 +1371,10 @@ private void testCompleteModel(PomTestWrapper pom) throws Exception {
13711371
assertEquals("org.apache.maven.its", pom.getValue("dependencies[1]/exclusions[1]/groupId"));
13721372
assertEquals("excluded-dep", pom.getValue("dependencies[1]/exclusions[1]/artifactId"));
13731373

1374-
assertEquals(2, ((List<?>) pom.getValue("repositories")).size());
1374+
assertEquals(1, ((List<?>) pom.getValue("repositories")).size());
13751375
assertEquals("project-remote-repo", pom.getValue("repositories[1]/id"));
13761376
assertEquals("https://project.url/remote", pom.getValue("repositories[1]/url"));
13771377
assertEquals("repo", pom.getValue("repositories[1]/name"));
1378-
assertEquals(RepositorySystem.DEFAULT_REMOTE_REPO_ID, pom.getValue("repositories[2]/id"));
1379-
assertEquals(RepositorySystem.DEFAULT_REMOTE_REPO_URL, pom.getValue("repositories[2]/url"));
13801378

13811379
assertEquals("test", pom.getValue("build/defaultGoal"));
13821380
assertEquals("coreit", pom.getValue("build/finalName"));

maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.0.0.xml

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -28,33 +28,6 @@ under the License.
2828
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
2929
</properties>
3030

31-
<repositories>
32-
<repository>
33-
<id>central</id>
34-
<name>Maven Central Repository</name>
35-
<url>https://repo.maven.apache.org/maven2</url>
36-
<layout>default</layout>
37-
<snapshots>
38-
<enabled>false</enabled>
39-
</snapshots>
40-
</repository>
41-
</repositories>
42-
43-
<pluginRepositories>
44-
<pluginRepository>
45-
<id>central</id>
46-
<name>Maven Central Repository</name>
47-
<url>https://repo.maven.apache.org/maven2</url>
48-
<layout>default</layout>
49-
<snapshots>
50-
<enabled>false</enabled>
51-
</snapshots>
52-
<releases>
53-
<updatePolicy>never</updatePolicy>
54-
</releases>
55-
</pluginRepository>
56-
</pluginRepositories>
57-
5831
<build>
5932
<directory>${project.basedir}/target</directory>
6033
<outputDirectory>${project.build.directory}/classes</outputDirectory>

0 commit comments

Comments
 (0)