From 82bd395289e6c57b11a692aed8eeca0144f8bb6f Mon Sep 17 00:00:00 2001 From: Sylvain Rabot Date: Tue, 21 Nov 2023 08:31:26 +0100 Subject: [PATCH] Add missing error handling for --load-restrictor completion Signed-off-by: Sylvain Rabot --- kustomize/commands/build/build.go | 6 +++++- kustomize/commands/build/flagloadrestrictor.go | 10 ++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/kustomize/commands/build/build.go b/kustomize/commands/build/build.go index 6ceac85da..96dcc7260 100644 --- a/kustomize/commands/build/build.go +++ b/kustomize/commands/build/build.go @@ -102,14 +102,18 @@ func NewCmdBuild( return err }, } + AddFlagOutputPath(cmd.Flags()) AddFunctionBasicsFlags(cmd.Flags()) AddFlagLoadRestrictor(cmd.Flags()) - AddFlagLoadRestrictorCompletion(cmd) AddFlagEnablePlugins(cmd.Flags()) AddFlagReorderOutput(cmd.Flags()) AddFlagEnableManagedbyLabel(cmd.Flags()) + if err := AddFlagLoadRestrictorCompletion(cmd); err != nil { + log.Fatalf("Error adding completion for flag '--%s': %v", flagLoadRestrictorName, err) + } + msg := "Error marking flag '%s' as deprecated: %v" err := cmd.Flags().MarkDeprecated(flagReorderOutputName, "use the new 'sortOptions' field in kustomization.yaml instead.") diff --git a/kustomize/commands/build/flagloadrestrictor.go b/kustomize/commands/build/flagloadrestrictor.go index 389819ab8..71e336b0a 100644 --- a/kustomize/commands/build/flagloadrestrictor.go +++ b/kustomize/commands/build/flagloadrestrictor.go @@ -24,13 +24,19 @@ func AddFlagLoadRestrictor(set *pflag.FlagSet) { "relocatability of the kustomization.") } -func AddFlagLoadRestrictorCompletion(cmd *cobra.Command) { - cmd.RegisterFlagCompletionFunc(flagLoadRestrictorName, func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { +func AddFlagLoadRestrictorCompletion(cmd *cobra.Command) error { + err := cmd.RegisterFlagCompletionFunc(flagLoadRestrictorName, func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { return []string{ types.LoadRestrictionsNone.String(), types.LoadRestrictionsRootOnly.String(), }, cobra.ShellCompDirectiveNoFileComp }) + + if err != nil { + return fmt.Errorf("unable to add completion for --%s flag: %w", flagLoadRestrictorName, err) + } + + return nil } func validateFlagLoadRestrictor() error {