luban/src/Luban.Job.Cfg/Source/GenArgs.cs

81 lines
4.5 KiB
C#

using CommandLine;
using Luban.Job.Common;
namespace Luban.Job.Cfg
{
public class GenArgs : GenArgsBase
{
[Option('s', "service", Required = true, HelpText = "service")]
public string Service { get; set; }
[Option("gen_types", Required = true, HelpText = "code_cs_bin,code_cs_dotnet_json,code_cs_unity_json,code_cs_unity_editor_json,code_lua_bin,code_java_bin,code_java_json,code_go_bin,code_go_json,code_cpp_bin,code_cpp_ue_editor_json,code_python2_json,code_python3_json,code_typescript_bin,code_typescript_json,code_rust_json,code_protobuf,code_template,code_flatbuffers,data_bin,data_lua,data_json,data_json2,data_json_monolithic,data_resources,data_template,data_protobuf_bin,data_protobuf_json,data_flatbuffers_json,convert_json,convert_lua,convert_xlsx . can be multi")]
public string GenType { get; set; }
[Option("input_data_dir", Required = true, HelpText = "input data dir")]
public string InputDataDir { get; set; }
[Option('v', "validate_root_dir", Required = false, HelpText = "validate root directory")]
public string ValidateRootDir { get; set; }
[Option("output_data_dir", Required = false, HelpText = "output data directory")]
public string OutputDataDir { get; set; }
[Option("input:convert:data_dir", Required = false, HelpText = "override input data dir with convert data dir")]
public string InputConvertDataDir { get; set; }
[Option("output:tables", Required = false, HelpText = "override tables in export group with this list")]
public string OutputTables { get; set; }
[Option("output:include_tables", Required = false, HelpText = "include tables")]
public string OutputIncludeTables { get; set; }
[Option("output:exclude_tables", Required = false, HelpText = "exclude tables")]
public string OutputExcludeTables { get; set; }
[Option("output:data:resource_list_file", Required = false, HelpText = "output resource list file")]
public string OutputDataResourceListFile { get; set; }
[Option("output:data:json_monolithic_file", Required = false, HelpText = "output monolithic json file")]
public string OutputDataJsonMonolithicFile { get; set; }
[Option("output:data:file_extension", Required = false, HelpText = "data file name extension. default choose by gen_type")]
public string OutputDataFileExtension { get; set; }
[Option("output:data:compact_json", Required = false, HelpText = "output compact json data. drop blank characters. ")]
public bool OutputDataCompactJson { get; set; }
[Option("output:exclude_tags", Required = false, HelpText = "export exclude tags. default export all tags")]
public string OutputExcludeTags { get; set; } = "";
[Option("template:data:file", Required = false, HelpText = "template name. use with gen_types=data_template")]
public string TemplateDataFile { get; set; }
[Option("template:code:dir", Required = false, HelpText = "code template dir. use with gen_types=code_template")]
public string TemplateCodeDir { get; set; }
[Option("template:convert:file", Required = false, HelpText = "convert template file name. use with gen_tpes=convert_template")]
public string TemplateConvertFile { get; set; }
[Option("output:convert:file_extension", Required = false, HelpText = "output convert file extension. default guess by convert template name")]
public string OutputConvertFileExtension { get; set; }
[Option("l10n:timezone", Required = false, HelpText = "timezone")]
public string L10nTimeZone { get; set; }
[Option("l10n:input_text_files", Required = false, HelpText = "input l10n text table files. can be multi, sep by ','")]
public string L10nInputTextTableFiles { get; set; }
[Option("l10n:text_field_name", Required = false, HelpText = "text value field name of text table files. default is text")]
public string L10nTextValueFieldName { get; set; }
[Option("l10n:output_not_translated_text_file", Required = false, HelpText = "the file save not translated l10n texts.")]
public string L10nOutputNotTranslatedTextFile { get; set; }
[Option("l10n:patch", Required = false, HelpText = "patch name")]
public string L10nPatchName { get; set; }
[Option("l10n:patch_input_data_dir", Required = false, HelpText = "patch input data root dir")]
public string L10nPatchInputDataDir { get; set; }
}
}