From 89ce26bf26f604840b2ffbc3e41adb7ab745559e Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Mon, 30 Sep 2024 11:30:56 -0700 Subject: [PATCH] Skip SCM and IssueManagement POM configuration for non OSS builds See gh-42333 --- .../build/MavenPublishingConventions.java | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/buildSrc/src/main/java/org/springframework/boot/build/MavenPublishingConventions.java b/buildSrc/src/main/java/org/springframework/boot/build/MavenPublishingConventions.java index 25960781560..9bcd9fe892f 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/MavenPublishingConventions.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/MavenPublishingConventions.java @@ -31,6 +31,11 @@ import org.gradle.api.publish.maven.MavenPomOrganization; import org.gradle.api.publish.maven.MavenPomScm; import org.gradle.api.publish.maven.MavenPublication; import org.gradle.api.publish.maven.plugins.MavenPublishPlugin; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.springframework.boot.build.properties.BuildProperties; +import org.springframework.boot.build.properties.BuildType; /** * Conventions that are applied in the presence of the {@link MavenPublishPlugin}. When @@ -56,6 +61,8 @@ import org.gradle.api.publish.maven.plugins.MavenPublishPlugin; */ class MavenPublishingConventions { + private static final Logger logger = LoggerFactory.getLogger(MavenPublishingConventions.class); + void apply(Project project) { project.getPlugins().withType(MavenPublishPlugin.class).all((mavenPublish) -> { PublishingExtension publishing = project.getExtensions().getByType(PublishingExtension.class); @@ -93,9 +100,7 @@ class MavenPublishingConventions { pom.licenses(this::customizeLicences); pom.developers(this::customizeDevelopers); pom.scm((scm) -> customizeScm(scm, project)); - if (!isUserInherited(project)) { - pom.issueManagement(this::customizeIssueManagement); - } + pom.issueManagement((issueManagement) -> customizeIssueManagement(issueManagement, project)); } private void customizeJavaMavenPublication(MavenPublication publication, Project project) { @@ -130,16 +135,26 @@ class MavenPublishingConventions { } private void customizeScm(MavenPomScm scm, Project project) { + if (BuildProperties.get(project).buildType() != BuildType.OPEN_SOURCE) { + logger.debug("Skipping Maven POM SCM for non open source build type"); + return; + } + scm.getUrl().set("https://github.com/spring-projects/spring-boot"); if (!isUserInherited(project)) { scm.getConnection().set("scm:git:git://github.com/spring-projects/spring-boot.git"); scm.getDeveloperConnection().set("scm:git:ssh://git@github.com/spring-projects/spring-boot.git"); } - scm.getUrl().set("https://github.com/spring-projects/spring-boot"); } - private void customizeIssueManagement(MavenPomIssueManagement issueManagement) { - issueManagement.getSystem().set("GitHub"); - issueManagement.getUrl().set("https://github.com/spring-projects/spring-boot/issues"); + private void customizeIssueManagement(MavenPomIssueManagement issueManagement, Project project) { + if (BuildProperties.get(project).buildType() != BuildType.OPEN_SOURCE) { + logger.debug("Skipping Maven POM SCM for non open source build type"); + return; + } + if (!isUserInherited(project)) { + issueManagement.getSystem().set("GitHub"); + issueManagement.getUrl().set("https://github.com/spring-projects/spring-boot/issues"); + } } private boolean isUserInherited(Project project) {