From 7497446dfe41dd664ca9d64c46965d16e1ebb51c Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 3 Feb 2020 09:42:13 +0100 Subject: [PATCH] Should fix issues ith post processing --- ...loudCustomProjectDocumentationUpdater.java | 29 ++++++++++++------- .../main/java/releaser/internal/Releaser.java | 4 +-- .../postrelease/PostReleaseActions.java | 3 +- .../internal/project/ProjectVersion.java | 4 +-- .../buildsystem/ProjectVersionTests.java | 12 ++++---- 5 files changed, 30 insertions(+), 22 deletions(-) diff --git a/projects/spring-cloud/src/main/java/releaser/cloud/docs/SpringCloudCustomProjectDocumentationUpdater.java b/projects/spring-cloud/src/main/java/releaser/cloud/docs/SpringCloudCustomProjectDocumentationUpdater.java index 537fa8af..e7d61f3f 100644 --- a/projects/spring-cloud/src/main/java/releaser/cloud/docs/SpringCloudCustomProjectDocumentationUpdater.java +++ b/projects/spring-cloud/src/main/java/releaser/cloud/docs/SpringCloudCustomProjectDocumentationUpdater.java @@ -66,8 +66,8 @@ class SpringCloudCustomProjectDocumentationUpdater ProjectVersion releaseTrainProject = new ProjectVersion( this.releaserProperties.getMetaRelease().getReleaseTrainProjectName(), branchToReleaseVersion(bomBranch)); - File currentReleaseFolder = new File(clonedDocumentationProject, currentFolder( - releaseTrainProject.projectName, releaseTrainProject.version)); + File currentReleaseFolder = new File(clonedDocumentationProject, + currentFolder(releaseTrainProject)); // remove the old way removeAFolderWithRedirection(currentReleaseFolder); File docsRepo = updateTheDocsRepo(releaseTrainProject, clonedDocumentationProject, @@ -93,19 +93,20 @@ class SpringCloudCustomProjectDocumentationUpdater } log.info("Updating link to documentation for project [{}]", currentProject.projectName); - ProjectVersion projectVersion = projects.forName(currentProject.projectName); + ProjectVersion currentProjectVersion = projects + .forName(currentProject.projectName); File currentProjectReleaseFolder = new File(clonedDocumentationProject, - currentFolder(projectVersion.projectName, projectVersion.version)); + currentFolder(currentProjectVersion)); removeAFolderWithRedirection(currentProjectReleaseFolder); try { - updateTheDocsRepo(projectVersion, clonedDocumentationProject, + updateTheDocsRepo(currentProjectVersion, clonedDocumentationProject, currentProjectReleaseFolder); log.info("Processed [{}] for project with name [{}]", - currentProjectReleaseFolder, projectVersion.projectName); + currentProjectReleaseFolder, currentProjectVersion.projectName); } catch (Exception ex) { log.warn("Exception occurred while trying o update the symlink of a project [" - + projectVersion.projectName + "]", ex); + + currentProjectVersion.projectName + "]", ex); } return pushChanges(clonedDocumentationProject); } @@ -120,9 +121,17 @@ class SpringCloudCustomProjectDocumentationUpdater return Files.isSymbolicLink(currentFolder.toPath()); } - private String currentFolder(String projectName, String projectVersion) { - boolean releaseTrain = new ProjectVersion(projectName, projectVersion) - .isReleaseTrain(); + private String currentFolder(ProjectVersion currentProjectVersion) { + String projectName = currentProjectVersion.projectName; + boolean releaseTrain; + try { + releaseTrain = currentProjectVersion.isReleaseTrain(); + } + catch (IllegalStateException ex) { + log.warn("Exception occurred while trying to resolve if version [" + + currentProjectVersion + "] is a release train", ex); + releaseTrain = false; + } // release train -> static/current // project -> static/spring-cloud-sleuth/current return releaseTrain ? "current" diff --git a/releaser-core/src/main/java/releaser/internal/Releaser.java b/releaser-core/src/main/java/releaser/internal/Releaser.java index eb8ed962..1a1b546b 100644 --- a/releaser-core/src/main/java/releaser/internal/Releaser.java +++ b/releaser-core/src/main/java/releaser/internal/Releaser.java @@ -402,8 +402,8 @@ public class Releaser implements ReleaserPropertiesAware { public ExecutionResult updateDocumentationRepositoryForSingleProject( Projects projects, ProjectVersion releaseVersion) { - if (releaseVersion.projectName.equals( - this.releaserProperties.getMetaRelease().getReleaseTrainProjectName())) { + if (releaseVersion.projectName + .equals(projects.releaseTrain(this.releaserProperties).projectName)) { log.info("Will not update documentation for project that is a BOM project"); return ExecutionResult.skipped(); } diff --git a/releaser-core/src/main/java/releaser/internal/postrelease/PostReleaseActions.java b/releaser-core/src/main/java/releaser/internal/postrelease/PostReleaseActions.java index 706bd3ef..7f5e2d16 100644 --- a/releaser-core/src/main/java/releaser/internal/postrelease/PostReleaseActions.java +++ b/releaser-core/src/main/java/releaser/internal/postrelease/PostReleaseActions.java @@ -218,8 +218,7 @@ public class PostReleaseActions implements Closeable { private void commitUpdatedProject(Projects projects, String key, ProjectVersion projectVersionForReleaseTrain, Projects postRelease, String url) { - String releaseTrainVersion = projects.forName( - this.properties.getMetaRelease().getReleaseTrainProjectName()).version; + String releaseTrainVersion = projects.releaseTrain(this.properties).version; String projectVersion = projects.forName(key).version; log.info( "Running version update for project [{}], url [{}], " diff --git a/releaser-core/src/main/java/releaser/internal/project/ProjectVersion.java b/releaser-core/src/main/java/releaser/internal/project/ProjectVersion.java index a7201bc8..d3195ba9 100644 --- a/releaser-core/src/main/java/releaser/internal/project/ProjectVersion.java +++ b/releaser-core/src/main/java/releaser/internal/project/ProjectVersion.java @@ -498,8 +498,8 @@ public class ProjectVersion implements Comparable, Serializable private void assertIfValid() { if (isInvalid()) { - throw new IllegalStateException( - "Version is invalid. Should be of format [1.2.3.A] / [1.2.3-A] or [A.B] / [A-B]"); + throw new IllegalStateException("Version [" + print() + + "] is invalid. Should be of format [1.2.3.A] / [1.2.3-A] or [A.B] / [A-B]"); } } diff --git a/releaser-core/src/test/java/releaser/internal/buildsystem/ProjectVersionTests.java b/releaser-core/src/test/java/releaser/internal/buildsystem/ProjectVersionTests.java index dcb03023..b803560a 100644 --- a/releaser-core/src/test/java/releaser/internal/buildsystem/ProjectVersionTests.java +++ b/releaser-core/src/test/java/releaser/internal/buildsystem/ProjectVersionTests.java @@ -86,8 +86,8 @@ public class ProjectVersionTests { String version = "1.0"; thenThrownBy(() -> projectVersion(version).bumpedVersion()) - .isInstanceOf(IllegalStateException.class) - .hasMessageContaining("Version is invalid"); + .isInstanceOf(IllegalStateException.class).hasMessageContaining( + "Version [1.0] is invalid. Should be of format [1.2.3.A] / [1.2.3-A] or [A.B] / [A-B]"); } @Test @@ -126,8 +126,8 @@ public class ProjectVersionTests { String version = "1.0"; thenThrownBy(() -> projectVersion(version).postReleaseSnapshotVersion()) - .isInstanceOf(IllegalStateException.class) - .hasMessageContaining("Version is invalid"); + .isInstanceOf(IllegalStateException.class).hasMessageContaining( + "Version [1.0] is invalid. Should be of format [1.2.3.A] / [1.2.3-A] or [A.B] / [A-B]"); } @Test @@ -135,8 +135,8 @@ public class ProjectVersionTests { String version = "1.0"; thenThrownBy(() -> projectVersion(version).major()) - .isInstanceOf(IllegalStateException.class) - .hasMessageContaining("Version is invalid"); + .isInstanceOf(IllegalStateException.class).hasMessageContaining( + "Version [1.0] is invalid. Should be of format [1.2.3.A] / [1.2.3-A] or [A.B] / [A-B]"); } @Test