MCPcopy Create free account
hub / github.com/bracesdev/errtrace / handleToolExec

Method handleToolExec

cmd/errtrace/toolexec.go:21–50  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

19)
20
21func (cmd *mainCmd) handleToolExec(args []string) (exitCode int, handled bool) {
22 // In toolexec mode, we're passed the original command + arguments.
23 if len(args) == 0 {
24 return -1, false
25 }
26
27 if cmd.Getenv == nil {
28 cmd.Getenv = os.Getenv
29 }
30
31 // compile is run first with "-V=full" to get a version number
32 // for caching build IDs.
33 // No TOOLEXEC_IMPORTPATH is set in this case.
34 version := slices.Contains(args, "-V=full")
35 pkg := cmd.Getenv("TOOLEXEC_IMPORTPATH")
36 if !version && pkg == "" {
37 return -1, false
38 }
39
40 var p toolExecParams
41 if err := p.Parse(os.Stdout, args); err != nil {
42 cmd.log.Print(err)
43 return 1, true
44 }
45
46 if version {
47 return cmd.toolExecVersion(p), true
48 }
49 return cmd.toolExecRewrite(pkg, p), true
50}
51
52type toolExecParams struct {
53 RequiredPkgSelectors []string

Callers 1

RunMethod · 0.95

Calls 3

ParseMethod · 0.95
toolExecVersionMethod · 0.95
toolExecRewriteMethod · 0.95

Tested by

no test coverage detected