Skip to main content
Version: Next

Cascading options (-x / xargs)

Pipeline modules accept extension parameters via -x key=value (--xargs). Use codeTarget / dataTarget prefixes for “global default + per-target override.”

Standard CLI flags: CLI reference. Everyday examples: Common CLI.

Full xargs table

Built-in modules commonly use the following (plugins may add more; follow runtime hints):

OptionDescriptionValues / notesExample
{codeTarget}.outputCodeDirCode output directoryPath-x cs-bin.outputCodeDir=Assets/Gen
outputCodeDirSame (global shorthand)Path-x outputCodeDir=Assets/Gen
{dataTarget}.outputDataDirData output directoryPath-x json.outputDataDir=Assets/Data
outputDataDirSame (global shorthand)Path-x outputDataDir=Assets/Data
codeStyleNaming style; built-in targets usually set thisnone, csharp-default, java-default, go-default, lua-default, typescript-default, cpp-default, python-default, dart-default-x codeStyle=csharp-default
namingConvention.{codeTarget}.{location}Override naming per target/location; {codeTarget} from -c; location in Code stylenone, pascal, camel, upper, snake; omit {codeTarget} for all targets-x namingConvention.cs-bin.field=pascal
dataExporterData exporternull, default-x dataExporter=default
codePostprocessCode post-processors (multiple)Comma-separated; none built-in-x codePostprocess=a,b,c
dataPostprocessData post-processors (multiple)Comma-separated; none built-in-x dataPostprocess=a,b
outputSaverFinal file saverlocal (default), null (no files, validate only)-x outputSaver=null
outputSaver.{codeTarget\|dataTarget}.cleanUpOutputDirClean stale files in output dir before writeDefault true; 0/false to disable-x outputSaver.cs-bin.cleanUpOutputDir=0
l10n.providerL10n text provider; unset disables text validation/replacementdefault; may use *@path forms-x l10n.provider=default
l10n.textFile.pathL10n text data file; usually required when provider is setFile path-x l10n.textFile.path=Datas/l10n/texts.json
l10n.textFile.keyFieldNameKey field in text itemsField name-x l10n.textFile.keyFieldName=key
l10n.textFile.languageFieldNameLanguage column fieldField name-x l10n.textFile.languageFieldName=en
l10n.languageFieldNameSame (alias)Field name-x l10n.languageFieldName=en
l10n.convertTextKeyToValueStatic l10n: replace keys with translated text1/true-x l10n.convertTextKeyToValue=1
l10n.textListFileFile listing all text keys in configPath; with dataTarget text-list-x l10n.textListFile=keys.txt
pathValidator.rootDirRoot for path validator asset searchPath-x pathValidator.rootDir=Assets
{code\|data}.lineEndingLine ending for text outputs; ignored for bin/bsonCR, LF, CRLF; default Environment.NewLine-x data.lineEnding=LF
json.compactCompact JSON without indentation0/1/true/false; default 0-x json.compact=1
{dataTarget}.fileExtOutput data file extensionExtension-x bin.fileExt=bytes
{codeTarget\|dataTarget}.fileEncodingOutput file encodinge.g. gb2312, utf-8-x lua.fileEncoding=gb2312
forceLoadDatasLoad data even without dataTarget (same as -f)1/true-x forceLoadDatas=1
lubanGoModuleGo module path for generated codeGo module name-x lubanGoModule=demo/luban
note
  • Since v2.12.0, {dataTarget}.outputDataExtension was removed; use {dataTarget}.fileExt.
  • When generating multiple code/data targets, set separate *.outputCodeDir / *.outputDataDir per target to avoid overwrite.

OutputSaver

ValueBehavior
localDefault; write to local output directories
nullWrite no files; pair with no dataTarget + -f or forceLoadDatas=1 for validate-only

Example (validate only):

dotnet Luban.dll -t all -f --conf luban.conf -x outputSaver=null

Cascading prefix example

# Global default + per-target override
-x outputCodeDir=Gen ^
-x cs-bin.outputCodeDir=Assets/Gen ^
-x java-bin.outputCodeDir=java/gen ^
-x outputDataDir=Data ^
-x bin.outputDataDir=Data/bytes

SchemaCollector / Pipeline

NameNotes
default (schemaCollector)DefaultSchemaCollector, legacy-compatible definition format
default (pipeline)DefaultPipeline; custom pipeline plugins supported

Set via -s / -p; see CLI reference.