|
|
|
|
@ -9,6 +9,7 @@ using Volo.Abp.Cli.NuGet;
|
|
|
|
|
using Volo.Abp.DependencyInjection;
|
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
|
using Microsoft.Extensions.Logging.Abstractions;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
namespace Volo.Abp.Cli.ProjectModification;
|
|
|
|
|
|
|
|
|
|
@ -41,17 +42,28 @@ public class VoloNugetPackagesVersionUpdater : ITransientDependency
|
|
|
|
|
|
|
|
|
|
async Task UpdateAsync(string filePath)
|
|
|
|
|
{
|
|
|
|
|
var fileContent = File.ReadAllText(filePath);
|
|
|
|
|
var updatedContent = await UpdateVoloPackagesAsync(fileContent,
|
|
|
|
|
includePreviews,
|
|
|
|
|
includeReleaseCandidates,
|
|
|
|
|
switchToStable,
|
|
|
|
|
latestVersionFromNuget,
|
|
|
|
|
latestReleaseCandidateVersionFromNuget,
|
|
|
|
|
latestVersionFromMyGet,
|
|
|
|
|
version);
|
|
|
|
|
|
|
|
|
|
File.WriteAllText(filePath, updatedContent);
|
|
|
|
|
using (var fs = File.Open(filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
|
|
|
|
|
using (var sr = new StreamReader(fs, Encoding.Default, true))
|
|
|
|
|
{
|
|
|
|
|
var fileContent = await sr.ReadToEndAsync();
|
|
|
|
|
|
|
|
|
|
var updatedContent = await UpdateVoloPackagesAsync(fileContent,
|
|
|
|
|
includePreviews,
|
|
|
|
|
includeReleaseCandidates,
|
|
|
|
|
switchToStable,
|
|
|
|
|
latestVersionFromNuget,
|
|
|
|
|
latestReleaseCandidateVersionFromNuget,
|
|
|
|
|
latestVersionFromMyGet,
|
|
|
|
|
version);
|
|
|
|
|
|
|
|
|
|
fs.Seek(0, SeekOrigin.Begin);
|
|
|
|
|
fs.SetLength(0);
|
|
|
|
|
using (var sw = new StreamWriter(fs, sr.CurrentEncoding))
|
|
|
|
|
{
|
|
|
|
|
sw.Write(updatedContent);
|
|
|
|
|
sw.Flush();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Task.WaitAll(projectPaths.Select(UpdateAsync).ToArray());
|
|
|
|
|
@ -70,27 +82,50 @@ public class VoloNugetPackagesVersionUpdater : ITransientDependency
|
|
|
|
|
var latestReleaseCandidateVersionFromNuget = await _nuGetService.GetLatestVersionOrNullAsync("Volo.Abp.Core", includeReleaseCandidates: true);
|
|
|
|
|
var latestVersionFromMyGet = await GetLatestVersionFromMyGet("Volo.Abp.Core");
|
|
|
|
|
|
|
|
|
|
var fileContent = File.ReadAllText(projectPath);
|
|
|
|
|
using (var fs = File.Open(projectPath, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
|
|
|
|
|
using (var sr = new StreamReader(fs, Encoding.Default, true))
|
|
|
|
|
{
|
|
|
|
|
var fileContent = await sr.ReadToEndAsync();
|
|
|
|
|
|
|
|
|
|
var updatedContent = await UpdateVoloPackagesAsync(fileContent,
|
|
|
|
|
includeNightlyPreviews,
|
|
|
|
|
includeReleaseCandidates,
|
|
|
|
|
switchToStable,
|
|
|
|
|
latestVersionFromNuget,
|
|
|
|
|
latestReleaseCandidateVersionFromNuget,
|
|
|
|
|
latestVersionFromMyGet,
|
|
|
|
|
version);
|
|
|
|
|
|
|
|
|
|
var updatedContent = await UpdateVoloPackagesAsync(fileContent,
|
|
|
|
|
includeNightlyPreviews,
|
|
|
|
|
includeReleaseCandidates,
|
|
|
|
|
switchToStable,
|
|
|
|
|
latestVersionFromNuget,
|
|
|
|
|
latestReleaseCandidateVersionFromNuget,
|
|
|
|
|
latestVersionFromMyGet,
|
|
|
|
|
version);
|
|
|
|
|
fs.Seek(0, SeekOrigin.Begin);
|
|
|
|
|
fs.SetLength(0);
|
|
|
|
|
|
|
|
|
|
File.WriteAllText(projectPath, updatedContent);
|
|
|
|
|
using (var sw = new StreamWriter(fs, sr.CurrentEncoding))
|
|
|
|
|
{
|
|
|
|
|
sw.Write(updatedContent);
|
|
|
|
|
sw.Flush();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected virtual async Task UpdateInternalAsync(string projectPath, bool includeNightlyPreviews = false, bool includeReleaseCandidates = false, bool switchToStable = false)
|
|
|
|
|
{
|
|
|
|
|
var fileContent = File.ReadAllText(projectPath);
|
|
|
|
|
var updatedContent = await UpdateVoloPackagesAsync(fileContent, includeNightlyPreviews, includeReleaseCandidates, switchToStable);
|
|
|
|
|
using (var fs = File.Open(projectPath, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
|
|
|
|
|
using (var sr = new StreamReader(fs, Encoding.Default, true))
|
|
|
|
|
{
|
|
|
|
|
var fileContent = await sr.ReadToEndAsync();
|
|
|
|
|
|
|
|
|
|
var updatedContent = await UpdateVoloPackagesAsync(fileContent, includeNightlyPreviews, includeReleaseCandidates, switchToStable);
|
|
|
|
|
|
|
|
|
|
fs.Seek(0, SeekOrigin.Begin);
|
|
|
|
|
fs.SetLength(0);
|
|
|
|
|
|
|
|
|
|
File.WriteAllText(projectPath, updatedContent);
|
|
|
|
|
using (var sw = new StreamWriter(fs, sr.CurrentEncoding))
|
|
|
|
|
{
|
|
|
|
|
sw.Write(updatedContent);
|
|
|
|
|
sw.Flush();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected virtual async Task<bool> SpecifiedVersionExists(string version, string packageId)
|
|
|
|
|
|