From 8a41b5bc8303356140d76f8dbc7e319ca875db76 Mon Sep 17 00:00:00 2001 From: walon Date: Tue, 2 Nov 2021 17:24:43 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91Luban.Clien?= =?UTF-8?q?t=E6=96=B0=E5=A2=9E=20--generateonly=20=E9=80=89=E9=A1=B9?= =?UTF-8?q?=E3=80=82=E5=8F=AA=E7=94=9F=E6=88=90=EF=BC=8C=E4=B8=8D=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E7=94=9F=E6=88=90=E7=BB=93=E6=9E=9C=EF=BC=8C=E5=8F=AF?= =?UTF-8?q?=E7=94=A8=E4=BA=8E=E5=8D=95=E7=BA=AF=E5=9C=B0=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E7=94=9F=E6=88=90=E8=BF=87=E7=A8=8B=EF=BC=8C=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=90=88=E6=B3=95=E6=80=A7=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...nstall_manual.md => luban_comman_tools.md} | 1 + src/Luban.Client/Source/Program.cs | 31 +++++++++++++------ src/Luban.ClientServer/Program.cs | 31 +++++++++++++------ 3 files changed, 43 insertions(+), 20 deletions(-) rename docs/{luban_install_manual.md => luban_comman_tools.md} (98%) diff --git a/docs/luban_install_manual.md b/docs/luban_comman_tools.md similarity index 98% rename from docs/luban_install_manual.md rename to docs/luban_comman_tools.md index 3b26cf1..0445347 100644 --- a/docs/luban_install_manual.md +++ b/docs/luban_comman_tools.md @@ -63,6 +63,7 @@ Luban工具有两种部属方式。 -l,--loglevel 可选参数。 日志级别。默认为INFO。有效值有: TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF -c,--cachemetafile 可选参数。 meta缓存文件名。 默认为 .cache.meta -w,--watch 可选参数。 监测目录或者目录列表,以逗号';'分隔。当开启此选项后,生成结束后不会退出程序,而是进入自动生成模式。监听到目标目录发生变化后,自动重新运行生成。省去改动后手动运行生成脚本的麻烦。 + --generateonly 可选参数。 仅生成。不从服务器下载生成结果。可以用于检查服务器是否能成功生成。 -h,--help 可选参数。显示帮助信息 -- 必选参数。 从此参数起,便是 不同job的特有选项 diff --git a/src/Luban.Client/Source/Program.cs b/src/Luban.Client/Source/Program.cs index 9939f83..b61bc57 100644 --- a/src/Luban.Client/Source/Program.cs +++ b/src/Luban.Client/Source/Program.cs @@ -30,6 +30,8 @@ namespace Luban.Client public string CacheMetaInfoFile { get; set; } = ".cache.meta"; public string[] WatchDir { get; set; } + + public bool GenerateOnly { get; set; } } private static NLog.Logger s_logger; @@ -51,6 +53,7 @@ Options: -l --loglevel log level. default INFO. avaliable value: TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF -c --cachemetafile cache meta file name. default is '.cache.meta' -w --watch watch data change and regenerate. + --generateonly generate only. not download generate results. -h --help show usage "); } @@ -117,6 +120,11 @@ Options: ops.WatchDir = args[++i].Split(';', ','); break; } + case "--generateonly": + { + ops.GenerateOnly = true; + break; + } case "--": { ++i; @@ -271,19 +279,22 @@ Options: return 1; } - var tasks = new List(); - - foreach (var fg in res.FileGroups) + if (!options.GenerateOnly) { - tasks.Add(DownloadFileUtil.DownloadGeneratedFiles(fg.Dir, fg.Files)); - } + var tasks = new List(); - foreach (var f in res.ScatteredFiles) - { - tasks.Add(DownloadFileUtil.DownloadGeneratedFile(f)); - } + foreach (var fg in res.FileGroups) + { + tasks.Add(DownloadFileUtil.DownloadGeneratedFiles(fg.Dir, fg.Files)); + } - Task.WaitAll(tasks.ToArray()); + foreach (var f in res.ScatteredFiles) + { + tasks.Add(DownloadFileUtil.DownloadGeneratedFile(f)); + } + + Task.WaitAll(tasks.ToArray()); + } return 0; } } diff --git a/src/Luban.ClientServer/Program.cs b/src/Luban.ClientServer/Program.cs index 6441517..5c60058 100644 --- a/src/Luban.ClientServer/Program.cs +++ b/src/Luban.ClientServer/Program.cs @@ -34,6 +34,8 @@ namespace Luban.ClientServer public string[] WatchDir { get; set; } + public bool GenerateOnly { get; set; } + [Option('t', "template_search_path", Required = false, HelpText = "string template search path.")] public string TemplateSearchPath { get; set; } } @@ -55,6 +57,7 @@ Options: -l --loglevel log level. default INFO. avaliable value: TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF -c --cachemetafile cache meta file name. default is '.cache.meta' -w --watch watch data change and regenerate. + --generateonly generate only. not download generate results. -t --template_search_path additional template search path -h --help show usage "); @@ -122,6 +125,11 @@ Options: ops.WatchDir = args[++i].Split(';', ','); break; } + case "--generateonly": + { + ops.GenerateOnly = true; + break; + } case "-t": case "--template_search_path": { @@ -305,19 +313,22 @@ Options: return 1; } - var tasks = new List(); - - foreach (var fg in res.FileGroups) + if (!options.GenerateOnly) { - tasks.Add(DownloadFileUtil.DownloadGeneratedFiles(fg.Dir, fg.Files)); - } + var tasks = new List(); - foreach (var f in res.ScatteredFiles) - { - tasks.Add(DownloadFileUtil.DownloadGeneratedFile(f)); - } + foreach (var fg in res.FileGroups) + { + tasks.Add(DownloadFileUtil.DownloadGeneratedFiles(fg.Dir, fg.Files)); + } - Task.WaitAll(tasks.ToArray()); + foreach (var f in res.ScatteredFiles) + { + tasks.Add(DownloadFileUtil.DownloadGeneratedFile(f)); + } + + Task.WaitAll(tasks.ToArray()); + } return 0; } }