From 85cd4dc39ccce80976ca00e2ec782b76d3cc5c2d Mon Sep 17 00:00:00 2001 From: Steve Gordon Date: Tue, 14 Sep 2021 12:36:43 +0100 Subject: [PATCH] Fix handling of not yet released alphas --- src/Elastic.Stack.ArtifactsApi/ElasticVersion.cs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/Elastic.Stack.ArtifactsApi/ElasticVersion.cs b/src/Elastic.Stack.ArtifactsApi/ElasticVersion.cs index bdeaff3..843bf66 100644 --- a/src/Elastic.Stack.ArtifactsApi/ElasticVersion.cs +++ b/src/Elastic.Stack.ArtifactsApi/ElasticVersion.cs @@ -63,14 +63,14 @@ public Artifact Artifact(Product product) /// public static ElasticVersion From(string managedVersionString) { - ArtifactBuildState GetReleaseState(string s) - { - return s.EndsWith("-SNAPSHOT") + ArtifactBuildState GetReleaseState(string s) => s.EndsWith("-SNAPSHOT") ? ArtifactBuildState.Snapshot : ApiResolver.IsReleasedVersion(s) ? ArtifactBuildState.Released - : ArtifactBuildState.BuildCandidate; - } + // When the version is not yet released but contains the alpha label, we treat it in the same way as snapshots so it is resolved correctly + : s.IndexOf("-alpha", StringComparison.OrdinalIgnoreCase) >= 0 + ? ArtifactBuildState.Snapshot + : ArtifactBuildState.BuildCandidate; if (string.IsNullOrWhiteSpace(managedVersionString)) return null; @@ -88,10 +88,7 @@ ArtifactBuildState GetReleaseState(string s) if (state == ArtifactBuildState.BuildCandidate) buildHash = ApiResolver.LatestBuildHash(version); break; - // When the version is not yet released but contains the alpha label, we treat it in the same way as snapshots so it is resolved correctly - case { } _ when managedVersionString.EndsWith("-snapshot", StringComparison.OrdinalIgnoreCase) - || state != ArtifactBuildState.Released && - managedVersionString.IndexOf("-alpha", StringComparison.OrdinalIgnoreCase) >= 0: + case { } _ when managedVersionString.EndsWith("-snapshot", StringComparison.OrdinalIgnoreCase): state = ArtifactBuildState.Snapshot; break; case { } _ when TryParseBuildCandidate(managedVersionString, out var v, out buildHash):