Merge pull request #18360 from abpframework/issue-17863

CLI: New version info should logged if the current CLI version is pre-release and the stable version fetched from GitHub.
pull/18363/head
Yunus Emre Kalkan 2 years ago committed by GitHub
commit 27dd6e6aae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -184,8 +184,20 @@ public class CliService : ITransientDependency
var updateChannel = GetUpdateChannel(currentCliVersion);
var latestVersionInfo = await GetLatestVersion(updateChannel);
if (latestVersionInfo != null && latestVersionInfo.Version > currentCliVersion)
if (ShouldLogNewVersionInfo(latestVersionInfo, currentCliVersion))
{
if(updateChannel == UpdateChannel.Prerelease && !latestVersionInfo.Version.IsPrerelease)
{
latestVersionInfo = await PackageVersionCheckerService.GetLatestStableVersionFromGithubAsync();
if(ShouldLogNewVersionInfo(latestVersionInfo, currentCliVersion))
{
LogNewVersionInfo(updateChannel, latestVersionInfo.Version, toolPath, latestVersionInfo.Message);
}
return;
}
LogNewVersionInfo(updateChannel, latestVersionInfo.Version, toolPath, latestVersionInfo.Message);
}
}
@ -195,6 +207,11 @@ public class CliService : ITransientDependency
}
}
private bool ShouldLogNewVersionInfo(LatestVersionInfo latestVersionInfo, SemanticVersion currentCliVersion)
{
return latestVersionInfo != null && latestVersionInfo.Version > currentCliVersion;
}
private async Task<bool> IsLatestVersionCheckExpiredAsync()
{
try

@ -14,6 +14,7 @@ using Volo.Abp.Cli.ProjectModification;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Json;
using Volo.Abp.Threading;
using System.Net.Mail;
namespace Volo.Abp.Cli.Version;
@ -63,15 +64,7 @@ public class PackageVersionCheckerService : ITransientDependency
{
if (!includeNightly && !includeReleaseCandidates && !packageId.Contains("LeptonX"))
{
var latestStableVersionResult = await GetLatestStableVersionOrNullAsync();
if (latestStableVersionResult == null)
{
return null;
}
return SemanticVersion.TryParse(latestStableVersionResult.Version, out var semanticVersion)
? new LatestVersionInfo(semanticVersion, latestStableVersionResult.Message)
: null;
return await GetLatestStableVersionFromGithubAsync();
}
var versionList = await GetPackageVersionListAsync(packageId, includeNightly);
@ -107,6 +100,19 @@ public class PackageVersionCheckerService : ITransientDependency
return await GetPackageVersionsFromNuGetOrgAsync(packageId) ?? new List<string>();
}
public async Task<LatestVersionInfo> GetLatestStableVersionFromGithubAsync()
{
var latestStableVersionResult = await GetLatestStableVersionOrNullAsync();
if (latestStableVersionResult == null)
{
return null;
}
return SemanticVersion.TryParse(latestStableVersionResult.Version, out var semanticVersion)
? new LatestVersionInfo(semanticVersion, latestStableVersionResult.Message)
: null;
}
private async Task<bool> IsCommercialPackageAsync(string packageId)
{
if (CommercialPackages.IsCommercial(packageId))

Loading…
Cancel
Save