diff --git a/demo/test.yaml b/demo/test.yaml index 5d2803843404c524776e5e26cfee8ca0d238c3e4..1fc5b2eb86d30dca2b77bc35e4958aaa5c5f4329 100644 --- a/demo/test.yaml +++ b/demo/test.yaml @@ -27,7 +27,4 @@ fields: postfix: "]" - field: field_nested_refer - from: custom.ip.private.yaml - use: all - prefix: "[" - postfix: "]" \ No newline at end of file + prefix: "[" \ No newline at end of file diff --git a/src/gen/definition.go b/src/gen/definition.go index 4043de41be2e040df3be83659ef15db8c4b23bae..f61b75312e0981bf6fcae3b8984d724db16e1bbc 100644 --- a/src/gen/definition.go +++ b/src/gen/definition.go @@ -46,6 +46,7 @@ func LoadConfigDef(defaultFile, configFile string, fieldsToExport *[]string) mod return configDef } + isSetFieldsToExport := false // use all fields from default if len(*fieldsToExport) == 0 { if len(defaultDef.Fields) >0 { @@ -59,9 +60,17 @@ func LoadConfigDef(defaultFile, configFile string, fieldsToExport *[]string) mod *fieldsToExport = append(*fieldsToExport, field.Field) } } + } else { + isSetFieldsToExport = true + } + + mergerDefine(&defaultDef, &configDef) + if !isSetFieldsToExport { + for _, field := range configDef.Fields { + *fieldsToExport = append(*fieldsToExport, field.Field) + } } - mergerDefine(&defaultDef, &configDef, fieldsToExport) orderFields(&defaultDef, *fieldsToExport) for _, field := range defaultDef.Fields { @@ -74,7 +83,7 @@ func LoadConfigDef(defaultFile, configFile string, fieldsToExport *[]string) mod return defaultDef } -func mergerDefine(defaultDef, configDef *model.DefData, fieldsToExport *[]string) { +func mergerDefine(defaultDef, configDef *model.DefData) { defaultFieldMap := map[string]*model.DefField{} configFieldMap := map[string]*model.DefField{} sortedKeys := make([]string, 0) @@ -92,8 +101,6 @@ func mergerDefine(defaultDef, configDef *model.DefData, fieldsToExport *[]string if exist { CopyField(*field, parent) defaultFieldMap[path] = parent - } else { - *fieldsToExport = append(*fieldsToExport, field.Field) } }