This is an automated email from the ASF dual-hosted git repository.

lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit ee8dee2347916162cddfff7d3e22c4afe50fe560
Author: Zoran Regvart <zregv...@apache.org>
AuthorDate: Wed Dec 5 15:34:31 2018 +0100

    fix: removed `cmd.ParseFlags`
---
 pkg/client/cmd/install.go | 10 ++--------
 pkg/client/cmd/root.go    | 51 ++++++++++++++++++-----------------------------
 2 files changed, 21 insertions(+), 40 deletions(-)

diff --git a/pkg/client/cmd/install.go b/pkg/client/cmd/install.go
index 98b25c1..5b86a8b 100644
--- a/pkg/client/cmd/install.go
+++ b/pkg/client/cmd/install.go
@@ -20,15 +20,13 @@ package cmd
 import (
        "fmt"
 
-       "os"
-
        "github.com/apache/camel-k/pkg/install"
        "github.com/pkg/errors"
        "github.com/spf13/cobra"
        k8serrors "k8s.io/apimachinery/pkg/api/errors"
 )
 
-func newCmdInstall(rootCmdOptions *RootCmdOptions) (*cobra.Command, error) {
+func newCmdInstall(rootCmdOptions *RootCmdOptions) *cobra.Command {
        options := installCmdOptions{
                RootCmdOptions: rootCmdOptions,
        }
@@ -44,12 +42,8 @@ func newCmdInstall(rootCmdOptions *RootCmdOptions) 
(*cobra.Command, error) {
        cmd.Flags().StringVar(&options.registry, "registry", "", "A Docker 
registry that can be used to publish images")
        cmd.Flags().StringVar(&options.organization, "organization", "", "A 
organization on the Docker registry that can be used to publish images")
        cmd.Flags().StringVar(&options.pushSecret, "push-secret", "", "A secret 
used to push images to the Docker registry")
-       err := cmd.ParseFlags(os.Args)
-       if err != nil {
-               return nil, err
-       }
 
-       return &cmd, nil
+       return &cmd
 }
 
 type installCmdOptions struct {
diff --git a/pkg/client/cmd/root.go b/pkg/client/cmd/root.go
index 5672b60..c69f063 100644
--- a/pkg/client/cmd/root.go
+++ b/pkg/client/cmd/root.go
@@ -19,7 +19,6 @@ package cmd
 
 import (
        "context"
-       "os"
        "time"
 
        "github.com/operator-framework/operator-sdk/pkg/k8sclient"
@@ -52,47 +51,35 @@ func NewKamelCommand(ctx context.Context) (*cobra.Command, 
error) {
                Short:                  "Kamel is a awesome client tool for 
running Apache Camel integrations natively on Kubernetes",
                Long:                   kamelCommandLongDescription,
                BashCompletionFunction: bashCompletionFunction,
+               PersistentPreRunE: func(cmd *cobra.Command, args []string) 
error {
+                       if options.Namespace == "" {
+                               current, err := 
kubernetes.GetClientCurrentNamespace(options.KubeConfig)
+                               if err != nil {
+                                       return errors.Wrap(err, "cannot get 
current namespace")
+                               }
+                               err = cmd.Flag("namespace").Value.Set(current)
+                               if err != nil {
+                                       return err
+                               }
+                       }
+
+                       // Let's use a fast refresh period when running with 
the CLI
+                       k8sclient.ResetCacheEvery(2 * time.Second)
+
+                       // Initialize the Kubernetes client to allow using the 
operator-sdk
+                       return kubernetes.InitKubeClient(options.KubeConfig)
+               },
        }
 
        cmd.PersistentFlags().StringVar(&options.KubeConfig, "config", "", 
"Path to the config file to use for CLI requests")
        cmd.PersistentFlags().StringVarP(&options.Namespace, "namespace", "n", 
"", "Namespace to use for all operations")
 
-       // Parse the flags before setting the defaults
-       err := cmd.ParseFlags(os.Args)
-       if err != nil {
-               return nil, err
-       }
-
-       if options.Namespace == "" {
-               current, err := 
kubernetes.GetClientCurrentNamespace(options.KubeConfig)
-               if err != nil {
-                       return nil, errors.Wrap(err, "cannot get current 
namespace")
-               }
-               err = cmd.Flag("namespace").Value.Set(current)
-               if err != nil {
-                       return nil, err
-               }
-       }
-
-       // Let's use a fast refresh period when running with the CLI
-       k8sclient.ResetCacheEvery(2 * time.Second)
-
-       // Initialize the Kubernetes client to allow using the operator-sdk
-       err = kubernetes.InitKubeClient(options.KubeConfig)
-       if err != nil {
-               return nil, err
-       }
-
        cmd.AddCommand(newCmdCompletion(&cmd))
        cmd.AddCommand(newCmdVersion())
        cmd.AddCommand(newCmdRun(&options))
        cmd.AddCommand(newCmdGet(&options))
        cmd.AddCommand(newCmdDelete(&options))
-       install, err := newCmdInstall(&options)
-       if err != nil {
-               return nil, err
-       }
-       cmd.AddCommand(install)
+       cmd.AddCommand(newCmdInstall(&options))
        cmd.AddCommand(newCmdLog(&options))
        cmd.AddCommand(newCmdContext(&options))
 

Reply via email to