1
0
mirror of https://github.com/go-task/task.git synced 2025-02-15 14:03:30 +02:00

Merge pull request #563 from system-transparency/feature/interactive

Task: Add interactive parameter
This commit is contained in:
Andrey Nering 2021-09-26 21:40:50 -03:00 committed by GitHub
commit 8b38ddfcd9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 0 deletions

View File

@ -417,6 +417,12 @@ func (e *Executor) runCommand(ctx context.Context, t *taskfile.Task, call taskfi
stdOut := e.Output.WrapWriter(e.Stdout, t.Prefix)
stdErr := e.Output.WrapWriter(e.Stderr, t.Prefix)
if t.Interactive {
stdOut = output.Interleaved{}.WrapWriter(e.Stdout, t.Prefix)
stdErr = output.Interleaved{}.WrapWriter(e.Stderr, t.Prefix)
}
defer func() {
if _, ok := stdOut.(*os.File); !ok {
if closer, ok := stdOut.(io.Closer); ok {

View File

@ -19,6 +19,7 @@ type Task struct {
Vars *Vars
Env *Vars
Silent bool
Interactive bool
Method string
Prefix string
IgnoreError bool
@ -59,6 +60,7 @@ func (t *Task) UnmarshalYAML(unmarshal func(interface{}) error) error {
Vars *Vars
Env *Vars
Silent bool
Interactive bool
Method string
Prefix string
IgnoreError bool `yaml:"ignore_error"`
@ -80,6 +82,7 @@ func (t *Task) UnmarshalYAML(unmarshal func(interface{}) error) error {
t.Vars = task.Vars
t.Env = task.Env
t.Silent = task.Silent
t.Interactive = task.Interactive
t.Method = task.Method
t.Prefix = task.Prefix
t.IgnoreError = task.IgnoreError

View File

@ -56,6 +56,7 @@ func (e *Executor) compiledTask(call taskfile.Call, evaluateShVars bool) (*taskf
Vars: nil,
Env: nil,
Silent: origTask.Silent,
Interactive: origTask.Interactive,
Method: r.Replace(origTask.Method),
Prefix: r.Replace(origTask.Prefix),
IgnoreError: origTask.IgnoreError,