MCPcopy Index your code
hub / github.com/docker/cli / processAliases

Function processAliases

cmd/docker/aliases.go:21–54  ·  view source on GitHub ↗
(dockerCli command.Cli, cmd *cobra.Command, args, osArgs []string)

Source from the content-addressed store, hash-verified

19}
20
21func processAliases(dockerCli command.Cli, cmd *cobra.Command, args, osArgs []string) ([]string, []string, []string, error) {
22 var err error
23 var envs []string
24 aliasMap := dockerCli.ConfigFile().Aliases
25 aliases := make([][2][]string, 0, len(aliasMap))
26
27 for k, v := range aliasMap {
28 if _, ok := allowedAliases[k]; !ok {
29 return args, osArgs, envs, fmt.Errorf("not allowed to alias %q (allowed: %#v)", k, allowedAliases)
30 }
31 if c, _, err := cmd.Find(strings.Split(v, " ")); err == nil {
32 if !pluginmanager.IsPluginCommand(c) {
33 return args, osArgs, envs, fmt.Errorf("not allowed to alias with builtin %q as target", v)
34 }
35 }
36 aliases = append(aliases, [2][]string{{k}, {v}})
37 }
38
39 args, osArgs, envs, err = processBuilder(dockerCli, cmd, args, os.Args)
40 if err != nil {
41 return args, os.Args, envs, err
42 }
43
44 for _, al := range aliases {
45 var didChange bool
46 args, didChange = stringSliceReplaceAt(args, al[0], al[1], 0)
47 if didChange {
48 osArgs, _ = stringSliceReplaceAt(osArgs, al[0], al[1], -1)
49 break
50 }
51 }
52
53 return args, osArgs, envs, nil
54}

Callers 1

runDockerFunction · 0.85

Calls 3

processBuilderFunction · 0.85
stringSliceReplaceAtFunction · 0.85
ConfigFileMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…