mirror of https://github.com/databricks/cli.git
fix: Use `convert.FromTyped` to generate dyn.Value
This commit is contained in:
parent
00164a8dbf
commit
a579b1cd03
|
@ -6,7 +6,6 @@ import (
|
||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/ghodss/yaml"
|
|
||||||
yaml3 "gopkg.in/yaml.v3"
|
yaml3 "gopkg.in/yaml.v3"
|
||||||
|
|
||||||
"github.com/databricks/cli/libs/dyn"
|
"github.com/databricks/cli/libs/dyn"
|
||||||
|
@ -109,12 +108,21 @@ func (d *annotationHandler) sync(outputPath string) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
existing, err := yamlloader.LoadYAML("", bytes.NewBuffer(existingFile))
|
||||||
missingAnnotations, err := yaml.Marshal(d.empty)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
err = saveYamlWithStyle(outputPath, existingFile, missingAnnotations)
|
missingAnnotations, err := convert.FromTyped(&d.empty, dyn.NilValue)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
output, err := merge.Merge(existing, missingAnnotations)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = saveYamlWithStyle(outputPath, output)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -138,30 +146,15 @@ func assingAnnotation(s *jsonschema.Schema, a annotation) {
|
||||||
s.Enum = a.Enum
|
s.Enum = a.Enum
|
||||||
}
|
}
|
||||||
|
|
||||||
func saveYamlWithStyle(outputPath string, input []byte, overrides []byte) error {
|
func saveYamlWithStyle(outputPath string, input dyn.Value) error {
|
||||||
inputDyn, err := yamlloader.LoadYAML("", bytes.NewBuffer(input))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if len(overrides) != 0 {
|
|
||||||
overrideDyn, err := yamlloader.LoadYAML("", bytes.NewBuffer(overrides))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
inputDyn, err = merge.Merge(inputDyn, overrideDyn)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
style := map[string]yaml3.Style{}
|
style := map[string]yaml3.Style{}
|
||||||
file, _ := inputDyn.AsMap()
|
file, _ := input.AsMap()
|
||||||
for _, v := range file.Keys() {
|
for _, v := range file.Keys() {
|
||||||
style[v.MustString()] = yaml3.LiteralStyle
|
style[v.MustString()] = yaml3.LiteralStyle
|
||||||
}
|
}
|
||||||
|
|
||||||
saver := yamlsaver.NewSaverWithStyle(style)
|
saver := yamlsaver.NewSaverWithStyle(style)
|
||||||
err = saver.SaveAsYAML(file, outputPath, true)
|
err := saver.SaveAsYAML(file, outputPath, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ import (
|
||||||
|
|
||||||
"github.com/ghodss/yaml"
|
"github.com/ghodss/yaml"
|
||||||
|
|
||||||
|
"github.com/databricks/cli/libs/dyn/yamlloader"
|
||||||
"github.com/databricks/cli/libs/jsonschema"
|
"github.com/databricks/cli/libs/jsonschema"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -147,7 +148,11 @@ func (p *openapiParser) extractAnnotations(typ reflect.Type, outputPath, overrid
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
err = saveYamlWithStyle(overridesPath, b, []byte{})
|
o, err := yamlloader.LoadYAML("", bytes.NewBuffer(b))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = saveYamlWithStyle(overridesPath, o)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue