From 17ee49be2e781a6307b7368102f454196d3fa283 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Mon, 14 Jul 2025 15:57:31 +0200 Subject: [PATCH] Stop using repo.spring.io/milestone As of this new major, all milestones should be shipped to central as well. This commit removes the inclusion of the milestone repository as this shouldn't be needed anymore. Closes gh-46420 --- buildSrc/SpringRepositorySupport.groovy | 3 -- .../boot/build/artifacts/ArtifactRelease.java | 4 +- .../antora/AntoraAsciidocAttributesTests.java | 2 +- .../build/artifacts/ArtifactReleaseTests.java | 14 +++--- .../SpringRepositoriesExtensionTests.java | 49 +++++++------------ 5 files changed, 29 insertions(+), 43 deletions(-) diff --git a/buildSrc/SpringRepositorySupport.groovy b/buildSrc/SpringRepositorySupport.groovy index b3ad5c8f352..26695511dd9 100644 --- a/buildSrc/SpringRepositorySupport.groovy +++ b/buildSrc/SpringRepositorySupport.groovy @@ -101,9 +101,6 @@ class SpringRepositoriesExtension { private void addRepositories(action) { addCommercialRepository("release", false, "/spring-enterprise-maven-prod-local", action) - if (this.version.contains("-")) { - addOssRepository("milestone", false, "/milestone", action) - } if (this.version.endsWith("-SNAPSHOT")) { addCommercialRepository("snapshot", true, "/spring-enterprise-maven-dev-local", action) addOssRepository("snapshot", true, "/snapshot", action) diff --git a/buildSrc/src/main/java/org/springframework/boot/build/artifacts/ArtifactRelease.java b/buildSrc/src/main/java/org/springframework/boot/build/artifacts/ArtifactRelease.java index 2d9316d6d41..2da48528cdd 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/artifacts/ArtifactRelease.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/artifacts/ArtifactRelease.java @@ -28,7 +28,7 @@ import org.gradle.api.Project; */ public final class ArtifactRelease { - private static final String SPRING_REPO = "https://repo.spring.io/%s"; + private static final String SPRING_SNAPSHOT_REPO = "https://repo.spring.io/snapshot"; private static final String MAVEN_REPO = "https://repo.maven.apache.org/maven2"; @@ -43,7 +43,7 @@ public final class ArtifactRelease { } public String getDownloadRepo() { - return (this.isRelease()) ? MAVEN_REPO : String.format(SPRING_REPO, this.getType()); + return (this.type == Type.SNAPSHOT) ? SPRING_SNAPSHOT_REPO : MAVEN_REPO; } public boolean isRelease() { diff --git a/buildSrc/src/test/java/org/springframework/boot/build/antora/AntoraAsciidocAttributesTests.java b/buildSrc/src/test/java/org/springframework/boot/build/antora/AntoraAsciidocAttributesTests.java index 51b89c5b88f..99b37878158 100644 --- a/buildSrc/src/test/java/org/springframework/boot/build/antora/AntoraAsciidocAttributesTests.java +++ b/buildSrc/src/test/java/org/springframework/boot/build/antora/AntoraAsciidocAttributesTests.java @@ -134,7 +134,7 @@ class AntoraAsciidocAttributesTests { void urlArtifactRepositoryWhenMilestone() { AntoraAsciidocAttributes attributes = new AntoraAsciidocAttributes("1.2.3-M1", true, BuildType.OPEN_SOURCE, null, mockDependencyVersions(), null); - assertThat(attributes.get()).containsEntry("url-artifact-repository", "https://repo.spring.io/milestone"); + assertThat(attributes.get()).containsEntry("url-artifact-repository", "https://repo.maven.apache.org/maven2"); } @Test diff --git a/buildSrc/src/test/java/org/springframework/boot/build/artifacts/ArtifactReleaseTests.java b/buildSrc/src/test/java/org/springframework/boot/build/artifacts/ArtifactReleaseTests.java index 853c7988ca0..9f6cf611d54 100644 --- a/buildSrc/src/test/java/org/springframework/boot/build/artifacts/ArtifactReleaseTests.java +++ b/buildSrc/src/test/java/org/springframework/boot/build/artifacts/ArtifactReleaseTests.java @@ -66,17 +66,19 @@ class ArtifactReleaseTests { } @Test - void whenProjectVersionIsMilestoneThenRepositoryIsArtifactoryMilestone() { + void whenProjectVersionIsMilestoneThenRepositoryIsMavenCentral() { Project project = ProjectBuilder.builder().build(); - project.setVersion("1.2.3-M1"); - assertThat(ArtifactRelease.forProject(project).getDownloadRepo()).contains("repo.spring.io/milestone"); + project.setVersion("4.0.0-M1"); + assertThat(ArtifactRelease.forProject(project).getDownloadRepo()) + .contains("https://repo.maven.apache.org/maven2"); } @Test - void whenProjectVersionIsReleaseCandidateThenRepositoryIsArtifactoryMilestone() { + void whenProjectVersionIsReleaseCandidateThenRepositoryIsMavenCentral() { Project project = ProjectBuilder.builder().build(); - project.setVersion("1.2.3-RC1"); - assertThat(ArtifactRelease.forProject(project).getDownloadRepo()).contains("repo.spring.io/milestone"); + project.setVersion("4.0.0-RC1"); + assertThat(ArtifactRelease.forProject(project).getDownloadRepo()) + .contains("https://repo.maven.apache.org/maven2"); } @Test diff --git a/buildSrc/src/test/java/org/springframework/boot/build/groovyscripts/SpringRepositoriesExtensionTests.java b/buildSrc/src/test/java/org/springframework/boot/build/groovyscripts/SpringRepositoriesExtensionTests.java index af7e4e54b66..d5d3902a8ec 100644 --- a/buildSrc/src/test/java/org/springframework/boot/build/groovyscripts/SpringRepositoriesExtensionTests.java +++ b/buildSrc/src/test/java/org/springframework/boot/build/groovyscripts/SpringRepositoriesExtensionTests.java @@ -80,57 +80,45 @@ class SpringRepositoriesExtensionTests { void mavenRepositoriesWhenNotCommercialSnapshot() { SpringRepositoriesExtension extension = createExtension("0.0.0-SNAPSHOT", "oss"); extension.mavenRepositories(); - assertThat(this.repositories).hasSize(2); - verify(this.repositories.get(0)).setName("spring-oss-milestone"); - verify(this.repositories.get(0)).setUrl("https://repo.spring.io/milestone"); - verify(this.mavenContent.get(0)).releasesOnly(); - verify(this.repositories.get(1)).setName("spring-oss-snapshot"); - verify(this.repositories.get(1)).setUrl("https://repo.spring.io/snapshot"); - verify(this.mavenContent.get(1)).snapshotsOnly(); + assertThat(this.repositories).hasSize(1); + verify(this.repositories.get(0)).setName("spring-oss-snapshot"); + verify(this.repositories.get(0)).setUrl("https://repo.spring.io/snapshot"); + verify(this.mavenContent.get(0)).snapshotsOnly(); } @Test void mavenRepositoriesWhenCommercialSnapshot() { SpringRepositoriesExtension extension = createExtension("0.0.0-SNAPSHOT", "commercial"); extension.mavenRepositories(); - assertThat(this.repositories).hasSize(4); + assertThat(this.repositories).hasSize(3); verify(this.repositories.get(0)).setName("spring-commercial-release"); verify(this.repositories.get(0)) .setUrl("https://usw1.packages.broadcom.com/spring-enterprise-maven-prod-local"); verify(this.mavenContent.get(0)).releasesOnly(); - verify(this.repositories.get(1)).setName("spring-oss-milestone"); - verify(this.repositories.get(1)).setUrl("https://repo.spring.io/milestone"); - verify(this.mavenContent.get(1)).releasesOnly(); - verify(this.repositories.get(2)).setName("spring-commercial-snapshot"); - verify(this.repositories.get(2)).setUrl("https://usw1.packages.broadcom.com/spring-enterprise-maven-dev-local"); + verify(this.repositories.get(1)).setName("spring-commercial-snapshot"); + verify(this.repositories.get(1)).setUrl("https://usw1.packages.broadcom.com/spring-enterprise-maven-dev-local"); + verify(this.mavenContent.get(1)).snapshotsOnly(); + verify(this.repositories.get(2)).setName("spring-oss-snapshot"); + verify(this.repositories.get(2)).setUrl("https://repo.spring.io/snapshot"); verify(this.mavenContent.get(2)).snapshotsOnly(); - verify(this.repositories.get(3)).setName("spring-oss-snapshot"); - verify(this.repositories.get(3)).setUrl("https://repo.spring.io/snapshot"); - verify(this.mavenContent.get(3)).snapshotsOnly(); } @Test void mavenRepositoriesWhenNotCommercialMilestone() { SpringRepositoriesExtension extension = createExtension("0.0.0-M1", "oss"); extension.mavenRepositories(); - assertThat(this.repositories).hasSize(1); - verify(this.repositories.get(0)).setName("spring-oss-milestone"); - verify(this.repositories.get(0)).setUrl("https://repo.spring.io/milestone"); - verify(this.mavenContent.get(0)).releasesOnly(); + assertThat(this.repositories).isEmpty(); } @Test void mavenRepositoriesWhenCommercialMilestone() { SpringRepositoriesExtension extension = createExtension("0.0.0-M1", "commercial"); extension.mavenRepositories(); - assertThat(this.repositories).hasSize(2); + assertThat(this.repositories).hasSize(1); verify(this.repositories.get(0)).setName("spring-commercial-release"); verify(this.repositories.get(0)) .setUrl("https://usw1.packages.broadcom.com/spring-enterprise-maven-prod-local"); verify(this.mavenContent.get(0)).releasesOnly(); - verify(this.repositories.get(1)).setName("spring-oss-milestone"); - verify(this.repositories.get(1)).setUrl("https://repo.spring.io/milestone"); - verify(this.mavenContent.get(1)).releasesOnly(); } @Test @@ -155,7 +143,7 @@ class SpringRepositoriesExtensionTests { void mavenRepositoriesWhenConditionMatches() { SpringRepositoriesExtension extension = createExtension("0.0.0-SNAPSHOT", "oss"); extension.mavenRepositories(true); - assertThat(this.repositories).hasSize(2); + assertThat(this.repositories).hasSize(1); } @Test @@ -169,9 +157,8 @@ class SpringRepositoriesExtensionTests { void mavenRepositoriesExcludingBootGroup() { SpringRepositoriesExtension extension = createExtension("0.0.0-SNAPSHOT", "oss"); extension.mavenRepositoriesExcludingBootGroup(); - assertThat(this.contents).hasSize(2); + assertThat(this.contents).hasSize(1); verify(this.contents.get(0)).excludeGroup("org.springframework.boot"); - verify(this.contents.get(1)).excludeGroup("org.springframework.boot"); } @Test @@ -185,9 +172,9 @@ class SpringRepositoriesExtensionTests { environment.put("COMMERCIAL_SNAPSHOT_REPO_PASSWORD", "spass"); SpringRepositoriesExtension extension = createExtension("0.0.0-SNAPSHOT", "commercial", environment::get); extension.mavenRepositories(); - assertThat(this.repositories).hasSize(4); + assertThat(this.repositories).hasSize(3); verify(this.repositories.get(0)).setUrl("curl"); - verify(this.repositories.get(2)).setUrl("surl"); + verify(this.repositories.get(1)).setUrl("surl"); assertThat(this.credentials).hasSize(2); verify(this.credentials.get(0)).setUsername("cuser"); verify(this.credentials.get(0)).setPassword("cpass"); @@ -203,9 +190,9 @@ class SpringRepositoriesExtensionTests { environment.put("COMMERCIAL_REPO_PASSWORD", "pass"); SpringRepositoriesExtension extension = createExtension("0.0.0-SNAPSHOT", "commercial", environment::get); extension.mavenRepositories(); - assertThat(this.repositories).hasSize(4); + assertThat(this.repositories).hasSize(3); verify(this.repositories.get(0)).setUrl("url"); - verify(this.repositories.get(2)).setUrl("url"); + verify(this.repositories.get(1)).setUrl("url"); assertThat(this.credentials).hasSize(2); verify(this.credentials.get(0)).setUsername("user"); verify(this.credentials.get(0)).setPassword("pass");