Support new Spring release train versioning and suffixes
We are moving to calver with YYYY.MINOR.MICRO suffix for prereleases are -MX, -RCX. For release there is no longer a .RELEASE.
In ProjectVersionTests.should_return_true_for_a_valid_version() the following happens
then(projectVersion("2020.0.0-M1").isValid()).isTrue(); // success
then(projectVersion("2020.0.0-RC2").isValid()).isTrue(); // success
then(projectVersion("2020.0.0").isValid()).isTrue(); // failure
Also ProjectVersionTests.should_return_true_for_release_versions() fails for 2020.0.0.
Possible impl for ProjectVersion.isRelease()
public boolean isRelease() {
return this.version != null && (
this.version.contains("RELEASE") ||
(!isSnapshot() && !isMilestone() && !isRc())
);
}
also should_get_major_from_version() fails
ProjectVersionTests.should_return_true_for_service_release_versions() fails for 2020.0.1.
pseudo code
if (ends with SR\d || (isRelease() && 3rd component > 0))
See also 3658fccdc37fc152236b7980cc3e68fc89837d78
ProjectGitHandler.branchFromVersion() can't handle new suffixes 2020.0.0-M1
Added support for branch resolution via https://github.com/spring-cloud/spring-cloud-release-tools/commit/0e3a95f9aa422bfe7863ef17ad131e46b9b9ab42
Can this be closed?
This is still a problem for at least release notes. It thinks the release train is 2020 when it should be 2020.0