mirror of
https://github.com/go-task/task.git
synced 2025-02-09 13:47:06 +02:00
refactor: remove newlines from formatter print functions (#1137)
This commit is contained in:
parent
1e8fc5011b
commit
8cfac5a25a
@ -255,7 +255,7 @@ func run() error {
|
||||
}
|
||||
|
||||
if err := e.Run(ctx, calls...); err != nil {
|
||||
e.Logger.Errf(logger.Red, "%v", err)
|
||||
e.Logger.Errf(logger.Red, "%v\n", err)
|
||||
|
||||
if exitCode {
|
||||
if err, ok := err.(*errors.TaskRunError); ok {
|
||||
|
16
help.go
16
help.go
@ -88,24 +88,24 @@ func (e *Executor) ListTasks(o ListOptions) (bool, error) {
|
||||
}
|
||||
if len(tasks) == 0 {
|
||||
if o.ListOnlyTasksWithDescriptions {
|
||||
e.Logger.Outf(logger.Yellow, "task: No tasks with description available. Try --list-all to list all tasks")
|
||||
e.Logger.Outf(logger.Yellow, "task: No tasks with description available. Try --list-all to list all tasks\n")
|
||||
} else if o.ListAllTasks {
|
||||
e.Logger.Outf(logger.Yellow, "task: No tasks available")
|
||||
e.Logger.Outf(logger.Yellow, "task: No tasks available\n")
|
||||
}
|
||||
return false, nil
|
||||
}
|
||||
e.Logger.Outf(logger.Default, "task: Available tasks for this project:")
|
||||
e.Logger.Outf(logger.Default, "task: Available tasks for this project:\n")
|
||||
|
||||
// Format in tab-separated columns with a tab stop of 8.
|
||||
w := tabwriter.NewWriter(e.Stdout, 0, 8, 6, ' ', 0)
|
||||
for _, task := range tasks {
|
||||
e.Logger.FOutf(w, logger.Yellow, "* ")
|
||||
e.Logger.FOutf(w, logger.Green, task.Task)
|
||||
e.Logger.FOutf(w, logger.Default, ": \t%s", task.Desc)
|
||||
e.Logger.Outf(logger.Yellow, "* ")
|
||||
e.Logger.Outf(logger.Green, task.Task)
|
||||
e.Logger.Outf(logger.Default, ": \t%s", task.Desc)
|
||||
if len(task.Aliases) > 0 {
|
||||
e.Logger.FOutf(w, logger.Cyan, "\t(aliases: %s)", strings.Join(task.Aliases, ", "))
|
||||
e.Logger.Outf(logger.Cyan, "\t(aliases: %s)", strings.Join(task.Aliases, ", "))
|
||||
}
|
||||
_, _ = fmt.Fprint(w, "\n")
|
||||
e.Logger.Outf(logger.Default, "\n")
|
||||
}
|
||||
if err := w.Flush(); err != nil {
|
||||
return false, err
|
||||
|
@ -117,7 +117,7 @@ func (c *CompilerV2) HandleDynamicVar(v taskfile.Var, _ string) (string, error)
|
||||
result := strings.TrimSuffix(stdout.String(), "\n")
|
||||
|
||||
c.dynamicCache[v.Sh] = result
|
||||
c.Logger.VerboseErrf(logger.Magenta, `task: dynamic variable: '%s' result: '%s'`, v.Sh, result)
|
||||
c.Logger.VerboseErrf(logger.Magenta, "task: dynamic variable: %q result: %q\n", v.Sh, result)
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
@ -161,7 +161,7 @@ func (c *CompilerV3) HandleDynamicVar(v taskfile.Var, dir string) (string, error
|
||||
result = strings.TrimSuffix(result, "\n")
|
||||
|
||||
c.dynamicCache[v.Sh] = result
|
||||
c.Logger.VerboseErrf(logger.Magenta, `task: dynamic variable: '%s' result: '%s'`, v.Sh, result)
|
||||
c.Logger.VerboseErrf(logger.Magenta, "task: dynamic variable: %q result: %q\n", v.Sh, result)
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
@ -27,10 +27,10 @@ func (checker *StatusChecker) IsUpToDate(ctx context.Context, t *taskfile.Task)
|
||||
Env: env.Get(t),
|
||||
})
|
||||
if err != nil {
|
||||
checker.logger.VerboseOutf(logger.Yellow, "task: status command %s exited non-zero: %s", s, err)
|
||||
checker.logger.VerboseOutf(logger.Yellow, "task: status command %s exited non-zero: %s\n", s, err)
|
||||
return false, nil
|
||||
}
|
||||
checker.logger.VerboseOutf(logger.Yellow, "task: status command %s exited zero", s)
|
||||
checker.logger.VerboseOutf(logger.Yellow, "task: status command %s exited zero\n", s)
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ type Logger struct {
|
||||
|
||||
// Outf prints stuff to STDOUT.
|
||||
func (l *Logger) Outf(color Color, s string, args ...any) {
|
||||
l.FOutf(l.Stdout, color, s+"\n", args...)
|
||||
l.FOutf(l.Stdout, color, s, args...)
|
||||
}
|
||||
|
||||
// FOutf prints stuff to the given writer.
|
||||
@ -95,7 +95,7 @@ func (l *Logger) Errf(color Color, s string, args ...any) {
|
||||
color = Default
|
||||
}
|
||||
print := color()
|
||||
print(l.Stderr, s+"\n", args...)
|
||||
print(l.Stderr, s, args...)
|
||||
}
|
||||
|
||||
// VerboseErrf prints stuff to STDERR if verbose mode is enabled.
|
||||
|
@ -20,8 +20,8 @@ func PrintSpaceBetweenSummaries(l *logger.Logger, i int) {
|
||||
return
|
||||
}
|
||||
|
||||
l.Outf(logger.Default, "")
|
||||
l.Outf(logger.Default, "")
|
||||
l.Outf(logger.Default, "\n")
|
||||
l.Outf(logger.Default, "\n")
|
||||
}
|
||||
|
||||
func PrintTask(l *logger.Logger, t *taskfile.Task) {
|
||||
@ -51,26 +51,26 @@ func printTaskSummary(l *logger.Logger, t *taskfile.Task) {
|
||||
for i, line := range lines {
|
||||
notLastLine := i+1 < len(lines)
|
||||
if notLastLine || line != "" {
|
||||
l.Outf(logger.Default, line)
|
||||
l.Outf(logger.Default, "%s\n", line)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func printTaskName(l *logger.Logger, t *taskfile.Task) {
|
||||
l.FOutf(l.Stdout, logger.Default, "task: ")
|
||||
l.FOutf(l.Stdout, logger.Green, "%s\n", t.Name())
|
||||
l.Outf(logger.Default, "")
|
||||
l.Outf(logger.Default, "task: ")
|
||||
l.Outf(logger.Green, "%s\n", t.Name())
|
||||
l.Outf(logger.Default, "\n")
|
||||
}
|
||||
|
||||
func printTaskAliases(l *logger.Logger, t *taskfile.Task) {
|
||||
if len(t.Aliases) == 0 {
|
||||
return
|
||||
}
|
||||
l.Outf(logger.Default, "")
|
||||
l.Outf(logger.Default, "aliases:")
|
||||
l.Outf(logger.Default, "\n")
|
||||
l.Outf(logger.Default, "aliases:\n")
|
||||
for _, alias := range t.Aliases {
|
||||
l.FOutf(l.Stdout, logger.Default, " - ")
|
||||
l.Outf(logger.Cyan, alias)
|
||||
l.Outf(logger.Default, " - ")
|
||||
l.Outf(logger.Cyan, "%s\n", alias)
|
||||
}
|
||||
}
|
||||
|
||||
@ -79,11 +79,11 @@ func hasDescription(t *taskfile.Task) bool {
|
||||
}
|
||||
|
||||
func printTaskDescription(l *logger.Logger, t *taskfile.Task) {
|
||||
l.Outf(logger.Default, t.Desc)
|
||||
l.Outf(logger.Default, "%s\n", t.Desc)
|
||||
}
|
||||
|
||||
func printNoDescriptionOrSummary(l *logger.Logger) {
|
||||
l.Outf(logger.Default, "(task does not have description or summary)")
|
||||
l.Outf(logger.Default, "(task does not have description or summary)\n")
|
||||
}
|
||||
|
||||
func printTaskDependencies(l *logger.Logger, t *taskfile.Task) {
|
||||
@ -91,11 +91,11 @@ func printTaskDependencies(l *logger.Logger, t *taskfile.Task) {
|
||||
return
|
||||
}
|
||||
|
||||
l.Outf(logger.Default, "")
|
||||
l.Outf(logger.Default, "dependencies:")
|
||||
l.Outf(logger.Default, "\n")
|
||||
l.Outf(logger.Default, "dependencies:\n")
|
||||
|
||||
for _, d := range t.Deps {
|
||||
l.Outf(logger.Default, " - %s", d.Task)
|
||||
l.Outf(logger.Default, " - %s\n", d.Task)
|
||||
}
|
||||
}
|
||||
|
||||
@ -104,15 +104,15 @@ func printTaskCommands(l *logger.Logger, t *taskfile.Task) {
|
||||
return
|
||||
}
|
||||
|
||||
l.Outf(logger.Default, "")
|
||||
l.Outf(logger.Default, "commands:")
|
||||
l.Outf(logger.Default, "\n")
|
||||
l.Outf(logger.Default, "commands:\n")
|
||||
for _, c := range t.Cmds {
|
||||
isCommand := c.Cmd != ""
|
||||
l.FOutf(l.Stdout, logger.Default, " - ")
|
||||
l.Outf(logger.Default, " - ")
|
||||
if isCommand {
|
||||
l.FOutf(l.Stdout, logger.Yellow, "%s\n", c.Cmd)
|
||||
l.Outf(logger.Yellow, "%s\n", c.Cmd)
|
||||
} else {
|
||||
l.FOutf(l.Stdout, logger.Green, "Task: %s\n", c.Task)
|
||||
l.Outf(logger.Green, "Task: %s\n", c.Task)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ func (e *Executor) areTaskPreconditionsMet(ctx context.Context, t *taskfile.Task
|
||||
Env: env.Get(t),
|
||||
})
|
||||
if err != nil {
|
||||
e.Logger.Errf(logger.Magenta, "task: %s", p.Msg)
|
||||
e.Logger.Errf(logger.Magenta, "task: %s\n", p.Msg)
|
||||
return false, ErrPreconditionFailed
|
||||
}
|
||||
}
|
||||
|
@ -20,11 +20,11 @@ func (e *Executor) InterceptInterruptSignals() {
|
||||
sig := <-ch
|
||||
|
||||
if i < 3 {
|
||||
e.Logger.Outf(logger.Yellow, `task: Signal received: "%s"`, sig)
|
||||
e.Logger.Outf(logger.Yellow, "task: Signal received: %q\n", sig)
|
||||
continue
|
||||
}
|
||||
|
||||
e.Logger.Errf(logger.Red, `task: Signal received for the third time: "%s". Forcing shutdown`, sig)
|
||||
e.Logger.Errf(logger.Red, "task: Signal received for the third time: %q. Forcing shutdown\n", sig)
|
||||
os.Exit(1)
|
||||
}
|
||||
}()
|
||||
|
26
task.go
26
task.go
@ -141,11 +141,11 @@ func (e *Executor) RunTask(ctx context.Context, call taskfile.Call) error {
|
||||
|
||||
return e.startExecution(ctx, t, func(ctx context.Context) error {
|
||||
if !shouldRunOnCurrentPlatform(t.Platforms) {
|
||||
e.Logger.VerboseOutf(logger.Yellow, `task: "%s" not for current platform - ignored`, call.Task)
|
||||
e.Logger.VerboseOutf(logger.Yellow, `task: %q not for current platform - ignored\n`, call.Task)
|
||||
return nil
|
||||
}
|
||||
|
||||
e.Logger.VerboseErrf(logger.Magenta, `task: "%s" started`, call.Task)
|
||||
e.Logger.VerboseErrf(logger.Magenta, "task: %q started\n", call.Task)
|
||||
if err := e.runDeps(ctx, t); err != nil {
|
||||
return err
|
||||
}
|
||||
@ -178,14 +178,14 @@ func (e *Executor) RunTask(ctx context.Context, call taskfile.Call) error {
|
||||
|
||||
if upToDate && preCondMet {
|
||||
if e.Verbose || (!t.Silent && !e.Taskfile.Silent && !e.Silent) {
|
||||
e.Logger.Errf(logger.Magenta, `task: Task "%s" is up to date`, t.Name())
|
||||
e.Logger.Errf(logger.Magenta, "task: Task %q is up to date\n", t.Name())
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
if err := e.mkdir(t); err != nil {
|
||||
e.Logger.Errf(logger.Red, "task: cannot make directory %q: %v", t.Dir, err)
|
||||
e.Logger.Errf(logger.Red, "task: cannot make directory %q: %v\n", t.Dir, err)
|
||||
}
|
||||
|
||||
for i := range t.Cmds {
|
||||
@ -196,18 +196,18 @@ func (e *Executor) RunTask(ctx context.Context, call taskfile.Call) error {
|
||||
|
||||
if err := e.runCommand(ctx, t, call, i); err != nil {
|
||||
if err2 := e.statusOnError(t); err2 != nil {
|
||||
e.Logger.VerboseErrf(logger.Yellow, "task: error cleaning status on error: %v", err2)
|
||||
e.Logger.VerboseErrf(logger.Yellow, "task: error cleaning status on error: %v\n", err2)
|
||||
}
|
||||
|
||||
if execext.IsExitError(err) && t.IgnoreError {
|
||||
e.Logger.VerboseErrf(logger.Yellow, "task: task error ignored: %v", err)
|
||||
e.Logger.VerboseErrf(logger.Yellow, "task: task error ignored: %v\n", err)
|
||||
continue
|
||||
}
|
||||
|
||||
return &errors.TaskRunError{TaskName: t.Task, Err: err}
|
||||
}
|
||||
}
|
||||
e.Logger.VerboseErrf(logger.Magenta, `task: "%s" finished`, call.Task)
|
||||
e.Logger.VerboseErrf(logger.Magenta, "task: %q finished\n", call.Task)
|
||||
return nil
|
||||
})
|
||||
}
|
||||
@ -255,7 +255,7 @@ func (e *Executor) runDeferred(t *taskfile.Task, call taskfile.Call, i int) {
|
||||
defer cancel()
|
||||
|
||||
if err := e.runCommand(ctx, t, call, i); err != nil {
|
||||
e.Logger.VerboseErrf(logger.Yellow, `task: ignored error in deferred cmd: %s`, err.Error())
|
||||
e.Logger.VerboseErrf(logger.Yellow, "task: ignored error in deferred cmd: %s\n", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
@ -274,12 +274,12 @@ func (e *Executor) runCommand(ctx context.Context, t *taskfile.Task, call taskfi
|
||||
return nil
|
||||
case cmd.Cmd != "":
|
||||
if !shouldRunOnCurrentPlatform(cmd.Platforms) {
|
||||
e.Logger.VerboseOutf(logger.Yellow, `task: [%s] %s not for current platform - ignored`, t.Name(), cmd.Cmd)
|
||||
e.Logger.VerboseOutf(logger.Yellow, "task: [%s] %s not for current platform - ignored\n", t.Name(), cmd.Cmd)
|
||||
return nil
|
||||
}
|
||||
|
||||
if e.Verbose || (!cmd.Silent && !t.Silent && !e.Taskfile.Silent && !e.Silent) {
|
||||
e.Logger.Errf(logger.Green, "task: [%s] %s", t.Name(), cmd.Cmd)
|
||||
e.Logger.Errf(logger.Green, "task: [%s] %s\n", t.Name(), cmd.Cmd)
|
||||
}
|
||||
|
||||
if e.Dry {
|
||||
@ -308,10 +308,10 @@ func (e *Executor) runCommand(ctx context.Context, t *taskfile.Task, call taskfi
|
||||
Stderr: stdErr,
|
||||
})
|
||||
if closeErr := close(err); closeErr != nil {
|
||||
e.Logger.Errf(logger.Red, "task: unable to close writer: %v", closeErr)
|
||||
e.Logger.Errf(logger.Red, "task: unable to close writer: %v\n", closeErr)
|
||||
}
|
||||
if execext.IsExitError(err) && cmd.IgnoreError {
|
||||
e.Logger.VerboseErrf(logger.Yellow, "task: [%s] command error ignored: %v", t.Name(), err)
|
||||
e.Logger.VerboseErrf(logger.Yellow, "task: [%s] command error ignored: %v\n", t.Name(), err)
|
||||
return nil
|
||||
}
|
||||
return err
|
||||
@ -334,7 +334,7 @@ func (e *Executor) startExecution(ctx context.Context, t *taskfile.Task, execute
|
||||
|
||||
if otherExecutionCtx, ok := e.executionHashes[h]; ok {
|
||||
e.executionHashesMutex.Unlock()
|
||||
e.Logger.VerboseErrf(logger.Magenta, "task: skipping execution of task: %s", h)
|
||||
e.Logger.VerboseErrf(logger.Magenta, "task: skipping execution of task: %s\n", h)
|
||||
|
||||
// Release our execution slot to avoid blocking other tasks while we wait
|
||||
reacquire := e.releaseConcurrencyLimit()
|
||||
|
14
watch.go
14
watch.go
@ -34,7 +34,7 @@ func (e *Executor) watchTasks(calls ...taskfile.Call) error {
|
||||
c := c
|
||||
go func() {
|
||||
if err := e.RunTask(ctx, c); err != nil && !isContextError(err) {
|
||||
e.Logger.Errf(logger.Red, "%v", err)
|
||||
e.Logger.Errf(logger.Red, "%v\n", err)
|
||||
}
|
||||
}()
|
||||
}
|
||||
@ -49,7 +49,7 @@ func (e *Executor) watchTasks(calls ...taskfile.Call) error {
|
||||
watchInterval = defaultWatchInterval
|
||||
}
|
||||
|
||||
e.Logger.VerboseOutf(logger.Green, "task: Watching for changes every %v", watchInterval)
|
||||
e.Logger.VerboseOutf(logger.Green, "task: Watching for changes every %v\n", watchInterval)
|
||||
|
||||
w := watcher.New()
|
||||
defer w.Close()
|
||||
@ -61,7 +61,7 @@ func (e *Executor) watchTasks(calls ...taskfile.Call) error {
|
||||
for {
|
||||
select {
|
||||
case event := <-w.Event:
|
||||
e.Logger.VerboseErrf(logger.Magenta, "task: received watch event: %v", event)
|
||||
e.Logger.VerboseErrf(logger.Magenta, "task: received watch event: %v\n", event)
|
||||
|
||||
cancel()
|
||||
ctx, cancel = context.WithCancel(context.Background())
|
||||
@ -72,7 +72,7 @@ func (e *Executor) watchTasks(calls ...taskfile.Call) error {
|
||||
c := c
|
||||
go func() {
|
||||
if err := e.RunTask(ctx, c); err != nil && !isContextError(err) {
|
||||
e.Logger.Errf(logger.Red, "%v", err)
|
||||
e.Logger.Errf(logger.Red, "%v\n", err)
|
||||
}
|
||||
}()
|
||||
}
|
||||
@ -80,7 +80,7 @@ func (e *Executor) watchTasks(calls ...taskfile.Call) error {
|
||||
switch err {
|
||||
case watcher.ErrWatchedFileDeleted:
|
||||
default:
|
||||
e.Logger.Errf(logger.Red, "%v", err)
|
||||
e.Logger.Errf(logger.Red, "%v\n", err)
|
||||
}
|
||||
case <-w.Closed:
|
||||
cancel()
|
||||
@ -93,7 +93,7 @@ func (e *Executor) watchTasks(calls ...taskfile.Call) error {
|
||||
// re-register every 5 seconds because we can have new files, but this process is expensive to run
|
||||
for {
|
||||
if err := e.registerWatchedFiles(w, calls...); err != nil {
|
||||
e.Logger.Errf(logger.Red, "%v", err)
|
||||
e.Logger.Errf(logger.Red, "%v\n", err)
|
||||
}
|
||||
time.Sleep(watchInterval)
|
||||
}
|
||||
@ -161,7 +161,7 @@ func (e *Executor) registerWatchedFiles(w *watcher.Watcher, calls ...taskfile.Ca
|
||||
if err := w.Add(absFile); err != nil {
|
||||
return err
|
||||
}
|
||||
e.Logger.VerboseOutf(logger.Green, "task: watching new file: %v", absFile)
|
||||
e.Logger.VerboseOutf(logger.Green, "task: watching new file: %v\n", absFile)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
Loading…
x
Reference in New Issue
Block a user