From 2e7093e67fd847fa44458f5a8d55aa0685e5f13a Mon Sep 17 00:00:00 2001 From: Jingfang Liu Date: Fri, 27 Jul 2018 15:26:48 -0700 Subject: [PATCH] ignore the empty YAML object --- pkg/resmap/resmap.go | 12 ++++++++---- pkg/resmap/resmap_test.go | 4 ++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pkg/resmap/resmap.go b/pkg/resmap/resmap.go index 1329ed72e..59a1cb3c7 100644 --- a/pkg/resmap/resmap.go +++ b/pkg/resmap/resmap.go @@ -23,6 +23,7 @@ import ( "io" "reflect" "sort" + "strings" "github.com/ghodss/yaml" "github.com/golang/glog" @@ -202,13 +203,12 @@ func newResourceSliceFromBytes(in []byte) ([]*resource.Resource, error) { decoder := k8syaml.NewYAMLOrJSONDecoder(bytes.NewReader(in), 1024) var result []*resource.Resource var err error - for { + for err == nil || isEmptyYamlError(err) { var out unstructured.Unstructured err = decoder.Decode(&out) - if err != nil { - break + if err == nil { + result = append(result, resource.NewResourceFromUnstruct(out)) } - result = append(result, resource.NewResourceFromUnstruct(out)) } if err != io.EOF { return nil, err @@ -272,3 +272,7 @@ func MergeWithOverride(maps ...ResMap) (ResMap, error) { } return result, nil } + +func isEmptyYamlError(err error) bool { + return strings.Contains(err.Error(), "is missing in 'null'") +} diff --git a/pkg/resmap/resmap_test.go b/pkg/resmap/resmap_test.go index 19849000a..774a32198 100644 --- a/pkg/resmap/resmap_test.go +++ b/pkg/resmap/resmap_test.go @@ -78,6 +78,10 @@ apiVersion: apps/v1 kind: Deployment metadata: name: dply2 +--- +# some comment +--- +--- ` l := loadertest.NewFakeLoader("/home/seans/project")