From 33b53d012e92c2b9d55862113d08d349706c1441 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 17 Jul 2020 17:50:46 +0300 Subject: [PATCH] Github releases: ensure versions are listed by semantic compare --- .../src/Volo.Abp.Cli.Core/Volo/Abp/Cli/NuGet/NuGetService.cs | 5 +++-- .../Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs | 3 +++ .../Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs | 2 ++ modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.csproj | 1 + 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/NuGet/NuGetService.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/NuGet/NuGetService.cs index 8b58ad2d9a..1d2ddb650b 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/NuGet/NuGetService.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/NuGet/NuGetService.cs @@ -78,11 +78,12 @@ namespace Volo.Abp.Cli.NuGet var versions = JsonSerializer .Deserialize(responseContent) .Versions - .Select(SemanticVersion.Parse); + .Select(SemanticVersion.Parse) + .OrderByDescending(v=> v, new VersionComparer()).ToList(); if (!includePreviews && !includeNightly && !includeReleaseCandidates) { - versions = versions.Where(x => !x.IsPrerelease); + versions = versions.Where(x => !x.IsPrerelease).ToList(); } var semanticVersions = versions.ToList(); diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs index 235f39a34e..140d6b893c 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs @@ -10,6 +10,7 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Newtonsoft.Json; using Newtonsoft.Json.Linq; +using NuGet.Versioning; using Volo.Abp.Cli.Http; using Volo.Abp.Cli.Utils; using Volo.Abp.DependencyInjection; @@ -259,6 +260,8 @@ namespace Volo.Abp.Cli.ProjectModification var versionListAsJson = CmdHelper.RunCmdAndGetOutput($"npm show {package.Name} versions"); var versionList = JsonConvert.DeserializeObject(versionListAsJson); + versionList = versionList.OrderByDescending(SemanticVersion.Parse, new VersionComparer()).ToArray(); + var newVersion = includeReleaseCandidates ? versionList.Last() : versionList.LastOrDefault(v => v.Split("-").Length < 2); diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs index e7bc6154fa..a6670f8d72 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs @@ -17,6 +17,7 @@ using Volo.Docs.HtmlConverting; using Volo.Docs.Models; using Volo.Docs.Projects; using Volo.Docs.Utils; +using NuGet.Versioning; namespace Volo.Docs.Pages.Documents.Project { @@ -252,6 +253,7 @@ namespace Volo.Docs.Pages.Documents.Project var output = await _projectAppService.GetVersionsAsync(Project.ShortName); var versions = output.Items + .OrderByDescending(i => SemanticVersion.Parse(i.Name), new VersionComparer()) .Select(v => new VersionInfoViewModel(v.DisplayName, v.Name)) .ToList(); diff --git a/modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.csproj b/modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.csproj index a82e806e24..aef4937c88 100644 --- a/modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.csproj +++ b/modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.csproj @@ -25,6 +25,7 @@ +