diff --git a/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/AddModuleCommand.cs b/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/AddModuleCommand.cs index a1d92984..484e6e08 100644 --- a/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/AddModuleCommand.cs +++ b/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/AddModuleCommand.cs @@ -14,10 +14,9 @@ namespace Yi.Abp.Tool.Commands public string? Description { get; } public void CommandLineApplication(CommandLineApplication application) { - var modulePathOption= application.Option("-modulePath", "模块路径",CommandOptionType.SingleValue); + var modulePathOption= application.Option("-p|--modulePath", "模块路径",CommandOptionType.SingleValue); var solutionOption= application.Option("-s|--solution", "解决方案路径",CommandOptionType.SingleValue); - var moduleNameArgument = application.Argument("moduleName", "模块名", null); - + var moduleNameArgument = application.Argument("moduleName", "模块名", (_) => { }); application.OnExecute(() => { var modulePath = ""; @@ -27,25 +26,25 @@ namespace Yi.Abp.Tool.Commands { modulePath = moduleName.ToLower().Replace(".", "-"); } - - + + //解决方案默认在模块文件夹上一级,也可以通过s进行指定 var slnPath = string.Empty; - + if (!solutionOption.HasValue()) { slnPath = "../"; } - + CheckFirstSlnPath(slnPath); var dotnetSlnCommandPart1 = $"dotnet sln \"{slnPath}\" add \"{modulePath}\\{moduleName}."; var dotnetSlnCommandPart2 = new List() { "Application", "Application.Contracts", "Domain", "Domain.Shared", "SqlSugarCore" }; var paths = dotnetSlnCommandPart2.Select(x => $@"{modulePath}\{moduleName}." + x).ToArray(); CheckPathExist(paths); - + var cmdCommands = dotnetSlnCommandPart2.Select(x => dotnetSlnCommandPart1 + x+"\"").ToArray(); StartCmd(cmdCommands); - + Console.WriteLine("恭喜~模块添加成功!"); return 0; }); diff --git a/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/NewCommand.cs b/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/NewCommand.cs index 6dfa057d..d36c6419 100644 --- a/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/NewCommand.cs +++ b/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/NewCommand.cs @@ -26,65 +26,69 @@ namespace Yi.Abp.Tool.Commands public void CommandLineApplication(CommandLineApplication application) { - var templateTypeOption = application.Option("-t", "模板类型", CommandOptionType.SingleValue); - var csfOption = application.Option("csf", "是否创建解决方案", CommandOptionType.SingleValue); - var moduleNameArgument = application.Argument("moduleName", "模块名", null); + var templateTypeOption = application.Option("-t|--moduleType", "模板类型", CommandOptionType.SingleValue); + var csfOption = application.Option("-csf", "是否创建解决方案", CommandOptionType.SingleValue); + var moduleNameArgument = application.Argument("moduleName", "模块名", (_) => { }); - #region 处理生成类型 - - var id = Guid.NewGuid().ToString("N"); - var zipPath = string.Empty; - byte[] fileByteArray; - - var templateType = templateTypeOption.HasValue() ? templateTypeOption.Value() : "module"; - if (templateType == "module") + application.OnExecute(() => { - //代表模块生成 - fileByteArray = (_templateGenService.CreateModuleAsync(new TemplateGenCreateInputDto + #region 处理生成类型 + + var id = Guid.NewGuid().ToString("N"); + var zipPath = string.Empty; + byte[] fileByteArray; + + var templateType = templateTypeOption.HasValue() ? templateTypeOption.Value() : "module"; + if (templateType == "module") { - Name = moduleNameArgument.Value, - }).Result); - } - else - { - //代表模块生成 - fileByteArray = _templateGenService.CreateProjectAsync(new TemplateGenCreateInputDto + //代表模块生成 + fileByteArray = (_templateGenService.CreateModuleAsync(new TemplateGenCreateInputDto + { + Name = moduleNameArgument.Value, + }).Result); + } + else { - Name = moduleNameArgument.Value, - }).Result; - } - - zipPath = $"{id}.zip"; - File.WriteAllBytes(zipPath, fileByteArray); - - #endregion - - #region 处理解决方案文件夹 - - //默认是当前目录 - var unzipDirPath = "./"; - //如果创建解决方案文件夹 - if (csfOption.HasValue()) - { - var moduleName = moduleNameArgument.Value.ToLower().Replace(".", "-"); - - if (Directory.Exists(moduleName)) - { - throw new UserFriendlyException($"文件夹[{moduleName}]已存在,请删除后重试"); + //代表模块生成 + fileByteArray = _templateGenService.CreateProjectAsync(new TemplateGenCreateInputDto + { + Name = moduleNameArgument.Value, + }).Result; } - Directory.CreateDirectory(moduleName); - unzipDirPath = moduleName; - } + zipPath = $"{id}.zip"; + File.WriteAllBytes(zipPath, fileByteArray); - #endregion + #endregion - ZipFile.ExtractToDirectory(zipPath, unzipDirPath); - //创建压缩包后删除临时目录 - File.Delete(zipPath); + #region 处理解决方案文件夹 - Console.WriteLine("恭喜~模块已生成!"); + //默认是当前目录 + var unzipDirPath = "./"; + //如果创建解决方案文件夹 + if (csfOption.HasValue()) + { + var moduleName = moduleNameArgument.Value.ToLower().Replace(".", "-"); + + if (Directory.Exists(moduleName)) + { + throw new UserFriendlyException($"文件夹[{moduleName}]已存在,请删除后重试"); + } + + Directory.CreateDirectory(moduleName); + unzipDirPath = moduleName; + } + + #endregion + + ZipFile.ExtractToDirectory(zipPath, unzipDirPath); + //创建压缩包后删除临时目录 + File.Delete(zipPath); + + Console.WriteLine("恭喜~模块已生成!"); + return 0; + }); } } } \ No newline at end of file diff --git a/Yi.Abp.Net8/tool/Yi.Abp.Tool/Program.cs b/Yi.Abp.Net8/tool/Yi.Abp.Tool/Program.cs index fc550bc9..36c67263 100644 --- a/Yi.Abp.Net8/tool/Yi.Abp.Tool/Program.cs +++ b/Yi.Abp.Net8/tool/Yi.Abp.Tool/Program.cs @@ -20,11 +20,13 @@ class Program // args = ["clear", "-path", "D:\\code\\csharp\\source\\Yi\\Yi.Abp.Net8\\src"]; //帮助 - args = ["-h"]; + //args = ["-h"]; //版本 // args = ["-v"]; //清理 // args = ["clear"]; + //添加模块 + args = ["add-module", "kkk"]; #endif try {