MCPcopy Create free account
hub / github.com/dagger/dagger / run

Method run

cmd/dagger/shell.go:274–287  ·  view source on GitHub ↗

run parses code and executes the interpreter's Runner

(ctx context.Context, reader io.Reader, name string)

Source from the content-addressed store, hash-verified

272
273// run parses code and executes the interpreter's Runner
274func (h *shellCallHandler) run(ctx context.Context, reader io.Reader, name string) error {
275 file, err := parseShell(reader, name)
276 if err != nil {
277 return err
278 }
279
280 stdio := telemetry.SpanStdio(ctx, InstrumentationLibrary)
281 h.stdoutWriter = newTerminalWriter(stdio.Stdout.Write)
282 h.stderrWriter = newTerminalWriter(stdio.Stderr.Write)
283 interp.StdIO(nil, h.stdoutWriter, h.stderrWriter)(h.runner)
284 h.stdoutWriter.SetProcessFunc(h.stateResolver(ctx))
285
286 return h.runner.Run(ctx, file)
287}
288
289func parseShell(reader io.Reader, name string, opts ...syntax.ParserOption) (*syntax.File, error) {
290 opts = append([]syntax.ParserOption{syntax.Variant(syntax.LangPOSIX)}, opts...)

Callers 4

RunAllMethod · 0.95
EvalMethod · 0.95
runPathMethod · 0.95
HandleMethod · 0.95

Calls 5

stateResolverMethod · 0.95
newTerminalWriterFunction · 0.85
SetProcessFuncMethod · 0.80
parseShellFunction · 0.70
RunMethod · 0.65

Tested by

no test coverage detected