MCPcopy Index your code
hub / github.com/devspace-sh/devspace / execute

Method execute

pkg/devspace/pipeline/job.go:96–123  ·  view source on GitHub ↗
(ctx devspacecontext.Context, args []string, parent *tomb.Tomb, environ expand.Environ)

Source from the content-addressed store, hash-verified

94}
95
96func (j *Job) execute(ctx devspacecontext.Context, args []string, parent *tomb.Tomb, environ expand.Environ) error {
97 ctx = ctx.WithLogger(ctx.Log())
98 stdoutReader, stdoutWriter := io.Pipe()
99 defer stdoutWriter.Close()
100
101 parent.Go(func() error {
102 s := scanner.NewScanner(stdoutReader)
103 for s.Scan() {
104 ctx.Log().Info(s.Text())
105 }
106 return nil
107 })
108
109 stderrReader, stderrWriter := io.Pipe()
110 defer stderrWriter.Close()
111
112 parent.Go(func() error {
113 s := scanner.NewScanner(stderrReader)
114 for s.Scan() {
115 ctx.Log().Warn(s.Text())
116 }
117 return nil
118 })
119
120 handler := pipelinehandler.NewPipelineExecHandler(ctx, stdoutWriter, stderrWriter, j.Pipeline)
121 _, err := engine.ExecutePipelineShellCommand(ctx.Context(), j.Config.Run, args, ctx.WorkingDir(), j.Config.ContinueOnError, stdoutWriter, stderrWriter, os.Stdin, environ, handler)
122 return err
123}

Callers 1

RunMethod · 0.95

Calls 11

NewScannerFunction · 0.92
NewPipelineExecHandlerFunction · 0.92
GoMethod · 0.80
WithLoggerMethod · 0.65
LogMethod · 0.65
CloseMethod · 0.65
ContextMethod · 0.65
WorkingDirMethod · 0.65
InfoMethod · 0.45
WarnMethod · 0.45

Tested by

no test coverage detected