From 39c59e0547612f13adb0fe976e716461819d9753 Mon Sep 17 00:00:00 2001 From: Devashish Date: Tue, 2 Jul 2024 12:46:14 +0000 Subject: [PATCH] backport of commit 749162e0c0151247061e9940a16f92b760e5ebac --- command/build.go | 2 +- command/cli.go | 29 ++++++++++++++--------------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/command/build.go b/command/build.go index 839dbca58..a7503eeea 100644 --- a/command/build.go +++ b/command/build.go @@ -113,7 +113,7 @@ func (c *BuildCommand) RunContext(buildCtx context.Context, cla *BuildArgs) int if ret != 0 { return ret } - hcpRegistry.Metadata().Gather(cla.Args()) + hcpRegistry.Metadata().Gather(GetCleanedBuildArgs(cla)) defer hcpRegistry.VersionStatusSummary() diff --git a/command/cli.go b/command/cli.go index dc169aa28..4a6b32dd7 100644 --- a/command/cli.go +++ b/command/cli.go @@ -96,27 +96,26 @@ func (ba *BuildArgs) AddFlagSets(flags *flag.FlagSet) { ba.MetaArgs.AddFlagSets(flags) } -// Args returns the list of arguments for HCP. +// GetCleanedBuildArgs returns a map containing build flags specified to build for tracking within +// the HCP Packer registry. // // Most of the arguments are kept as-is, except for the -var args, where only // the keys are kept to avoid leaking potential secrets. -func (ba *BuildArgs) Args() map[string]interface{} { - cleanedArgs := make(map[string]interface{}) - cleanedArgs["debug"] = ba.Debug - cleanedArgs["force"] = ba.Force - - cleanedArgs["only"] = ba.Only - cleanedArgs["except"] = ba.Except - - cleanedArgs["var-files"] = ba.VarFiles +func GetCleanedBuildArgs(ba *BuildArgs) map[string]interface{} { + cleanedArgs := map[string]interface{}{ + "debug": ba.Debug, + "force": ba.Force, + "only": ba.Only, + "except": ba.Except, + "var-files": ba.VarFiles, + "path": ba.Path, + } - var args []string + var varNames []string for k := range ba.Vars { - args = append(args, k) + varNames = append(varNames, k) } - cleanedArgs["vars"] = args - - cleanedArgs["path"] = ba.Path + cleanedArgs["vars"] = varNames return cleanedArgs }