diff --git a/src/Luban.Job.Cfg/Source/GenArgs.cs b/src/Luban.Job.Cfg/Source/GenArgs.cs index 8d8baaf..0295164 100644 --- a/src/Luban.Job.Cfg/Source/GenArgs.cs +++ b/src/Luban.Job.Cfg/Source/GenArgs.cs @@ -27,6 +27,9 @@ namespace Luban.Job.Cfg [Option("template_name", Required = false, HelpText = "template name. use with gen_types=data_template")] public string TemplateName { get; set; } + [Option("data_file_extension", Required = false, HelpText = "data file name extension. default choose by gen_type")] + public string DataFileExtension { get; set; } + [Option('s', "service", Required = true, HelpText = "service")] public string Service { get; set; } diff --git a/src/Luban.Job.Cfg/Source/Generate/DataScatterRender.cs b/src/Luban.Job.Cfg/Source/Generate/DataScatterRender.cs index d684450..238c822 100644 --- a/src/Luban.Job.Cfg/Source/Generate/DataScatterRender.cs +++ b/src/Luban.Job.Cfg/Source/Generate/DataScatterRender.cs @@ -26,7 +26,7 @@ namespace Luban.Job.Cfg.Generate { ctx.Tasks.Add(Task.Run(() => { - var file = RenderFileUtil.GetOutputFileName(genType, table.OutputDataFile); + var file = RenderFileUtil.GetOutputFileName(genType, table.OutputDataFile, ctx.GenArgs.DataFileExtension); var records = ctx.Assembly.GetTableExportDataList(table); if (!FileRecordCacheManager.Ins.TryGetRecordOutputData(table, records, genType, out string md5)) { diff --git a/src/Luban.Job.Cfg/Source/Generate/TemplateDataScatterRender.cs b/src/Luban.Job.Cfg/Source/Generate/TemplateDataScatterRender.cs index f4ed52b..e9e452d 100644 --- a/src/Luban.Job.Cfg/Source/Generate/TemplateDataScatterRender.cs +++ b/src/Luban.Job.Cfg/Source/Generate/TemplateDataScatterRender.cs @@ -20,7 +20,7 @@ namespace Luban.Job.Cfg.Generate { ctx.Tasks.Add(Task.Run(() => { - var file = RenderFileUtil.GetOutputFileName(genType, table.OutputDataFile); + var file = RenderFileUtil.GetOutputFileName(genType, table.OutputDataFile, ctx.GenArgs.DataFileExtension); var records = ctx.Assembly.GetTableExportDataList(table); if (!FileRecordCacheManager.Ins.TryGetRecordOutputData(table, records, genType, out string md5)) { diff --git a/src/Luban.Job.Common/Source/Utils/RenderFileUtil.cs b/src/Luban.Job.Common/Source/Utils/RenderFileUtil.cs index 9d0b180..ef0d84b 100644 --- a/src/Luban.Job.Common/Source/Utils/RenderFileUtil.cs +++ b/src/Luban.Job.Common/Source/Utils/RenderFileUtil.cs @@ -135,9 +135,9 @@ namespace Luban.Job.Common.Utils throw new Exception($"not support output data type:{genType}"); } - public static string GetOutputFileName(string genType, string fileName) + public static string GetOutputFileName(string genType, string fileName, string fileExtension) { - return $"{fileName}.{GetOutputFileSuffix(genType)}"; + return $"{fileName}.{(string.IsNullOrEmpty(fileExtension) ? GetOutputFileSuffix(genType) : fileExtension)}"; } } }