From b4e2feefe7454fe33cf0e2bbdea73a285586c76b Mon Sep 17 00:00:00 2001 From: Ryan Baxter <524254+ryanjbaxter@users.noreply.github.com> Date: Thu, 22 Feb 2024 13:23:33 -0500 Subject: [PATCH] Adds commercial suffix when cloning projects for commercial releases --- .../java/releaser/internal/ReleaserProperties.java | 12 +++++++++++- .../releaser/internal/git/ProjectGitHandler.java | 6 +++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/releaser-core/src/main/java/releaser/internal/ReleaserProperties.java b/releaser-core/src/main/java/releaser/internal/ReleaserProperties.java index b61310be..5176229f 100644 --- a/releaser-core/src/main/java/releaser/internal/ReleaserProperties.java +++ b/releaser-core/src/main/java/releaser/internal/ReleaserProperties.java @@ -78,6 +78,8 @@ public class ReleaserProperties implements Serializable { private Versions versions = new Versions(); + private boolean commercial = false; + /** * Project name to its version - overrides all versions retrieved from a release train * repository like Spring Cloud Release. @@ -198,12 +200,20 @@ public void setVersions(Versions versions) { this.versions = versions; } + public boolean isCommercial() { + return commercial; + } + + public void setCommercial(boolean commercial) { + this.commercial = commercial; + } + @Override public String toString() { return "ReleaserProperties{" + "workingDir='" + this.workingDir + '\'' + ", git=" + this.git + ", pom=" + this.pom + ", maven=" + this.maven + ", gradle=" + this.gradle + ", sagan=" + this.sagan + ", fixedVersions=" + this.fixedVersions + ", metaRelease=" + this.metaRelease + ", template=" - + this.template + ", versions=" + this.versions + '}'; + + this.template + ", versions=" + this.versions + ", commercial=" + this.commercial + '}'; } public ReleaserProperties copy() { diff --git a/releaser-core/src/main/java/releaser/internal/git/ProjectGitHandler.java b/releaser-core/src/main/java/releaser/internal/git/ProjectGitHandler.java index 179a70f9..fcdf3eb8 100644 --- a/releaser-core/src/main/java/releaser/internal/git/ProjectGitHandler.java +++ b/releaser-core/src/main/java/releaser/internal/git/ProjectGitHandler.java @@ -136,6 +136,10 @@ private File cloneAndCheckOut(String springProjectUrl, String springProjectUrlBr return clonedProject; } + private String addCommercialSuffix(String projectName) { + return this.properties.isCommercial() ? projectName + "-commercial" : projectName; + } + /** * For meta-release. Works with fixed versions only * @param projectName - name of the project to clone @@ -144,7 +148,7 @@ private File cloneAndCheckOut(String springProjectUrl, String springProjectUrlBr public File cloneProjectFromOrg(String projectName) { String orgUrl = this.properties.getMetaRelease().getGitOrgUrl(); String fullUrl = orgUrl.endsWith("/") ? (orgUrl + projectName) - : (orgUrl + "/" + projectName + suffixNonHttpRepo(orgUrl)); + : (orgUrl + "/" + addCommercialSuffix(projectName) + suffixNonHttpRepo(orgUrl)); if (log.isDebugEnabled()) { log.debug("Full url of the project is [{}]", fullUrl); }