From 94f95b9de2e5b66b3c94e0e31e9fe6d3006dec2c Mon Sep 17 00:00:00 2001 From: David Gageot Date: Tue, 11 Sep 2018 10:03:00 +0200 Subject: [PATCH] Remove duplication Signed-off-by: David Gageot --- pkg/skaffold/deploy/labels.go | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/pkg/skaffold/deploy/labels.go b/pkg/skaffold/deploy/labels.go index 1e91a327a52..bf358f8c0be 100644 --- a/pkg/skaffold/deploy/labels.go +++ b/pkg/skaffold/deploy/labels.go @@ -73,11 +73,7 @@ func merge(sources ...Labeller) map[string]string { merged := make(map[string]string) for _, src := range sources { - if src != nil { - for k, v := range src.Labels() { - merged[k] = v - } - } + copyMap(merged, src.Labels()) } return merged @@ -118,19 +114,13 @@ func labelDeployResults(labels map[string]string, results []Artifact) { } func addLabels(labels map[string]string, accessor metav1.Object) { - objLabels := accessor.GetLabels() - if objLabels == nil { - objLabels = make(map[string]string) - } - for k, v := range constants.Labels.DefaultLabels { - if _, ok := objLabels[k]; !ok { - objLabels[k] = v - } - } - for key, value := range labels { - objLabels[key] = value - } - accessor.SetLabels(objLabels) + kv := make(map[string]string) + + copyMap(kv, constants.Labels.DefaultLabels) + copyMap(kv, accessor.GetLabels()) + copyMap(kv, labels) + + accessor.SetLabels(kv) } func updateRuntimeObject(client dynamic.Interface, disco discovery.DiscoveryInterface, labels map[string]string, res Artifact) error { @@ -202,3 +192,11 @@ func groupVersionResource(disco discovery.DiscoveryInterface, gvk schema.GroupVe return schema.GroupVersionResource{}, fmt.Errorf("Could not find resource for %s", gvk.String()) } + +func copyMap(dest, from map[string]string) { + if from != nil { + for k, v := range from { + dest[k] = v + } + } +}