MCPcopy Create free account
hub / github.com/devspace-sh/devspace / ApplyExtraFlags

Function ApplyExtraFlags

pkg/util/flags/flags.go:14–55  ·  view source on GitHub ↗

ApplyExtraFlags args parses the flags for a certain command from the environment variables

(cobraCmd *cobra.Command, osArgs []string, forceParsing bool)

Source from the content-addressed store, hash-verified

12
13// ApplyExtraFlags args parses the flags for a certain command from the environment variables
14func ApplyExtraFlags(cobraCmd *cobra.Command, osArgs []string, forceParsing bool) ([]string, error) {
15 envName := strings.ToUpper(strings.ReplaceAll(cobraCmd.CommandPath(), " ", "_") + "_FLAGS")
16
17 flags, err := ParseCommandLine(env.GlobalGetEnv("DEVSPACE_FLAGS"))
18 if err != nil {
19 return nil, err
20 }
21
22 for i := 0; i < len(flags); i++ {
23 if flags[i] == "--kubeconfig" {
24 if i+1 < len(flags) {
25 err = os.Setenv("KUBECONFIG", flags[i+1])
26 if err != nil {
27 return nil, err
28 }
29 break
30 }
31 }
32 }
33
34 commandFlags, err := ParseCommandLine(env.GlobalGetEnv(envName))
35 if err != nil {
36 return nil, err
37 }
38
39 flags = append(flags, commandFlags...)
40 if !forceParsing && len(flags) == 0 {
41 return nil, nil
42 }
43
44 err = cobraCmd.ParseFlags(flags)
45 if err != nil {
46 return nil, err
47 }
48
49 err = cobraCmd.ParseFlags(osArgs)
50 if err != nil {
51 return nil, err
52 }
53
54 return flags, nil
55}
56
57// ParseCommandLine parses the command line string into an string array
58func ParseCommandLine(command string) ([]string, error) {

Calls 1

ParseCommandLineFunction · 0.85