Working with calver
updated the version to 2.0.0-SNAPSHOT
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>org.springframework.cloud.internal</groupId>
|
||||
<artifactId>releaser-parent</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>releaser-docs</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
2
pom.xml
2
pom.xml
@@ -6,7 +6,7 @@
|
||||
|
||||
<groupId>org.springframework.cloud.internal</groupId>
|
||||
<artifactId>releaser-parent</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<parent>
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>releaser-projects</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<parent>
|
||||
<groupId>org.springframework.cloud.internal</groupId>
|
||||
<artifactId>releaser-parent</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<parent>
|
||||
<groupId>org.springframework.cloud.internal</groupId>
|
||||
<artifactId>releaser-projects</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<parent>
|
||||
<groupId>org.springframework.cloud.internal</groupId>
|
||||
<artifactId>releaser-projects</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@@ -25,10 +25,7 @@ releaser:
|
||||
deploy-command: "./mvnw deploy -DskipTests -B -Pfast,deploy {{systemProps}}"
|
||||
deploy-guides-command: "./mvnw clean verify deploy -B -Pguides,integration -pl guides {{systemProps}}"
|
||||
publish-docs-commands:
|
||||
- "mkdir -p target"
|
||||
- "wget https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/docs/src/main/asciidoc/ghpages.sh -O target/gh-pages.sh"
|
||||
- "chmod +x target/gh-pages.sh"
|
||||
- "./target/gh-pages.sh -v {{version}} -c"
|
||||
- "./mvnw deploy -DskipTests -B -Pfast,deploy,docs {{systemProps}}"
|
||||
generate-release-train-docs-command: "bash release_train.sh --retrieveversions --version {{version}} --ghpages --auto"
|
||||
sagan:
|
||||
update-sagan: true
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<parent>
|
||||
<groupId>org.springframework.cloud.internal</groupId>
|
||||
<artifactId>releaser-projects</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@@ -64,10 +64,7 @@ releaser:
|
||||
deploy-command: "./mvnw deploy -DskipTests -B -Pfast,deploy {{systemProps}}"
|
||||
deploy-guides-command: "./mvnw clean verify deploy -B -Pguides,integration -pl guides {{systemProps}}"
|
||||
publish-docs-commands:
|
||||
- "mkdir -p target"
|
||||
- "wget https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/docs/src/main/asciidoc/ghpages.sh -O target/gh-pages.sh"
|
||||
- "chmod +x target/gh-pages.sh"
|
||||
- "./target/gh-pages.sh -v {{version}} -c"
|
||||
- "./mvnw deploy -DskipTests -B -Pfast,deploy,docs {{systemProps}}"
|
||||
generate-release-train-docs-command: "bash release_train.sh --retrieveversions --version {{version}} --ghpages --auto"
|
||||
system-properties: ""
|
||||
wait-time-in-minutes: 20
|
||||
|
||||
@@ -122,11 +122,11 @@ public class SpringSingleProjectAcceptanceTests
|
||||
Iterator<RevCommit> iterator = commits.iterator();
|
||||
tagIsPresentInOrigin(origin, "v2.1.2.RELEASE");
|
||||
commitIsPresent(iterator,
|
||||
"Bumping versions to 2.1.3.BUILD-SNAPSHOT after release");
|
||||
"Bumping versions to 2.1.3.SNAPSHOT after release");
|
||||
commitIsPresent(iterator, "Going back to snapshots");
|
||||
commitIsPresent(iterator, "Update SNAPSHOT to 2.1.2.RELEASE");
|
||||
pomVersionIsEqualTo(project, "2.1.3.BUILD-SNAPSHOT");
|
||||
consulPomParentVersionIsEqualTo(project, "2.1.3.BUILD-SNAPSHOT");
|
||||
pomVersionIsEqualTo(project, "2.1.3.SNAPSHOT");
|
||||
consulPomParentVersionIsEqualTo(project, "2.1.3.SNAPSHOT");
|
||||
then(gitHubHandler.closedMilestones).isTrue();
|
||||
then(emailTemplate()).doesNotExist();
|
||||
then(blogTemplate()).doesNotExist();
|
||||
@@ -187,10 +187,10 @@ public class SpringSingleProjectAcceptanceTests
|
||||
tagIsPresentInOrigin(origin, "v2.1.6.RELEASE");
|
||||
// we're running against camden sc-release
|
||||
commitIsPresent(iterator,
|
||||
"Bumping versions to 2.1.7.BUILD-SNAPSHOT after release");
|
||||
"Bumping versions to 2.1.7.SNAPSHOT after release");
|
||||
commitIsPresent(iterator, "Going back to snapshots");
|
||||
commitIsPresent(iterator, "Update SNAPSHOT to 2.1.6.RELEASE");
|
||||
pomVersionIsEqualTo(project, "2.1.7.BUILD-SNAPSHOT");
|
||||
pomVersionIsEqualTo(project, "2.1.7.SNAPSHOT");
|
||||
pomParentVersionIsEqualTo(project, "spring-cloud-build-dependencies",
|
||||
"2.1.6.RELEASE");
|
||||
then(gitHubHandler.closedMilestones).isTrue();
|
||||
@@ -249,7 +249,7 @@ public class SpringSingleProjectAcceptanceTests
|
||||
Iterable<RevCommit> commits = listOfCommits(project);
|
||||
tagIsPresentInOrigin(origin, "v1.2.0.RC1");
|
||||
commitIsNotPresent(commits,
|
||||
"Bumping versions to 1.2.1.BUILD-SNAPSHOT after release");
|
||||
"Bumping versions to 1.2.1.SNAPSHOT after release");
|
||||
Iterator<RevCommit> iterator = listOfCommits(project).iterator();
|
||||
commitIsPresent(iterator, "Going back to snapshots");
|
||||
commitIsPresent(iterator, "Update SNAPSHOT to 1.2.0.RC1");
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<parent>
|
||||
<groupId>org.springframework.cloud.internal</groupId>
|
||||
<artifactId>releaser-parent</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@@ -966,11 +966,8 @@ public class ReleaserProperties implements Serializable {
|
||||
* Command to be executed to publish documentation. If present "{{version}}" will
|
||||
* be replaced by the provided version.
|
||||
*/
|
||||
private String[] publishDocsCommands = { "mkdir -p target",
|
||||
"wget https://raw.githubusercontent.com/spring-cloud/"
|
||||
+ "spring-cloud-build/master/"
|
||||
+ "docs/src/main/asciidoc/ghpages.sh -O target/gh-pages.sh",
|
||||
"chmod +x target/gh-pages.sh", "./target/gh-pages.sh -v {{version}} -c" };
|
||||
private String[] publishDocsCommands = {
|
||||
"./mvnw deploy -DskipTests -B -Pfast,deploy,docs -pl docs {{systemProps}}" };
|
||||
|
||||
/**
|
||||
* Command to be executed to generate release train documentation.
|
||||
|
||||
@@ -142,8 +142,7 @@ class ReleaseTrainContentsUpdater {
|
||||
private boolean isThisReleaseTrainVersionNewer(ProjectVersion releaseTrain,
|
||||
String releaseVersionFromCurrentFile) {
|
||||
if (StringUtils.hasText(releaseVersionFromCurrentFile)) {
|
||||
return releaseTrain
|
||||
.compareToReleaseTrainName(releaseVersionFromCurrentFile) > 0;
|
||||
return releaseTrain.compareToReleaseTrain(releaseVersionFromCurrentFile) > 0;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -229,9 +228,8 @@ class ReleaseTrainContentsParser {
|
||||
// We want to find only headers like # Finchley.RELEASE and not any
|
||||
// custom headers
|
||||
.filter(s -> s.trim().startsWith("#") && s.contains("."))
|
||||
.map(s -> s.substring(1).trim())
|
||||
.filter(s -> new ProjectVersion("foo", s).isValid()).findFirst()
|
||||
.orElse("");
|
||||
.map(s -> s.substring(1).trim()).filter(ProjectVersion::isValid)
|
||||
.findFirst().orElse("");
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new IllegalStateException(e);
|
||||
|
||||
@@ -88,6 +88,15 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
|
||||
this.releaseType = toReleaseType();
|
||||
}
|
||||
|
||||
// for version comparison
|
||||
ProjectVersion(String version) {
|
||||
this.projectName = "";
|
||||
this.version = version;
|
||||
this.groupId = "";
|
||||
this.artifactId = "";
|
||||
this.releaseType = toReleaseType();
|
||||
}
|
||||
|
||||
public ProjectVersion(File project) {
|
||||
File buildGradle = new File(project, "build.gradle");
|
||||
if (buildGradle.exists()) {
|
||||
@@ -169,38 +178,46 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
|
||||
}
|
||||
|
||||
private SplitVersion assertVersion() {
|
||||
if (this.version == null) {
|
||||
return assertVersion(this.version);
|
||||
}
|
||||
|
||||
private SplitVersion assertVersion(String version) {
|
||||
if (version == null || StringUtils.isEmpty(version)) {
|
||||
throw new IllegalStateException("Version can't be null!");
|
||||
}
|
||||
SplitVersion splitByHyphen = tryHyphenSeparatedVersion();
|
||||
else if (version.endsWith(".") || version.endsWith("-")) {
|
||||
throw new IllegalStateException("Version can't end with a delimiter!");
|
||||
}
|
||||
SplitVersion splitByHyphen = tryHyphenSeparatedVersion(version);
|
||||
if (splitByHyphen != null) {
|
||||
return splitByHyphen;
|
||||
}
|
||||
return dotSeparatedReleaseTrainsAndVersions();
|
||||
return dotSeparatedReleaseTrainsAndVersions(version);
|
||||
}
|
||||
|
||||
private SplitVersion tryHyphenSeparatedVersion() {
|
||||
private SplitVersion tryHyphenSeparatedVersion(String version) {
|
||||
// Check for hyphen separated BOMs versioning
|
||||
// Dysprosium-BUILD-SNAPSHOT or Dysprosium-RELEASE
|
||||
// 1.0.0-BUILD-SNAPSHOT or 1.0.0-RELEASE
|
||||
String[] splitByHyphen = this.version.split("\\-");
|
||||
// 1.0.0-SNAPSHOT or 1.0.0-RELEASE
|
||||
String[] splitByHyphen = version.split("\\-");
|
||||
int splitByHyphens = splitByHyphen.length;
|
||||
int numberOfHyphens = splitByHyphens - 1;
|
||||
int indexOfFirstHyphen = this.version.indexOf("-");
|
||||
boolean buildSnapshot = this.version.endsWith("BUILD-SNAPSHOT");
|
||||
int indexOfFirstHyphen = version.indexOf("-");
|
||||
boolean buildSnapshot = version.endsWith("BUILD-SNAPSHOT");
|
||||
if (numberOfHyphens == 1 && !buildSnapshot
|
||||
|| (numberOfHyphens > 1 && buildSnapshot)) {
|
||||
// Dysprosium or 1.0.0
|
||||
String versionName = this.version.substring(0, indexOfFirstHyphen);
|
||||
String versionName = version.substring(0, indexOfFirstHyphen);
|
||||
boolean hasDots = versionName.contains(".");
|
||||
// BUILD-SNAPSHOT
|
||||
String versionType = this.version.substring(indexOfFirstHyphen + 1);
|
||||
String versionType = version.substring(indexOfFirstHyphen + 1);
|
||||
// Dysprosium-BUILD-SNAPSHOT
|
||||
if (splitByHyphens > 1 && !hasDots && validVersionType()) {
|
||||
if (splitByHyphens > 1 && !hasDots && validVersionType(version)) {
|
||||
return SplitVersion.hyphen(versionName, versionType);
|
||||
}
|
||||
// Dysprosium-RELEASE
|
||||
else if (splitByHyphens == 1 && !hasDots && validVersionType()) {
|
||||
else if (splitByHyphens == 1 && !hasDots && validVersionType(version)) {
|
||||
return SplitVersion.hyphen(splitByHyphen[0], splitByHyphen[1]);
|
||||
}
|
||||
// 1.0.0-RELEASE or 1.0.0-BUILD-SNAPSHOT
|
||||
@@ -210,14 +227,14 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
|
||||
}
|
||||
else {
|
||||
throw new UnsupportedOperationException(
|
||||
"Unknown version [" + this.version + "]");
|
||||
"Unknown version [" + version + "]");
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private boolean validVersionType() {
|
||||
return VALID_PATTERNS.stream().anyMatch(p -> p.matcher(this.version).matches());
|
||||
private boolean validVersionType(String version) {
|
||||
return VALID_PATTERNS.stream().anyMatch(p -> p.matcher(version).matches());
|
||||
}
|
||||
|
||||
private String[] combinedArrays(String versionName, String versionType) {
|
||||
@@ -231,8 +248,12 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
|
||||
}
|
||||
|
||||
private SplitVersion dotSeparatedReleaseTrainsAndVersions() {
|
||||
return dotSeparatedReleaseTrainsAndVersions(this.version);
|
||||
}
|
||||
|
||||
private SplitVersion dotSeparatedReleaseTrainsAndVersions(String version) {
|
||||
// Hoxton.BUILD-SNAPSHOT or 1.0.0.BUILD-SNAPSHOT
|
||||
String[] splitVersion = this.version.split("\\.");
|
||||
String[] splitVersion = version.split("\\.");
|
||||
return SplitVersion.dot(splitVersion);
|
||||
}
|
||||
|
||||
@@ -244,15 +265,24 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
|
||||
public String postReleaseSnapshotVersion() {
|
||||
SplitVersion splitVersion = assertVersion();
|
||||
if (isReleaseOrServiceRelease()) {
|
||||
return bumpedVersion(splitVersion).withBuildSnapshot().print();
|
||||
return bumpedVersion(splitVersion).withSnapshot().print();
|
||||
}
|
||||
return splitVersion.withBuildSnapshot().print();
|
||||
return splitVersion.withSnapshot().print();
|
||||
}
|
||||
|
||||
public String groupId() {
|
||||
return this.groupId;
|
||||
}
|
||||
|
||||
public static boolean isValid(String version) {
|
||||
try {
|
||||
return new ProjectVersion(version).isValid();
|
||||
}
|
||||
catch (IllegalStateException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isValid() {
|
||||
try {
|
||||
assertVersion();
|
||||
@@ -391,6 +421,11 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
|
||||
return splitVersion.isReleaseTrain();
|
||||
}
|
||||
|
||||
public boolean isOldReleaseTrain() {
|
||||
SplitVersion splitVersion = assertVersion();
|
||||
return splitVersion.isOldReleaseTrain();
|
||||
}
|
||||
|
||||
public boolean isReleaseOrServiceRelease() {
|
||||
return isRelease() || isServiceRelease();
|
||||
}
|
||||
@@ -412,6 +447,31 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
|
||||
else if (isServiceRelease()) {
|
||||
return ReleaseType.SR;
|
||||
}
|
||||
else if (isSnapshot()) {
|
||||
return ReleaseType.SNAPSHOT;
|
||||
}
|
||||
return releaseTypeForReleaseTrain();
|
||||
}
|
||||
|
||||
/*
|
||||
* 2020.0.0-SNAPSHOT 2020.0.0-M1 2020.0.0-M4 2020.0.0-RC1 (those are done already)
|
||||
* 2020.0.0 -> this is RELEASE (no RELEASE suffix) 2020.0.1 -> this is SR1 (no SR1
|
||||
* suffix)
|
||||
*/
|
||||
private ReleaseType releaseTypeForReleaseTrain() {
|
||||
try {
|
||||
SplitVersion splitVersion = assertVersion();
|
||||
if (StringUtils.isEmpty(splitVersion.suffix)
|
||||
&& StringUtils.hasText(splitVersion.patch)) {
|
||||
if ("0".equals(splitVersion.patch)) {
|
||||
return ReleaseType.RELEASE;
|
||||
}
|
||||
return ReleaseType.SR;
|
||||
}
|
||||
}
|
||||
catch (IllegalStateException ex) {
|
||||
return ReleaseType.SNAPSHOT;
|
||||
}
|
||||
return ReleaseType.SNAPSHOT;
|
||||
}
|
||||
|
||||
@@ -469,9 +529,16 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
|
||||
|
||||
public boolean isSameReleaseTrainName(String version) {
|
||||
assertVersionSet();
|
||||
String[] splitThis = this.version.split("\\.");
|
||||
String[] splitThat = version.split("\\.");
|
||||
return splitThis[0].compareToIgnoreCase(splitThat[0]) == 0;
|
||||
SplitVersion thisVersion = assertVersion();
|
||||
SplitVersion thatVersion = assertVersion(version);
|
||||
if (thisVersion.isOldReleaseTrain() && thatVersion.isOldReleaseTrain()) {
|
||||
return thisVersion.major.compareToIgnoreCase(thatVersion.major) == 0;
|
||||
}
|
||||
else if (thisVersion.isOldReleaseTrain()) {
|
||||
return false;
|
||||
}
|
||||
return thisVersion.major.equals(thatVersion.major)
|
||||
&& thisVersion.minor.equals(thatVersion.minor);
|
||||
}
|
||||
|
||||
private void assertVersionSet() {
|
||||
@@ -480,20 +547,9 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
|
||||
}
|
||||
}
|
||||
|
||||
public int compareToReleaseTrainName(String version) {
|
||||
assertVersionSet();
|
||||
String[] split = version.split("\\.");
|
||||
String thatName = split[0];
|
||||
String thatValue = split.length > 1 ? split[1] : "";
|
||||
String[] thisSplit = this.version.split("\\.");
|
||||
String thisName = thisSplit[0];
|
||||
String thisValue = thisSplit.length > 1 ? thisSplit[1] : "";
|
||||
int nameComparison = thisName.compareTo(thatName);
|
||||
if (nameComparison != 0) {
|
||||
return nameComparison;
|
||||
}
|
||||
return new TrainVersionNumber(thisValue)
|
||||
.compareTo(new TrainVersionNumber(thatValue));
|
||||
public int compareToReleaseTrain(String version) {
|
||||
return new TrainVersionNumber(this)
|
||||
.compareTo(new TrainVersionNumber(new ProjectVersion(version)));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -547,13 +603,15 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
|
||||
return this.version.compareTo(o.version);
|
||||
}
|
||||
|
||||
private static final class SplitVersion {
|
||||
static final class SplitVersion {
|
||||
|
||||
private static final String DOT = ".";
|
||||
|
||||
private static final String HYPHEN = "-";
|
||||
|
||||
private static final String BUILD_SNAPSHOT_SUFFIX = "BUILD-SNAPSHOT";
|
||||
private static final String SNAPSHOT_SUFFIX = "SNAPSHOT";
|
||||
|
||||
private static final String LEGACY_SNAPSHOT_SUFFIX = "BUILD-SNAPSHOT";
|
||||
|
||||
final String major;
|
||||
|
||||
@@ -609,10 +667,13 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
|
||||
}
|
||||
|
||||
private static SplitVersion version(String[] args, String delimiter) {
|
||||
// Hoxton.SR4
|
||||
if (args.length == 2) {
|
||||
return new SplitVersion(args[0], "", "", delimiter, args[1]);
|
||||
}
|
||||
else if (args.length == 3) {
|
||||
// 1.0.RELEASE
|
||||
// but not 1.0.3
|
||||
else if (args.length == 3 && notNumeric(args[2])) {
|
||||
return new SplitVersion(args[0], args[1], "", delimiter, args[2]);
|
||||
}
|
||||
return new SplitVersion(args, delimiter);
|
||||
@@ -626,17 +687,20 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
|
||||
}
|
||||
|
||||
private boolean isInvalid() {
|
||||
return wrongReleaseTrainVersion() || wrongLibraryVersion() || wrongDelimiter()
|
||||
|| noSuffix();
|
||||
return wrongDelimiter() || tooFewElements();
|
||||
}
|
||||
|
||||
private boolean noSuffix() {
|
||||
return StringUtils.isEmpty(suffix);
|
||||
}
|
||||
|
||||
// Hoxton.BUILD-SNAPSHOT or Hoxton-BUILD-SNAPSHOT
|
||||
// Hoxton.BUILD-SNAPSHOT or Hoxton-BUILD-SNAPSHOT or 2020.x.x
|
||||
private boolean isReleaseTrain() {
|
||||
return !isNumeric(this.major);
|
||||
return isOldReleaseTrain() || calverReleaseTrain();
|
||||
}
|
||||
|
||||
private boolean calverReleaseTrain() {
|
||||
return Integer.parseInt(this.major) >= 2020;
|
||||
}
|
||||
|
||||
private boolean isOldReleaseTrain() {
|
||||
return notNumeric(this.major);
|
||||
}
|
||||
|
||||
private SplitVersion fullVersionWithIncrementedPatch() {
|
||||
@@ -645,85 +709,132 @@ public class ProjectVersion implements Comparable<ProjectVersion>, Serializable
|
||||
delimiter, suffix);
|
||||
}
|
||||
|
||||
private String gav() {
|
||||
// Finchley
|
||||
if (StringUtils.isEmpty(minor)) {
|
||||
return String.format("%s", major);
|
||||
}
|
||||
// 1.0.1
|
||||
return String.format("%s.%s.%s", major, minor, patch);
|
||||
}
|
||||
|
||||
private String print() {
|
||||
String print() {
|
||||
// Finchley.SR2
|
||||
if (StringUtils.isEmpty(minor)) {
|
||||
return String.format("%s%s%s", major, delimiter, suffix);
|
||||
return StringUtils.isEmpty(suffix) ? major
|
||||
: String.format("%s%s%s", major, delimiter, suffix);
|
||||
}
|
||||
else if (StringUtils.isEmpty(suffix)) {
|
||||
return String.format("%s.%s.%s", major, minor, patch);
|
||||
}
|
||||
return String.format("%s.%s.%s%s%s", major, minor, patch, delimiter, suffix);
|
||||
}
|
||||
|
||||
private boolean isNumeric(String string) {
|
||||
return string.matches("[0-9]+");
|
||||
private static boolean notNumeric(String string) {
|
||||
return !string.matches("[0-9]+");
|
||||
}
|
||||
|
||||
private boolean wrongDelimiter() {
|
||||
return !(DOT.equals(this.delimiter) || HYPHEN.equals(this.delimiter));
|
||||
}
|
||||
|
||||
private boolean wrongLibraryVersion() {
|
||||
// GOOD:
|
||||
// 1.2.3.RELEASE, 1.2.3-RELEASE, Hoxton.BUILD-SNAPSHOT, Hoxton-RELEASE
|
||||
// must have
|
||||
// either major and suffix (release train)
|
||||
// major, minor, patch and suffix
|
||||
return isNumeric(major) && (StringUtils.isEmpty(minor)
|
||||
|| StringUtils.isEmpty(patch) || StringUtils.isEmpty(suffix)
|
||||
|| StringUtils.isEmpty(delimiter));
|
||||
private boolean tooFewElements() {
|
||||
// 1 is wrong but Finchley-SR3 is ok
|
||||
return StringUtils.isEmpty(minor) && StringUtils.isEmpty(patch)
|
||||
&& StringUtils.isEmpty(suffix);
|
||||
}
|
||||
|
||||
private boolean wrongReleaseTrainVersion() {
|
||||
// BAD: 1.EXAMPLE, GOOD: Hoxton.RELEASE
|
||||
return isNumeric(major) && StringUtils.isEmpty(suffix);
|
||||
private SplitVersion withSnapshot() {
|
||||
return new SplitVersion(major, minor, patch, delimiter, suffix());
|
||||
}
|
||||
|
||||
private SplitVersion withBuildSnapshot() {
|
||||
return new SplitVersion(major, minor, patch, delimiter,
|
||||
BUILD_SNAPSHOT_SUFFIX);
|
||||
private String suffix() {
|
||||
if (suffix.endsWith(LEGACY_SNAPSHOT_SUFFIX)) {
|
||||
return LEGACY_SNAPSHOT_SUFFIX;
|
||||
}
|
||||
return SNAPSHOT_SUFFIX;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
private static class TrainVersionNumber implements Comparable<TrainVersionNumber> {
|
||||
|
||||
class TrainVersionNumber implements Comparable<TrainVersionNumber> {
|
||||
private final ProjectVersion version;
|
||||
|
||||
private final String version;
|
||||
|
||||
TrainVersionNumber(String version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(TrainVersionNumber o) {
|
||||
String thisLower = this.version.toLowerCase();
|
||||
char thisFirst = thisLower.isEmpty() ? ' ' : thisLower.charAt(0);
|
||||
String thatLower = o.version.toLowerCase();
|
||||
char thatFirst = thatLower.isEmpty() ? ' ' : thatLower.charAt(0);
|
||||
// B < M < RC < R < S
|
||||
int charComparison = Character.compare(thisFirst, thatFirst);
|
||||
if (charComparison != 0) {
|
||||
return charComparison;
|
||||
TrainVersionNumber(ProjectVersion version) {
|
||||
this.version = version;
|
||||
}
|
||||
String thisVersion = this.version.replaceAll("\\D+", "");
|
||||
boolean thisVersionEmpty = StringUtils.isEmpty(thisVersion);
|
||||
String thatVersion = o.version.replaceAll("\\D+", "");
|
||||
boolean thatVersionEmpty = StringUtils.isEmpty(thatVersion);
|
||||
if (thisVersionEmpty || thatVersionEmpty) {
|
||||
|
||||
@Override
|
||||
public int compareTo(TrainVersionNumber o) {
|
||||
ProjectVersion thisVersion = this.version;
|
||||
ProjectVersion thatVersion = o.version;
|
||||
// 2020.0.0 vs ""
|
||||
if (!thatVersion.isValid() && thisVersion.isValid()) {
|
||||
return 1;
|
||||
// "" vs 2020.0.0
|
||||
}
|
||||
else if (!thisVersion.isValid() && thatVersion.isValid()) {
|
||||
return -1;
|
||||
}
|
||||
boolean thisOldTrain = isOldReleaseTrain(thisVersion);
|
||||
boolean thatOldTrain = isOldReleaseTrain(thatVersion);
|
||||
if (thisOldTrain && thatOldTrain) {
|
||||
return letterBasedReleaseTrainComparison(o);
|
||||
}
|
||||
else if (thisOldTrain) {
|
||||
return compareWithOldTrain(thisVersion, thatVersion);
|
||||
}
|
||||
else if (thatOldTrain) {
|
||||
return -1 * compareWithOldTrain(thisVersion, thatVersion);
|
||||
}
|
||||
// new train comparison
|
||||
return thisVersion.compareTo(thatVersion);
|
||||
}
|
||||
Integer thisNumber = Integer.valueOf(thisVersion);
|
||||
Integer thatNumber = Integer.valueOf(thatVersion);
|
||||
return thisNumber.compareTo(thatNumber);
|
||||
|
||||
private boolean isOldReleaseTrain(ProjectVersion projectVersion) {
|
||||
try {
|
||||
return projectVersion.isOldReleaseTrain();
|
||||
}
|
||||
catch (IllegalStateException ex) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private int compareWithOldTrain(ProjectVersion oldTrain,
|
||||
ProjectVersion thatVersion) {
|
||||
// Hoxton.SR5 > 2020.0.0-M5
|
||||
if (oldTrain.isReleaseOrServiceRelease()
|
||||
&& !thatVersion.isReleaseOrServiceRelease()) {
|
||||
return 1;
|
||||
}
|
||||
// Hoxton.SR5 < 2020.0.0-RELEASE
|
||||
// Hoxton.M5 < 2020.0.0-M4
|
||||
return -1;
|
||||
}
|
||||
|
||||
private int letterBasedReleaseTrainComparison(TrainVersionNumber o) {
|
||||
String thatName = o.version.major();
|
||||
String thisName = this.version.major();
|
||||
int nameComparison = thisName.compareTo(thatName);
|
||||
if (nameComparison != 0) {
|
||||
return nameComparison;
|
||||
}
|
||||
String thisSuffix = this.version.assertVersion().suffix;
|
||||
String thisValue = thisSuffix;
|
||||
String thisLower = thisValue.toLowerCase();
|
||||
char thisFirst = thisLower.isEmpty() ? ' ' : thisLower.charAt(0);
|
||||
String thatSuffix = o.version.assertVersion().suffix;
|
||||
String thatLower = thatSuffix.toLowerCase();
|
||||
char thatFirst = thatLower.isEmpty() ? ' ' : thatLower.charAt(0);
|
||||
// B < M < RC < R < S
|
||||
int charComparison = Character.compare(thisFirst, thatFirst);
|
||||
if (charComparison != 0) {
|
||||
return charComparison;
|
||||
}
|
||||
String thisVersion = this.version.toString().replaceAll("\\D+", "");
|
||||
boolean thisVersionEmpty = StringUtils.isEmpty(thisVersion);
|
||||
String thatVersion = o.version.toString().replaceAll("\\D+", "");
|
||||
boolean thatVersionEmpty = StringUtils.isEmpty(thatVersion);
|
||||
if (thisVersionEmpty || thatVersionEmpty) {
|
||||
return thisVersion.compareTo(thatVersion);
|
||||
}
|
||||
Integer thisNumber = Integer.valueOf(thisVersion);
|
||||
Integer thatNumber = Integer.valueOf(thatVersion);
|
||||
return thisNumber.compareTo(thatNumber);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -152,8 +152,8 @@ public class ReleaserTests {
|
||||
.contains("Project was successfully updated")
|
||||
.contains("Successfully reverted the commit and bumped snapshot versions")
|
||||
.contains("spring-boot-starter=>3.0.0.RELEASE")
|
||||
.contains("spring-cloud-build=>2.0.1.BUILD-SNAPSHOT")
|
||||
.contains("changed=>1.0.1.BUILD-SNAPSHOT");
|
||||
.contains("spring-cloud-build=>2.0.1.SNAPSHOT")
|
||||
.contains("changed=>1.0.1.SNAPSHOT");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -84,129 +84,129 @@ public class ProjectVersionTests {
|
||||
|
||||
@Test
|
||||
public void should_throw_exception_if_version_is_not_long_enough() {
|
||||
String version = "1.0";
|
||||
String version = "1";
|
||||
|
||||
thenThrownBy(() -> projectVersion(version).bumpedVersion())
|
||||
.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]");
|
||||
"Version [1] is invalid. Should be of format [1.2.3.A] / [1.2.3-A] or [A.B] / [A-B]");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_bump_version_by_patch_version() {
|
||||
String version = "1.0.1.BUILD-SNAPSHOT";
|
||||
String version = "1.0.1-SNAPSHOT";
|
||||
|
||||
then(projectVersion(version).bumpedVersion()).isEqualTo("1.0.2.BUILD-SNAPSHOT");
|
||||
then(projectVersion(version).bumpedVersion()).isEqualTo("1.0.2-SNAPSHOT");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_the_previous_version_for_release_train_version() {
|
||||
String version = "Edgware.BUILD-SNAPSHOT";
|
||||
String version = "Edgware-SNAPSHOT";
|
||||
|
||||
then(projectVersion(version).bumpedVersion()).isEqualTo("Edgware.BUILD-SNAPSHOT");
|
||||
then(projectVersion(version).bumpedVersion()).isEqualTo("Edgware-SNAPSHOT");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_true_for_a_valid_version() {
|
||||
then(projectVersion("2020.0.0-SNAPSHOT").isValid()).isTrue();
|
||||
then(projectVersion("2020.0.0-M1").isValid()).isTrue();
|
||||
then(projectVersion("2020.0.0-RC2").isValid()).isTrue();
|
||||
// then(projectVersion("2020.0.0").isValid()).isTrue();
|
||||
then(projectVersion("1.0.1.BUILD-SNAPSHOT").isValid()).isTrue();
|
||||
then(projectVersion("1.0.3.RC1").isValid()).isTrue();
|
||||
then(projectVersion("1.0.4.M1").isValid()).isTrue();
|
||||
then(projectVersion("Finchley.BUILD-SNAPSHOT").isValid()).isTrue();
|
||||
then(projectVersion("Finchley.RELEASE").isValid()).isTrue();
|
||||
then(projectVersion("Finchley.SR1").isValid()).isTrue();
|
||||
then(ProjectVersion.isValid("2020.0.0-SNAPSHOT")).isTrue();
|
||||
then(ProjectVersion.isValid("2020.0.0-M1")).isTrue();
|
||||
then(ProjectVersion.isValid("2020.0.0-RC2")).isTrue();
|
||||
// then(ProjectVersion.isValid("2020.0.0")).isTrue();
|
||||
then(ProjectVersion.isValid("1.0.1-SNAPSHOT")).isTrue();
|
||||
then(ProjectVersion.isValid("1.0.3-RC1")).isTrue();
|
||||
then(ProjectVersion.isValid("1.0.4-M1")).isTrue();
|
||||
then(ProjectVersion.isValid("Finchley-SNAPSHOT")).isTrue();
|
||||
then(ProjectVersion.isValid("Finchley.RELEASE")).isTrue();
|
||||
then(ProjectVersion.isValid("Finchley-SR1")).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_false_for_an_invalid_version() {
|
||||
then(projectVersion("1").isValid()).isFalse();
|
||||
then(projectVersion("1.").isValid()).isFalse();
|
||||
then(projectVersion("1.0.4.").isValid()).isFalse();
|
||||
then(projectVersion("Some random text").isValid()).isFalse();
|
||||
then(ProjectVersion.isValid("1")).isFalse();
|
||||
then(ProjectVersion.isValid("1.")).isFalse();
|
||||
then(ProjectVersion.isValid("1.0.4.")).isFalse();
|
||||
then(ProjectVersion.isValid("Some random text")).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_throw_exception_if_version_is_not_long_enough_when_bumping_snapshots() {
|
||||
String version = "1.0";
|
||||
String version = "1";
|
||||
|
||||
thenThrownBy(() -> projectVersion(version).postReleaseSnapshotVersion())
|
||||
.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]");
|
||||
"Version [1] is invalid. Should be of format [1.2.3.A] / [1.2.3-A] or [A.B] / [A-B]");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_throw_exception_when_trying_to_get_major_from_invalid_version() {
|
||||
String version = "1.0";
|
||||
String version = "1";
|
||||
|
||||
thenThrownBy(() -> projectVersion(version).major())
|
||||
.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]");
|
||||
"Version [1] is invalid. Should be of format [1.2.3.A] / [1.2.3-A] or [A.B] / [A-B]");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_get_major_from_version() {
|
||||
then(projectVersion("2.0.1.BUILD-SNAPSHOT").major()).isEqualTo("2");
|
||||
then(projectVersion("2.0.1.M1").major()).isEqualTo("2");
|
||||
then(projectVersion("2.0.1.RC1").major()).isEqualTo("2");
|
||||
then(projectVersion("Finchley.SR1").major()).isEqualTo("Finchley");
|
||||
then(projectVersion("2020.0.0.M1").major()).isEqualTo("2020");
|
||||
then(projectVersion("2.0.1-SNAPSHOT").major()).isEqualTo("2");
|
||||
then(projectVersion("2.0.1-M1").major()).isEqualTo("2");
|
||||
then(projectVersion("2.0.1-RC1").major()).isEqualTo("2");
|
||||
then(projectVersion("Finchley-SR1").major()).isEqualTo("Finchley");
|
||||
then(projectVersion("2020.0.0-M1").major()).isEqualTo("2020");
|
||||
// then(projectVersion("2020.0.0").major()).isEqualTo("2020");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_not_bump_version_by_patch_version_when_non_ga_or_sr() {
|
||||
then(projectVersion("1.0.1.BUILD-SNAPSHOT").postReleaseSnapshotVersion())
|
||||
.isEqualTo("1.0.1.BUILD-SNAPSHOT");
|
||||
then(projectVersion("1.0.1.M1").postReleaseSnapshotVersion())
|
||||
.isEqualTo("1.0.1.BUILD-SNAPSHOT");
|
||||
then(projectVersion("1.0.1.RC1").postReleaseSnapshotVersion())
|
||||
.isEqualTo("1.0.1.BUILD-SNAPSHOT");
|
||||
then(projectVersion("Finchley.SR1").postReleaseSnapshotVersion())
|
||||
.isEqualTo("Finchley.BUILD-SNAPSHOT");
|
||||
then(projectVersion("1.0.1-SNAPSHOT").postReleaseSnapshotVersion())
|
||||
.isEqualTo("1.0.1-SNAPSHOT");
|
||||
then(projectVersion("1.0.1-M1").postReleaseSnapshotVersion())
|
||||
.isEqualTo("1.0.1-SNAPSHOT");
|
||||
then(projectVersion("1.0.1-RC1").postReleaseSnapshotVersion())
|
||||
.isEqualTo("1.0.1-SNAPSHOT");
|
||||
then(projectVersion("Finchley-SR1").postReleaseSnapshotVersion())
|
||||
.isEqualTo("Finchley-SNAPSHOT");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_not_bump_version_by_patch_version_when_non_ga_or_sr_with_hyphen() {
|
||||
then(projectVersion("1.0.1-BUILD-SNAPSHOT").postReleaseSnapshotVersion())
|
||||
.isEqualTo("1.0.1-BUILD-SNAPSHOT");
|
||||
then(projectVersion("1.0.1-SNAPSHOT").postReleaseSnapshotVersion())
|
||||
.isEqualTo("1.0.1-SNAPSHOT");
|
||||
then(projectVersion("1.0.1-M1").postReleaseSnapshotVersion())
|
||||
.isEqualTo("1.0.1-BUILD-SNAPSHOT");
|
||||
.isEqualTo("1.0.1-SNAPSHOT");
|
||||
then(projectVersion("1.0.1-RC1").postReleaseSnapshotVersion())
|
||||
.isEqualTo("1.0.1-BUILD-SNAPSHOT");
|
||||
.isEqualTo("1.0.1-SNAPSHOT");
|
||||
then(projectVersion("Finchley-SR1").postReleaseSnapshotVersion())
|
||||
.isEqualTo("Finchley-BUILD-SNAPSHOT");
|
||||
.isEqualTo("Finchley-SNAPSHOT");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_bump_version_by_patch_version_when_bumping_snapshots_for_ga() {
|
||||
then(projectVersion("1.0.1.RELEASE").postReleaseSnapshotVersion())
|
||||
.isEqualTo("1.0.2.BUILD-SNAPSHOT");
|
||||
then(projectVersion("1.0.1-RELEASE").postReleaseSnapshotVersion())
|
||||
.isEqualTo("1.0.2-SNAPSHOT");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_the_previous_version_for_release_train_version_when_bumping_snapshots() {
|
||||
String version = "Edgware.BUILD-SNAPSHOT";
|
||||
String version = "Edgware-SNAPSHOT";
|
||||
|
||||
then(projectVersion(version).postReleaseSnapshotVersion())
|
||||
.isEqualTo("Edgware.BUILD-SNAPSHOT");
|
||||
.isEqualTo("Edgware-SNAPSHOT");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_the_previous_version_for_hyphen_release_train_version_when_bumping_snapshots() {
|
||||
String version = "Edgware-BUILD-SNAPSHOT";
|
||||
String version = "Edgware-SNAPSHOT";
|
||||
|
||||
then(projectVersion(version).postReleaseSnapshotVersion())
|
||||
.isEqualTo("Edgware-BUILD-SNAPSHOT");
|
||||
.isEqualTo("Edgware-SNAPSHOT");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_bump_version_by_patch_version_when_bumping_releases() {
|
||||
String version = "1.0.1.RELEASE";
|
||||
String version = "1.0.1-RELEASE";
|
||||
|
||||
then(projectVersion(version).postReleaseSnapshotVersion())
|
||||
.isEqualTo("1.0.2.BUILD-SNAPSHOT");
|
||||
.isEqualTo("1.0.2-SNAPSHOT");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -214,20 +214,20 @@ public class ProjectVersionTests {
|
||||
String version = "1.0.1-RELEASE";
|
||||
|
||||
then(projectVersion(version).postReleaseSnapshotVersion())
|
||||
.isEqualTo("1.0.2-BUILD-SNAPSHOT");
|
||||
.isEqualTo("1.0.2-SNAPSHOT");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_the_previous_version_for_release_train_version_when_bumping_releases() {
|
||||
String version = "Edgware.RELEASE";
|
||||
String version = "Edgware-RELEASE";
|
||||
|
||||
then(projectVersion(version).postReleaseSnapshotVersion())
|
||||
.isEqualTo("Edgware.BUILD-SNAPSHOT");
|
||||
.isEqualTo("Edgware-SNAPSHOT");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_true_for_snapshot_version() {
|
||||
String version = "1.0.1.BUILD-SNAPSHOT";
|
||||
String version = "1.0.1-SNAPSHOT";
|
||||
|
||||
then(projectVersion(version).isSnapshot()).isTrue();
|
||||
|
||||
@@ -244,14 +244,14 @@ public class ProjectVersionTests {
|
||||
|
||||
@Test
|
||||
public void should_return_false_for_milestone_version() {
|
||||
String version = "1.0.1.M1";
|
||||
String version = "1.0.1-M1";
|
||||
|
||||
then(projectVersion(version).isRelease()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_false_for_rc_version() {
|
||||
String version = "1.0.1.RC1";
|
||||
String version = "1.0.1-RC1";
|
||||
|
||||
then(projectVersion(version).isRelease()).isFalse();
|
||||
|
||||
@@ -273,7 +273,7 @@ public class ProjectVersionTests {
|
||||
|
||||
@Test
|
||||
public void should_return_true_for_service_release_versions() {
|
||||
String version = "1.0.1.SR1";
|
||||
String version = "1.0.1-SR1";
|
||||
|
||||
then(projectVersion(version).isServiceRelease()).isTrue();
|
||||
|
||||
@@ -284,7 +284,7 @@ public class ProjectVersionTests {
|
||||
|
||||
@Test
|
||||
public void should_return_true_when_checking_milestone_version_against_milestone() {
|
||||
String version = "1.0.1.M1";
|
||||
String version = "1.0.1-M1";
|
||||
|
||||
then(projectVersion(version).isMilestone()).isTrue();
|
||||
|
||||
@@ -295,14 +295,14 @@ public class ProjectVersionTests {
|
||||
|
||||
@Test
|
||||
public void should_return_false_when_checking_milestone_version_against_non_milestone() {
|
||||
String version = "1.0.1.RC1";
|
||||
String version = "1.0.1-RC1";
|
||||
|
||||
then(projectVersion(version).isMilestone()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_true_when_checking_rc_version_against_rc() {
|
||||
String version = "1.0.1.RC3";
|
||||
String version = "1.0.1-RC3";
|
||||
|
||||
then(projectVersion(version).isRc()).isTrue();
|
||||
|
||||
@@ -314,30 +314,29 @@ public class ProjectVersionTests {
|
||||
@Test
|
||||
public void should_return_true_when_checking_ga_version_against_ga() {
|
||||
then(projectVersion("1.0.1.RELEASE").isReleaseOrServiceRelease()).isTrue();
|
||||
then(projectVersion("1.0.1.SR1").isReleaseOrServiceRelease()).isTrue();
|
||||
then(projectVersion("1.0.1-SR1").isReleaseOrServiceRelease()).isTrue();
|
||||
// then(projectVersion("1.0.0").isReleaseOrServiceRelease()).isTrue();
|
||||
// then(projectVersion("1.0.1").isReleaseOrServiceRelease()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_False_when_checking_ga_version_against_non_ga() {
|
||||
then(projectVersion("1.0.1.BUILD-SNAPSHOT").isReleaseOrServiceRelease())
|
||||
.isFalse();
|
||||
then(projectVersion("1.0.1-SNAPSHOT").isReleaseOrServiceRelease()).isFalse();
|
||||
then(projectVersion("1.0.1.M4").isReleaseOrServiceRelease()).isFalse();
|
||||
then(projectVersion("1.0.1.RC4").isReleaseOrServiceRelease()).isFalse();
|
||||
then(projectVersion("1.0.1-RC4").isReleaseOrServiceRelease()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_false_when_checking_rc_version_against_non_rc() {
|
||||
String version = "1.0.1.M1";
|
||||
String version = "1.0.1-M1";
|
||||
|
||||
then(projectVersion(version).isRc()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_true_when_versions_are_from_same_minor() {
|
||||
String thisVersion = "1.3.1.RC3";
|
||||
String thatVersion = "1.3.2.SR3";
|
||||
String thisVersion = "1.3.1-RC3";
|
||||
String thatVersion = "1.3.2-SR3";
|
||||
|
||||
then(projectVersion(thisVersion).isSameMinor(thatVersion)).isTrue();
|
||||
|
||||
@@ -349,32 +348,32 @@ public class ProjectVersionTests {
|
||||
|
||||
@Test
|
||||
public void should_return_false_when_versions_of_different_sizes() {
|
||||
String thisVersion = "1.3.1.RC3";
|
||||
String thatVersion = "1.3.RC3";
|
||||
String thisVersion = "1.3.1-RC3";
|
||||
String thatVersion = "1.3-RC3";
|
||||
|
||||
then(projectVersion(thisVersion).isSameMinor(thatVersion)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_false_when_versions_not_of_same_minor() {
|
||||
String thisVersion = "1.3.1.RC3";
|
||||
String thatVersion = "1.4.2.RC3";
|
||||
String thisVersion = "1.3.1-RC3";
|
||||
String thatVersion = "1.4.2-RC3";
|
||||
|
||||
then(projectVersion(thisVersion).isSameMinor(thatVersion)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_equal_when_versions_are_the_same() {
|
||||
String thisVersion = "1.3.1.SR3";
|
||||
String thatVersion = "1.3.1.SR3";
|
||||
String thisVersion = "1.3.1-SR3";
|
||||
String thatVersion = "1.3.1-SR3";
|
||||
|
||||
then(projectVersion(thisVersion).compareTo(projectVersion(thatVersion))).isZero();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_greater_when_versions_this_version_is_greater_than_the_other() {
|
||||
String thisVersion = "1.3.2.SR3";
|
||||
String thatVersion = "1.3.1.SR3";
|
||||
String thisVersion = "1.3.2-SR3";
|
||||
String thatVersion = "1.3.1-SR3";
|
||||
|
||||
then(projectVersion(thisVersion).compareTo(projectVersion(thatVersion)))
|
||||
.isPositive();
|
||||
@@ -382,8 +381,8 @@ public class ProjectVersionTests {
|
||||
|
||||
@Test
|
||||
public void should_return_lower_when_versions_this_version_is_lower_than_the_other() {
|
||||
String thisVersion = "1.3.0.RC3";
|
||||
String thatVersion = "1.3.1.RC3";
|
||||
String thisVersion = "1.3.0-RC3";
|
||||
String thatVersion = "1.3.1-RC3";
|
||||
|
||||
then(projectVersion(thisVersion).compareTo(projectVersion(thatVersion)))
|
||||
.isNegative();
|
||||
@@ -393,220 +392,299 @@ public class ProjectVersionTests {
|
||||
public void should_compare_builds_in_terms_of_maturity_for_projects() {
|
||||
String thisVersion = "1.3.2.RELEASE";
|
||||
|
||||
then(projectVersion(thisVersion)
|
||||
.isMoreMature(projectVersion("1.3.1.BUILD-SNAPSHOT"))).isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.3.1.M1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.3.1-SNAPSHOT")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.3.1.RC1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.3.1-M1")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.3.1-RC1")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.3.1.RELEASE")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.3.3.RELEASE")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion)
|
||||
.isMoreMature(projectVersion("1.3.3.BUILD-SNAPSHOT"))).isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.3.3.M1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.3.3-SNAPSHOT")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.3.3.RC1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.3.3-M1")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.3.3-RC1")))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_compare_builds_in_terms_of_maturity_for_trains() {
|
||||
String thisVersion = "Hoxton.SR1";
|
||||
String thisVersion = "Hoxton-SR1";
|
||||
|
||||
then(projectVersion(thisVersion)
|
||||
.isMoreMature(projectVersion("Hoxton.BUILD-SNAPSHOT"))).isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Hoxton.M1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Hoxton-SNAPSHOT")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Hoxton.RC1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Hoxton-M1")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Hoxton-RC1")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Hoxton.RELEASE")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion)
|
||||
.isMoreMature(projectVersion("Iexample.BUILD-SNAPSHOT"))).isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Iexample.M1")))
|
||||
.isMoreMature(projectVersion("Iexample-SNAPSHOT"))).isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Iexample-M1")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Iexample.RC1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Iexample-RC1")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Iexample.RELEASE")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Iexample.SR1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Iexample-SR1")))
|
||||
.isFalse();
|
||||
|
||||
thisVersion = "Hoxton.BUILD-SNAPSHOT";
|
||||
thisVersion = "Hoxton-SNAPSHOT";
|
||||
|
||||
then(projectVersion(thisVersion)
|
||||
.isMoreMature(projectVersion("Hoxton.BUILD-SNAPSHOT"))).isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Hoxton.M1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Hoxton-SNAPSHOT")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Hoxton.RC1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Hoxton-M1")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Hoxton-RC1")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Hoxton.RELEASE")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion)
|
||||
.isMoreMature(projectVersion("Iexample.BUILD-SNAPSHOT"))).isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Iexample.M1")))
|
||||
.isMoreMature(projectVersion("Iexample-SNAPSHOT"))).isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Iexample-M1")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Iexample.RC1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Iexample-RC1")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Iexample.RELEASE")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Iexample.SR1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("Iexample-SR1")))
|
||||
.isFalse();
|
||||
|
||||
thisVersion = "1.0.1.RELEASE";
|
||||
|
||||
then(projectVersion(thisVersion)
|
||||
.isMoreMature(projectVersion("1.0.1.BUILD-SNAPSHOT"))).isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.1.M1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.1-SNAPSHOT")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.1.RC1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.1-M1")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.1-RC1")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.1.RELEASE")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion)
|
||||
.isMoreMature(projectVersion("1.0.2.BUILD-SNAPSHOT"))).isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2.M1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2-SNAPSHOT")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2.RC1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2-M1")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2-RC1")))
|
||||
.isTrue();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2.RELEASE")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2.SR1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2-SR1")))
|
||||
.isFalse();
|
||||
|
||||
thisVersion = "1.0.1.BUILD-SNAPSHOT";
|
||||
thisVersion = "1.0.1-SNAPSHOT";
|
||||
|
||||
then(projectVersion(thisVersion)
|
||||
.isMoreMature(projectVersion("1.0.1.BUILD-SNAPSHOT"))).isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.1.M1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.1-SNAPSHOT")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.1.RC1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.1-M1")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.1-RC1")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.1.RELEASE")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion)
|
||||
.isMoreMature(projectVersion("1.0.2.BUILD-SNAPSHOT"))).isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2.M1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2-SNAPSHOT")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2.RC1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2-M1")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2-RC1")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2.RELEASE")))
|
||||
.isFalse();
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2.SR1")))
|
||||
then(projectVersion(thisVersion).isMoreMature(projectVersion("1.0.2-SR1")))
|
||||
.isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_empty_group_id_when_it_is_missing() {
|
||||
ProjectVersion projectVersion = projectVersion("1.0.0.RC1");
|
||||
ProjectVersion projectVersion = projectVersion("1.0.0-RC1");
|
||||
|
||||
then(projectVersion.groupId()).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_true_when_release_train_names_are_the_same() {
|
||||
String thisVersion = "Finchley.SR1";
|
||||
String thatVersion = "Finchley.SR2";
|
||||
String thisVersion = "Finchley-SR1";
|
||||
String thatVersion = "Finchley-SR2";
|
||||
|
||||
then(projectVersion(thisVersion).isSameReleaseTrainName(thatVersion)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_true_when_sr_has_two_digits() {
|
||||
String thisVersion = "Finchley.SR1";
|
||||
String thatVersion = "Finchley.SR10";
|
||||
String thisVersion = "Finchley-SR1";
|
||||
String thatVersion = "Finchley-SR10";
|
||||
|
||||
then(projectVersion(thatVersion).compareToReleaseTrainName(thisVersion))
|
||||
.isPositive();
|
||||
then(projectVersion(thatVersion).compareToReleaseTrain(thisVersion)).isPositive();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_false_when_release_train_name_are_different() {
|
||||
String thisVersion = "Finchley.SR1";
|
||||
String thatVersion = "Greenwich.SR1";
|
||||
String thisVersion = "Finchley-SR1";
|
||||
String thatVersion = "Greenwich-SR1";
|
||||
|
||||
then(projectVersion(thisVersion).isSameReleaseTrainName(thatVersion)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_positive_when_release_train_is_greater_than_the_other_one() {
|
||||
String thisVersion = "Finchley.SR2";
|
||||
String thatVersion = "Finchley.SR1";
|
||||
String thisVersion = "Finchley-SR2";
|
||||
String thatVersion = "Finchley-SR1";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrainName(thatVersion))
|
||||
.isPositive();
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isPositive();
|
||||
|
||||
thisVersion = "Greenwich.SR1";
|
||||
thatVersion = "Finchley.SR2";
|
||||
thisVersion = "Greenwich-SR1";
|
||||
thatVersion = "Finchley-SR2";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrainName(thatVersion))
|
||||
.isPositive();
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isPositive();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_0_when_release_train_is_equal_than_the_other_one() {
|
||||
String thisVersion = "Finchley.SR1";
|
||||
String thatVersion = "Finchley.SR1";
|
||||
String thisVersion = "Finchley-SR1";
|
||||
String thatVersion = "Finchley-SR1";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrainName(thatVersion)).isZero();
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isZero();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_minus_1_when_release_train_is_smaller_than_the_other_one() {
|
||||
String thisVersion = "Finchley.SR1";
|
||||
String thatVersion = "Finchley.SR2";
|
||||
String thisVersion = "Finchley-SR1";
|
||||
String thatVersion = "Finchley-SR2";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrainName(thatVersion))
|
||||
.isNegative();
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isNegative();
|
||||
|
||||
thisVersion = "Finchley.SR2";
|
||||
thatVersion = "Greenwich.SR1";
|
||||
thisVersion = "Finchley-SR2";
|
||||
thatVersion = "Greenwich-SR1";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrainName(thatVersion))
|
||||
.isNegative();
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isNegative();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_minus_1_when_this_train_is_empty() {
|
||||
String thisVersion = "";
|
||||
String thatVersion = "Finchley.SR2";
|
||||
String thatVersion = "Finchley-SR2";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrainName(thatVersion))
|
||||
.isNegative();
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isNegative();
|
||||
|
||||
thisVersion = "";
|
||||
thatVersion = "";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrainName(thatVersion)).isZero();
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isZero();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_plus_1_when_that_train_is_empty() {
|
||||
String thisVersion = "Finchley.SR1";
|
||||
String thisVersion = "Finchley-SR1";
|
||||
String thatVersion = "";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrainName(thatVersion))
|
||||
.isPositive();
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isPositive();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_true_when_calver_release_train_names_are_the_same() {
|
||||
String thisVersion = "2020.0.1";
|
||||
String thatVersion = "2020.0.2";
|
||||
|
||||
then(projectVersion(thisVersion).isSameReleaseTrainName(thatVersion)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_true_when_calver_sr_has_two_digits() {
|
||||
String thisVersion = "2020.0.1";
|
||||
String thatVersion = "2020.0.10";
|
||||
|
||||
then(projectVersion(thatVersion).compareToReleaseTrain(thisVersion)).isPositive();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_false_when_calver_release_train_name_are_different() {
|
||||
String thisVersion = "2020.0.1";
|
||||
String thatVersion = "2020.1.0";
|
||||
|
||||
then(projectVersion(thisVersion).isSameReleaseTrainName(thatVersion)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_positive_when_calver_release_train_is_greater_than_the_other_one() {
|
||||
String thisVersion = "2020.0.2";
|
||||
String thatVersion = "2020.0.1";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isPositive();
|
||||
|
||||
thisVersion = "2020.1.1";
|
||||
thatVersion = "2020.0.2";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isPositive();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_0_when_calver_release_train_is_equal_than_the_other_one() {
|
||||
String thisVersion = "2020.0.1";
|
||||
String thatVersion = "2020.0.1";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isZero();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_minus_1_when_calver_release_train_is_smaller_than_the_other_one() {
|
||||
String thisVersion = "2020.0.1";
|
||||
String thatVersion = "2020.0.2";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isNegative();
|
||||
|
||||
thisVersion = "2020.0.2";
|
||||
thatVersion = "2020.1.1";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isNegative();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_minus_1_when_this_calver_train_is_empty() {
|
||||
String thisVersion = "";
|
||||
String thatVersion = "2020.1.1";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isNegative();
|
||||
|
||||
thisVersion = "";
|
||||
thatVersion = "";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isZero();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_plus_1_when_that_calver_train_is_empty() {
|
||||
String thisVersion = "2020.1.1";
|
||||
String thatVersion = "";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isPositive();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_greater_than_when_comparing_calver_to_non_calver() {
|
||||
String thisVersion = "2020.1.1";
|
||||
String thatVersion = "Greenwich-SR5";
|
||||
|
||||
then(projectVersion(thisVersion).compareToReleaseTrain(thatVersion)).isPositive();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_no_unacceptable_patterns_for_a_snapshot_version() {
|
||||
then(projectVersion("1.0.0.BUILD-SNAPSHOT").unacceptableVersionPatterns())
|
||||
.isEmpty();
|
||||
then(projectVersion("1.0.0-SNAPSHOT").unacceptableVersionPatterns()).isEmpty();
|
||||
then(projectVersion("1.0.0.SNAPSHOT").unacceptableVersionPatterns()).isEmpty();
|
||||
then(projectVersion("1.0.0-SNAPSHOT").unacceptableVersionPatterns()).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_snapshot_unacceptable_patterns_for_a_milestone_or_rc_version() {
|
||||
List<Pattern> milestonePatterns = projectVersion("1.0.0.M1")
|
||||
List<Pattern> milestonePatterns = projectVersion("1.0.0-M1")
|
||||
.unacceptableVersionPatterns();
|
||||
then(milestonePatterns).isNotEmpty();
|
||||
then(milestonePatterns.get(0).pattern()).contains("SNAPSHOT");
|
||||
|
||||
List<Pattern> rcPatterns = projectVersion("1.0.0.RC1")
|
||||
List<Pattern> rcPatterns = projectVersion("1.0.0-RC1")
|
||||
.unacceptableVersionPatterns();
|
||||
then(rcPatterns).isNotEmpty();
|
||||
then(rcPatterns.get(0).pattern()).contains("SNAPSHOT");
|
||||
@@ -634,7 +712,7 @@ public class ProjectVersionTests {
|
||||
gaPatterns = projectVersion("1.0.0-RELEASE").unacceptableVersionPatterns();
|
||||
thenPatternsForSnapshotMilestoneAndReleaseCandidateArePresent(gaPatterns);
|
||||
|
||||
List<Pattern> srPatterns = projectVersion("1.0.0.SR1")
|
||||
List<Pattern> srPatterns = projectVersion("1.0.0-SR1")
|
||||
.unacceptableVersionPatterns();
|
||||
thenPatternsForSnapshotMilestoneAndReleaseCandidateArePresent(srPatterns);
|
||||
|
||||
@@ -656,7 +734,7 @@ public class ProjectVersionTests {
|
||||
|
||||
@Test
|
||||
public void should_return_empty_when_tag_name_is_non_ga() {
|
||||
then(projectVersion("1.0.0.BUILD-SNAPSHOT").releaseTagName()).isEmpty();
|
||||
then(projectVersion("1.0.0-SNAPSHOT").releaseTagName()).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -729,8 +807,7 @@ public class ProjectVersionTests {
|
||||
then(unknownTypeOfVersion.get(1).pattern()).contains("M[0-9]");
|
||||
then(unknownTypeOfVersion.get(2).pattern()).contains("RC");
|
||||
|
||||
then(unknownTypeOfVersion.get(0).matcher("SomeName-BUILD-SNAPSHOT").matches())
|
||||
.isTrue();
|
||||
then(unknownTypeOfVersion.get(0).matcher("SomeName-SNAPSHOT").matches()).isTrue();
|
||||
then(unknownTypeOfVersion.get(0).matcher("SomeName.BUILD-SNAPSHOT").matches())
|
||||
.isTrue();
|
||||
|
||||
|
||||
@@ -78,9 +78,9 @@ public class ProjectsTests {
|
||||
@Test
|
||||
public void should_create_project_with_bumped_original_version_and_original_parent_versions() {
|
||||
Set<ProjectVersion> projectVersions = new HashSet<>();
|
||||
ProjectVersion build = new ProjectVersion("spring-cloud-build", "1.0.0.RELEASE");
|
||||
ProjectVersion build = new ProjectVersion("spring-cloud-build", "1.0.0-RELEASE");
|
||||
projectVersions.add(build);
|
||||
ProjectVersion boot = new ProjectVersion("spring-boot-starter", "2.0.0.RELEASE");
|
||||
ProjectVersion boot = new ProjectVersion("spring-boot-starter", "2.0.0-RELEASE");
|
||||
projectVersions.add(boot);
|
||||
ProjectVersion bootDeps = new ProjectVersion("spring-boot-dependencies",
|
||||
"2.0.0.RELEASE");
|
||||
@@ -94,9 +94,9 @@ public class ProjectsTests {
|
||||
projects);
|
||||
|
||||
then(forRollback.forName("spring-cloud-build").version)
|
||||
.isEqualTo("1.0.1.BUILD-SNAPSHOT");
|
||||
.isEqualTo("1.0.1-SNAPSHOT");
|
||||
then(forRollback.forName("spring-boot-starter").version)
|
||||
.isEqualTo("2.0.0.RELEASE");
|
||||
.isEqualTo("2.0.0-RELEASE");
|
||||
then(forRollback.forName("spring-boot-dependencies").version)
|
||||
.isEqualTo("2.0.0.RELEASE");
|
||||
then(forRollback.forName("spring-cloud-starter-foo").version)
|
||||
@@ -166,12 +166,12 @@ public class ProjectsTests {
|
||||
then(bumped.forName("spring-boot-dependencies").version)
|
||||
.isEqualTo("2.0.0.RELEASE");
|
||||
then(bumped.forName("spring-boot-starter").version).isEqualTo("2.0.0.RELEASE");
|
||||
then(bumped.forName("foo").version).isEqualTo("1.0.1.BUILD-SNAPSHOT");
|
||||
then(bumped.forName("bar").version).isEqualTo("1.0.1.BUILD-SNAPSHOT");
|
||||
then(bumped.forName("foo").version).isEqualTo("1.0.1.SNAPSHOT");
|
||||
then(bumped.forName("bar").version).isEqualTo("1.0.1.SNAPSHOT");
|
||||
then(bumped.forName("baz").version).isEqualTo("1.0.2.BUILD-SNAPSHOT");
|
||||
then(bumped.forName("foo2").version).isEqualTo("1.0.1.BUILD-SNAPSHOT");
|
||||
then(bumped.forName("foo2").version).isEqualTo("1.0.1.SNAPSHOT");
|
||||
then(bumped.forName("foo3").version).isEqualTo("Finchley.BUILD-SNAPSHOT");
|
||||
then(bumped.forName("foo4").version).isEqualTo("Finchley.BUILD-SNAPSHOT");
|
||||
then(bumped.forName("foo4").version).isEqualTo("Finchley.SNAPSHOT");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -285,7 +285,7 @@ public class PostReleaseActionsTests {
|
||||
Git git = GitTestUtils.openGitProject(clonedFile);
|
||||
BDDAssertions
|
||||
.then(pomWithCloud.getProperties().getProperty("spring-cloud.version"))
|
||||
.isEqualTo("Finchley.BUILD-SNAPSHOT");
|
||||
.isEqualTo("Finchley.SNAPSHOT");
|
||||
BDDAssertions.then(pomWithCloud.getParent().getVersion())
|
||||
.isEqualTo("2.0.4.RELEASE");
|
||||
Iterator<RevCommit> iterator = git.log().call().iterator();
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<parent>
|
||||
<groupId>org.springframework.cloud.internal</groupId>
|
||||
<artifactId>releaser-parent</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<parent>
|
||||
<groupId>org.springframework.cloud.internal</groupId>
|
||||
<artifactId>releaser-parent</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>releaser-parent</artifactId>
|
||||
<groupId>org.springframework.cloud.internal</groupId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user