Preserve order when merging.

This commit is contained in:
Jeffrey Regan
2019-06-03 11:22:53 -07:00
committed by jregan
parent c094780aae
commit c63ebbdfc4
9 changed files with 254 additions and 271 deletions

View File

@@ -42,18 +42,14 @@ func (ra *ResAccumulator) Vars() []types.Var {
return ra.varSet.Set()
}
func (ra *ResAccumulator) MergeResourcesWithErrorOnIdCollision(
resources resmap.ResMap) (err error) {
ra.resMap, err = resmap.MergeWithErrorOnIdCollision(
resources, ra.resMap)
return err
func (ra *ResAccumulator) AppendAll(
resources resmap.ResMap) error {
return ra.resMap.AppendAll(resources)
}
func (ra *ResAccumulator) MergeResourcesWithOverride(
resources resmap.ResMap) (err error) {
ra.resMap, err = resmap.MergeWithOverride(
ra.resMap, resources)
return err
func (ra *ResAccumulator) AbsorbAll(
resources resmap.ResMap) error {
return ra.resMap.AbsorbAll(resources)
}
func (ra *ResAccumulator) MergeConfig(
@@ -71,7 +67,7 @@ func (ra *ResAccumulator) MergeVars(incoming []types.Var) error {
}
func (ra *ResAccumulator) MergeAccumulator(other *ResAccumulator) (err error) {
err = ra.MergeResourcesWithErrorOnIdCollision(other.resMap)
err = ra.AppendAll(other.resMap)
if err != nil {
return err
}

View File

@@ -41,7 +41,7 @@ func makeResAccumulator() (*ResAccumulator, *resource.Factory, error) {
}
rf := resource.NewFactory(
kunstruct.NewKunstructuredFactoryImpl())
err = ra.MergeResourcesWithErrorOnIdCollision(
err = ra.AppendAll(
resmap.FromMap(map[resid.ResId]*resource.Resource{
resid.NewResId(
gvk.Gvk{Group: "apps", Version: "v1", Kind: "Deployment"},
@@ -188,7 +188,7 @@ func TestResolveVarsVarNeedsDisambiguation(t *testing.T) {
}),
})
err = ra.MergeResourcesWithErrorOnIdCollision(rm0)
err = ra.AppendAll(rm0)
if err != nil {
t.Fatalf("unexpected err: %v", err)
}