From 109a923f5df738c0396f59439c97be4ab3ebfcf0 Mon Sep 17 00:00:00 2001 From: Engincan VESKE <43685404+EngincanV@users.noreply.github.com> Date: Thu, 10 Aug 2023 14:27:47 +0300 Subject: [PATCH] CLI: Fix leptonx package update wrong version problem --- .../VoloNugetPackagesVersionUpdater.cs | 20 +++++++++++++------ .../Version/PackageVersionCheckerService.cs | 20 +++++-------------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/VoloNugetPackagesVersionUpdater.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/VoloNugetPackagesVersionUpdater.cs index a718249a5f..ddc2928447 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/VoloNugetPackagesVersionUpdater.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/VoloNugetPackagesVersionUpdater.cs @@ -229,12 +229,20 @@ public class VoloNugetPackagesVersionUpdater : ITransientDependency { if ((includeNightlyPreviews || (currentVersion.Contains("-preview") && !switchToStable)) && !includeReleaseCandidates) { - var latestVersion = latestMyGetVersion == null || isLeptonXPackage ? - await GetLatestVersionFromMyGet(packageId) : latestMyGetVersion; + string latestVersion; + if(isLeptonXPackage) + { + latestVersion = (await _packageVersionCheckerService.GetLatestVersionOrNullAsync(packageId, includeNightlyPreviews, includeReleaseCandidates))?.Version?.ToString(); + } + else + { + latestVersion = latestMyGetVersion == null ? await GetLatestVersionFromMyGet(packageId) : latestMyGetVersion; + } - if(latestVersion == null && isLeptonXPackage) //leptonx-pro package + if(latestVersion == null) { - latestVersion = await GetLatestVersionFromMyGet("Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme", isNightly: includeNightlyPreviews); + Logger.LogWarning("Package: {0} could not be updated. Please manually update the package version yourself to prevent version mismatches.", packageId); + continue; } if (currentVersion != latestVersion) @@ -288,10 +296,10 @@ public class VoloNugetPackagesVersionUpdater : ITransientDependency return await Task.FromResult(content); } - private async Task GetLatestVersionFromMyGet(string packageId, bool isNightly = false) + private async Task GetLatestVersionFromMyGet(string packageId) { var myGetPack = await _myGetPackageListFinder.GetPackagesAsync(); - return myGetPack.Packages.FirstOrDefault(p => p.Id == packageId)?.Versions.LastOrDefault(x => isNightly ? x.Contains("-preview") : true); + return myGetPack.Packages.FirstOrDefault(p => p.Id == packageId)?.Versions.LastOrDefault(); } } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Version/PackageVersionCheckerService.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Version/PackageVersionCheckerService.cs index de8511cdca..f4b87ea047 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Version/PackageVersionCheckerService.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Version/PackageVersionCheckerService.cs @@ -80,21 +80,11 @@ public class PackageVersionCheckerService : ITransientDependency return null; } - List versions; - - if (!includeNightly && includeReleaseCandidates) - { - versions = versionList - .Where(v => !v.Contains("-preview")) - .Select(SemanticVersion.Parse) - .OrderByDescending(v => v, new VersionComparer()).ToList(); - } - else - { - versions = versionList - .Select(SemanticVersion.Parse) - .OrderByDescending(v => v, new VersionComparer()).ToList(); - } + List versions = versionList + .WhereIf(!includeNightly, v => !v.Contains("-preview")) + .WhereIf(!includeReleaseCandidates, v => !v.Contains("rc")) + .Select(SemanticVersion.Parse) + .OrderByDescending(v => v, new VersionComparer()).ToList(); return versions.Any() ? new LatestVersionInfo(versions.Max())