From d162cee3f6da66fa294a3d3d70a70c7717c93408 Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Wed, 6 Apr 2016 17:28:20 +0200 Subject: [PATCH] #22 - UpdateInformation now produces correct version for release train BOM on GA releases. --- .../data/release/build/GradleBuildSystem.java | 4 ++-- .../data/release/build/MavenBuildSystem.java | 2 +- .../data/release/build/UpdateInformation.java | 16 ++++++++++------ .../data/release/model/TrainIteration.java | 9 --------- .../build/UpdateInformationUnitTests.java | 14 ++++++++++++++ 5 files changed, 27 insertions(+), 18 deletions(-) diff --git a/release-tools/src/main/java/org/springframework/data/release/build/GradleBuildSystem.java b/release-tools/src/main/java/org/springframework/data/release/build/GradleBuildSystem.java index 928e971..afa802e 100644 --- a/release-tools/src/main/java/org/springframework/data/release/build/GradleBuildSystem.java +++ b/release-tools/src/main/java/org/springframework/data/release/build/GradleBuildSystem.java @@ -77,8 +77,8 @@ class GradleBuildSystem implements BuildSystem { Project project = iteration.getProject(); Repository repository = new Repository(iteration.getIteration()); - ArtifactVersion commonsVersion = updateInformation.getIteration().getModuleVersion(COMMONS); - ArtifactVersion buildVersion = updateInformation.getIteration().getModuleVersion(BUILD); + ArtifactVersion commonsVersion = updateInformation.getTrain().getModuleVersion(COMMONS); + ArtifactVersion buildVersion = updateInformation.getTrain().getModuleVersion(BUILD); workspace.processFile(GRADLE_PROPERTIES, project, (line, number) -> { diff --git a/release-tools/src/main/java/org/springframework/data/release/build/MavenBuildSystem.java b/release-tools/src/main/java/org/springframework/data/release/build/MavenBuildSystem.java index 5d29891..419fd5b 100644 --- a/release-tools/src/main/java/org/springframework/data/release/build/MavenBuildSystem.java +++ b/release-tools/src/main/java/org/springframework/data/release/build/MavenBuildSystem.java @@ -116,7 +116,7 @@ class MavenBuildSystem implements BuildSystem { private void updateBom(UpdateInformation updateInformation) { - TrainIteration iteration = updateInformation.getIteration(); + TrainIteration iteration = updateInformation.getTrain(); logger.log(BUILD, "Updating BOM pom.xml…"); diff --git a/release-tools/src/main/java/org/springframework/data/release/build/UpdateInformation.java b/release-tools/src/main/java/org/springframework/data/release/build/UpdateInformation.java index 135fa94..d0d9fdd 100644 --- a/release-tools/src/main/java/org/springframework/data/release/build/UpdateInformation.java +++ b/release-tools/src/main/java/org/springframework/data/release/build/UpdateInformation.java @@ -22,6 +22,7 @@ import lombok.NonNull; import lombok.RequiredArgsConstructor; import org.springframework.data.release.model.ArtifactVersion; +import org.springframework.data.release.model.Iteration; import org.springframework.data.release.model.Phase; import org.springframework.data.release.model.Project; import org.springframework.data.release.model.TrainIteration; @@ -35,7 +36,7 @@ import org.springframework.util.Assert; @RequiredArgsConstructor(staticName = "of") public class UpdateInformation { - private final @NonNull @Getter TrainIteration iteration; + private final @NonNull @Getter TrainIteration train; private final @NonNull @Getter Phase phase; /** @@ -48,7 +49,7 @@ public class UpdateInformation { Assert.notNull(dependency, "Project must not be null!"); - ArtifactVersion dependencyVersion = iteration.getModuleVersion(dependency); + ArtifactVersion dependencyVersion = train.getModuleVersion(dependency); switch (phase) { case PREPARE: @@ -69,7 +70,7 @@ public class UpdateInformation { */ public ArtifactVersion getParentVersionToSet() { - ArtifactVersion version = iteration.getModuleVersion(BUILD); + ArtifactVersion version = train.getModuleVersion(BUILD); switch (phase) { case PREPARE: @@ -89,7 +90,7 @@ public class UpdateInformation { * @return will never be {@literal null}. */ public Repository getRepository() { - return new Repository(iteration.getIteration()); + return new Repository(train.getIteration()); } /** @@ -99,12 +100,15 @@ public class UpdateInformation { */ public String getReleaseTrainVersion() { + String version = train.getTrain().getName(); + switch (phase) { case PREPARE: - return iteration.toVersionString(); + Iteration iteration = train.getIteration(); + return String.format("%s-%s", version, iteration.isGAIteration() ? "RELEASE" : iteration.getName()); case CLEANUP: case MAINTENANCE: - return iteration.getTrain().getName().concat("-BUILD-SNAPSHOT"); + return version.concat("-BUILD-SNAPSHOT"); } throw new IllegalStateException("Unexpected phase detected " + phase + " detected!"); diff --git a/release-tools/src/main/java/org/springframework/data/release/model/TrainIteration.java b/release-tools/src/main/java/org/springframework/data/release/model/TrainIteration.java index f82ac22..d12307f 100644 --- a/release-tools/src/main/java/org/springframework/data/release/model/TrainIteration.java +++ b/release-tools/src/main/java/org/springframework/data/release/model/TrainIteration.java @@ -66,15 +66,6 @@ public class TrainIteration implements Streamable { return train.getModuleIteration(previousIteration, module.getProject().getName()); } - /** - * Returns the version string to be used for the train iteration. - * - * @return - */ - public String toVersionString() { - return toString().replace(' ', '-'); - } - /* * (non-Javadoc) * @see java.lang.Object#toString() diff --git a/release-tools/src/test/java/org/springframework/data/release/build/UpdateInformationUnitTests.java b/release-tools/src/test/java/org/springframework/data/release/build/UpdateInformationUnitTests.java index 247794a..5777636 100644 --- a/release-tools/src/test/java/org/springframework/data/release/build/UpdateInformationUnitTests.java +++ b/release-tools/src/test/java/org/springframework/data/release/build/UpdateInformationUnitTests.java @@ -70,4 +70,18 @@ public class UpdateInformationUnitTests { updateInformation = UpdateInformation.of(hopperM1, Phase.CLEANUP); assertThat(updateInformation.getProjectVersionToSet(Projects.JPA).toString(), is("1.10.0.BUILD-SNAPSHOT")); } + + /** + * @see #22 + */ + @Test + public void returnsCorrectReleaseTrainVersions() { + + TrainIteration hopperGa = new TrainIteration(ReleaseTrains.HOPPER, Iteration.GA); + TrainIteration hopperSr1 = new TrainIteration(ReleaseTrains.HOPPER, Iteration.SR1); + + assertThat(UpdateInformation.of(hopperGa, Phase.PREPARE).getReleaseTrainVersion(), is("Hopper-RELEASE")); + assertThat(UpdateInformation.of(hopperM1, Phase.PREPARE).getReleaseTrainVersion(), is("Hopper-M1")); + assertThat(UpdateInformation.of(hopperSr1, Phase.PREPARE).getReleaseTrainVersion(), is("Hopper-SR1")); + } }