|
|
@ -5,7 +5,7 @@ using System.IO;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using System.Xml;
|
|
|
|
using System.Xml;
|
|
|
|
using Volo.Abp.Cli.NuGet;
|
|
|
|
using Volo.Abp.Cli.Version;
|
|
|
|
using Volo.Abp.DependencyInjection;
|
|
|
|
using Volo.Abp.DependencyInjection;
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
using Microsoft.Extensions.Logging.Abstractions;
|
|
|
|
using Microsoft.Extensions.Logging.Abstractions;
|
|
|
@ -15,14 +15,14 @@ namespace Volo.Abp.Cli.ProjectModification;
|
|
|
|
|
|
|
|
|
|
|
|
public class VoloNugetPackagesVersionUpdater : ITransientDependency
|
|
|
|
public class VoloNugetPackagesVersionUpdater : ITransientDependency
|
|
|
|
{
|
|
|
|
{
|
|
|
|
private readonly NuGetService _nuGetService;
|
|
|
|
private readonly PackageVersionCheckerService _packageVersionCheckerService;
|
|
|
|
private readonly MyGetPackageListFinder _myGetPackageListFinder;
|
|
|
|
private readonly MyGetPackageListFinder _myGetPackageListFinder;
|
|
|
|
public ILogger<VoloNugetPackagesVersionUpdater> Logger { get; set; }
|
|
|
|
public ILogger<VoloNugetPackagesVersionUpdater> Logger { get; set; }
|
|
|
|
public static Encoding DefaultEncoding = Encoding.UTF8;
|
|
|
|
public static Encoding DefaultEncoding = Encoding.UTF8;
|
|
|
|
|
|
|
|
|
|
|
|
public VoloNugetPackagesVersionUpdater(NuGetService nuGetService, MyGetPackageListFinder myGetPackageListFinder)
|
|
|
|
public VoloNugetPackagesVersionUpdater(PackageVersionCheckerService packageVersionCheckerService, MyGetPackageListFinder myGetPackageListFinder)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
_nuGetService = nuGetService;
|
|
|
|
_packageVersionCheckerService = packageVersionCheckerService;
|
|
|
|
_myGetPackageListFinder = myGetPackageListFinder;
|
|
|
|
_myGetPackageListFinder = myGetPackageListFinder;
|
|
|
|
Logger = NullLogger<VoloNugetPackagesVersionUpdater>.Instance;
|
|
|
|
Logger = NullLogger<VoloNugetPackagesVersionUpdater>.Instance;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -37,8 +37,8 @@ public class VoloNugetPackagesVersionUpdater : ITransientDependency
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var latestVersionFromNuget = await _nuGetService.GetLatestVersionOrNullAsync("Volo.Abp.Core", includeReleaseCandidates: includeReleaseCandidates);
|
|
|
|
var latestVersionInfo = await _packageVersionCheckerService.GetLatestVersionOrNullAsync("Volo.Abp.Core", includeReleaseCandidates: includeReleaseCandidates);
|
|
|
|
var latestReleaseCandidateVersionFromNuget = await _nuGetService.GetLatestVersionOrNullAsync("Volo.Abp.Core", includeReleaseCandidates: true);
|
|
|
|
var latestReleaseCandidateVersionInfo = await _packageVersionCheckerService.GetLatestVersionOrNullAsync("Volo.Abp.Core", includeReleaseCandidates: true);
|
|
|
|
var latestVersionFromMyGet = await GetLatestVersionFromMyGet("Volo.Abp.Core");
|
|
|
|
var latestVersionFromMyGet = await GetLatestVersionFromMyGet("Volo.Abp.Core");
|
|
|
|
|
|
|
|
|
|
|
|
async Task UpdateAsync(string filePath)
|
|
|
|
async Task UpdateAsync(string filePath)
|
|
|
@ -53,8 +53,8 @@ public class VoloNugetPackagesVersionUpdater : ITransientDependency
|
|
|
|
includePreviews,
|
|
|
|
includePreviews,
|
|
|
|
includeReleaseCandidates,
|
|
|
|
includeReleaseCandidates,
|
|
|
|
switchToStable,
|
|
|
|
switchToStable,
|
|
|
|
latestVersionFromNuget,
|
|
|
|
latestVersionInfo.Version,
|
|
|
|
latestReleaseCandidateVersionFromNuget,
|
|
|
|
latestReleaseCandidateVersionInfo.Version,
|
|
|
|
latestVersionFromMyGet,
|
|
|
|
latestVersionFromMyGet,
|
|
|
|
version);
|
|
|
|
version);
|
|
|
|
|
|
|
|
|
|
|
@ -81,8 +81,8 @@ public class VoloNugetPackagesVersionUpdater : ITransientDependency
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var latestVersionFromNuget = await _nuGetService.GetLatestVersionOrNullAsync("Volo.Abp.Core");
|
|
|
|
var latestVersionInfo = await _packageVersionCheckerService.GetLatestVersionOrNullAsync("Volo.Abp.Core");
|
|
|
|
var latestReleaseCandidateVersionFromNuget = await _nuGetService.GetLatestVersionOrNullAsync("Volo.Abp.Core", includeReleaseCandidates: true);
|
|
|
|
var latestReleaseCandidateVersionInfo = await _packageVersionCheckerService.GetLatestVersionOrNullAsync("Volo.Abp.Core", includeReleaseCandidates: true);
|
|
|
|
var latestVersionFromMyGet = await GetLatestVersionFromMyGet("Volo.Abp.Core");
|
|
|
|
var latestVersionFromMyGet = await GetLatestVersionFromMyGet("Volo.Abp.Core");
|
|
|
|
|
|
|
|
|
|
|
|
using (var fs = File.Open(projectPath, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
|
|
|
|
using (var fs = File.Open(projectPath, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
|
|
|
@ -95,8 +95,8 @@ public class VoloNugetPackagesVersionUpdater : ITransientDependency
|
|
|
|
includeNightlyPreviews,
|
|
|
|
includeNightlyPreviews,
|
|
|
|
includeReleaseCandidates,
|
|
|
|
includeReleaseCandidates,
|
|
|
|
switchToStable,
|
|
|
|
switchToStable,
|
|
|
|
latestVersionFromNuget,
|
|
|
|
latestVersionInfo.Version,
|
|
|
|
latestReleaseCandidateVersionFromNuget,
|
|
|
|
latestReleaseCandidateVersionInfo.Version,
|
|
|
|
latestVersionFromMyGet,
|
|
|
|
latestVersionFromMyGet,
|
|
|
|
version);
|
|
|
|
version);
|
|
|
|
|
|
|
|
|
|
|
@ -137,11 +137,11 @@ public class VoloNugetPackagesVersionUpdater : ITransientDependency
|
|
|
|
|
|
|
|
|
|
|
|
protected virtual async Task<bool> SpecifiedVersionExists(string version, string packageId)
|
|
|
|
protected virtual async Task<bool> SpecifiedVersionExists(string version, string packageId)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var versionList = await _nuGetService.GetPackageVersionListAsync(packageId);
|
|
|
|
var versionList = await _packageVersionCheckerService.GetPackageVersionListAsync(packageId);
|
|
|
|
|
|
|
|
|
|
|
|
if (versionList.All(v => !v.Equals(version, StringComparison.OrdinalIgnoreCase)))
|
|
|
|
if (versionList.All(v => !v.Equals(version, StringComparison.OrdinalIgnoreCase)))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
versionList = await _nuGetService.GetPackageVersionListAsync(packageId, true);
|
|
|
|
versionList = await _packageVersionCheckerService.GetPackageVersionListAsync(packageId, true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return versionList.Any(v => v.Equals(version, StringComparison.OrdinalIgnoreCase));
|
|
|
|
return versionList.Any(v => v.Equals(version, StringComparison.OrdinalIgnoreCase));
|
|
|
@ -240,13 +240,15 @@ public class VoloNugetPackagesVersionUpdater : ITransientDependency
|
|
|
|
SemanticVersion latestVersion;
|
|
|
|
SemanticVersion latestVersion;
|
|
|
|
if (currentSemanticVersion.IsPrerelease && !switchToStable)
|
|
|
|
if (currentSemanticVersion.IsPrerelease && !switchToStable)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
latestVersion = latestNugetReleaseCandidateVersion == null || isLeptonXPackage ?
|
|
|
|
latestVersion = latestNugetReleaseCandidateVersion == null || isLeptonXPackage
|
|
|
|
await _nuGetService.GetLatestVersionOrNullAsync(packageId, includeReleaseCandidates: true) : latestNugetReleaseCandidateVersion;
|
|
|
|
? (await _packageVersionCheckerService.GetLatestVersionOrNullAsync(packageId, includeReleaseCandidates: true))?.Version
|
|
|
|
|
|
|
|
: latestNugetReleaseCandidateVersion;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
latestVersion = latestNugetVersion == null || isLeptonXPackage ?
|
|
|
|
latestVersion = latestNugetVersion == null || isLeptonXPackage
|
|
|
|
await _nuGetService.GetLatestVersionOrNullAsync(packageId, includeReleaseCandidates: includeReleaseCandidates) : latestNugetVersion;
|
|
|
|
? (await _packageVersionCheckerService.GetLatestVersionOrNullAsync(packageId, includeReleaseCandidates: includeReleaseCandidates))?.Version
|
|
|
|
|
|
|
|
: latestNugetVersion;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (latestVersion != null && (currentSemanticVersion < latestVersion || (currentSemanticVersion.IsPrerelease && switchToStable)))
|
|
|
|
if (latestVersion != null && (currentSemanticVersion < latestVersion || (currentSemanticVersion.IsPrerelease && switchToStable)))
|
|
|
|