|
|
@ -2,10 +2,12 @@ using Microsoft.Extensions.Logging;
|
|
|
|
using Microsoft.Extensions.Logging.Abstractions;
|
|
|
|
using Microsoft.Extensions.Logging.Abstractions;
|
|
|
|
using Microsoft.Extensions.Options;
|
|
|
|
using Microsoft.Extensions.Options;
|
|
|
|
using System;
|
|
|
|
using System;
|
|
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.IO;
|
|
|
|
using System.IO;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Net.Http;
|
|
|
|
using System.Net.Http;
|
|
|
|
using System.Text;
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
using System.Text.RegularExpressions;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using Volo.Abp.Cli.Http;
|
|
|
|
using Volo.Abp.Cli.Http;
|
|
|
|
using Volo.Abp.DependencyInjection;
|
|
|
|
using Volo.Abp.DependencyInjection;
|
|
|
@ -60,14 +62,16 @@ namespace Volo.Abp.Cli.ProjectBuilding
|
|
|
|
Logger.LogWarning(string.Empty);
|
|
|
|
Logger.LogWarning(string.Empty);
|
|
|
|
Logger.LogWarning("Find the following template in your cache directory: ");
|
|
|
|
Logger.LogWarning("Find the following template in your cache directory: ");
|
|
|
|
|
|
|
|
|
|
|
|
foreach (var cacheFile in Directory.GetFiles(CliPaths.TemplateCache))
|
|
|
|
var templateList = GetLocalTemplates();
|
|
|
|
|
|
|
|
foreach (var cacheFile in templateList)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Logger.LogWarning($" {cacheFile}");
|
|
|
|
Logger.LogWarning($" {cacheFile.TemplateName}: {cacheFile.Version}");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Logger.LogWarning(string.Empty);
|
|
|
|
Logger.LogWarning(string.Empty);
|
|
|
|
throw new CliUsageException("Use command: abp new Acme.BookStore -v version");
|
|
|
|
throw new CliUsageException("Use command: abp new Acme.BookStore -v version");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
version = latestVersion;
|
|
|
|
version = latestVersion;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -210,11 +214,30 @@ namespace Volo.Abp.Cli.ProjectBuilding
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private static bool IsNetworkSource(string source)
|
|
|
|
private bool IsNetworkSource(string source)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return source.ToLower().StartsWith("http");
|
|
|
|
return source.ToLower().StartsWith("http");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private List<(string TemplateName, string Version)> GetLocalTemplates()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var templateList = new List<(string TemplateName, string Version)>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var stringBuilder = new StringBuilder();
|
|
|
|
|
|
|
|
foreach (var cacheFile in Directory.GetFiles(CliPaths.TemplateCache))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
stringBuilder.AppendLine(cacheFile);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var matches = Regex.Matches(stringBuilder.ToString(),"(app|app-pro|module|module-pro)-(.+).zip");
|
|
|
|
|
|
|
|
foreach (Match match in matches)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
templateList.Add((match.Groups[1].Value, match.Groups[2].Value));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return templateList;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class SourceCodeDownloadInputDto
|
|
|
|
public class SourceCodeDownloadInputDto
|
|
|
|
{
|
|
|
|
{
|
|
|
|
public string Name { get; set; }
|
|
|
|
public string Name { get; set; }
|
|
|
|