diff --git a/kyaml/yaml/serialization.go b/kyaml/yaml/serialization.go deleted file mode 100644 index 26f15d386..000000000 --- a/kyaml/yaml/serialization.go +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2019 The Kubernetes Authors. -// SPDX-License-Identifier: Apache-2.0 - -package yaml - -import "sigs.k8s.io/kustomize/kyaml/internal/forked/github.com/go-yaml/yaml" - -func DoSerializationHacksOnNodes(nodes []*RNode) { - for _, node := range nodes { - DoSerializationHacks(node.YNode()) - } -} - -// DoSerializationHacks addresses a bug in yaml V3 upstream, it parses the yaml node, -// and rearranges the head comments of the children of sequence node. -// Refer to https://github.com/go-yaml/yaml/issues/587 for more details -func DoSerializationHacks(node *yaml.Node) { - switch node.Kind { - case DocumentNode: - for _, node := range node.Content { - DoSerializationHacks(node) - } - - case MappingNode: - for _, node := range node.Content { - DoSerializationHacks(node) - } - - case SequenceNode: - for _, node := range node.Content { - // for each child mapping node, transfer the head comment of it's - // first child scalar node to the head comment of itself - // This is necessary to address serialization issue - // https://github.com/go-yaml/yaml/issues/587 in go-yaml.v3 - // Remove this hack when the issue has been resolved - if len(node.Content) > 0 && node.Content[0].Kind == ScalarNode { - // Don't clobber the head comment if it's not empty. - if node.HeadComment == "" && node.Content[0].HeadComment != "" { - node.HeadComment = node.Content[0].HeadComment - } - node.Content[0].HeadComment = "" - } - DoSerializationHacks(node) - } - } -}