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

Method toolExecVersion

cmd/errtrace/toolexec.go:109–140  ·  view source on GitHub ↗
(p toolExecParams)

Source from the content-addressed store, hash-verified

107}
108
109func (cmd *mainCmd) toolExecVersion(p toolExecParams) int {
110 version, err := binaryVersion()
111 if err != nil {
112 logf(cmd.Stderr, "errtrace version failed: %v", err)
113 }
114
115 tool := exec.Command(p.Tool, p.ToolArgs...)
116 var stdout bytes.Buffer
117 tool.Stdout = &stdout
118 tool.Stderr = cmd.Stderr
119 if err := tool.Run(); err != nil {
120 if exitErr, ok := err.(*exec.ExitError); ok {
121 return exitErr.ExitCode()
122 }
123
124 logf(cmd.Stderr, "tool %v failed: %v", p.Tool, err)
125 return 1
126 }
127
128 if _, err := fmt.Fprintf(
129 cmd.Stdout,
130 "%s-errtrace-%s%s\n",
131 strings.TrimSpace(stdout.String()),
132 version,
133 p.versionCacheKey(),
134 ); err != nil {
135 logf(cmd.Stderr, "failed to write version to stdout: %v", err)
136 return 1
137 }
138
139 return 0
140}
141
142func (cmd *mainCmd) toolExecRewrite(pkg string, p toolExecParams) (exitCode int) {
143 // We only need to modify the arguments for "compile" calls which work with .go files.

Callers 1

handleToolExecMethod · 0.95

Calls 5

binaryVersionFunction · 0.85
logfFunction · 0.85
RunMethod · 0.80
versionCacheKeyMethod · 0.80
StringMethod · 0.65

Tested by

no test coverage detected