mirror of
https://github.com/go-task/task.git
synced 2025-12-16 19:57:43 +01:00
rename file.go to status.go, and move related code there
This commit is contained in:
41
task.go
41
task.go
@@ -178,47 +178,6 @@ func (e *Executor) runDeps(ctx context.Context, t *Task) error {
|
||||
return g.Wait()
|
||||
}
|
||||
|
||||
func (e *Executor) isTaskUpToDate(ctx context.Context, t *Task) (bool, error) {
|
||||
if len(t.Status) > 0 {
|
||||
return e.isUpToDateStatus(ctx, t)
|
||||
}
|
||||
return e.isUpToDateTimestamp(ctx, t)
|
||||
}
|
||||
|
||||
func (e *Executor) isUpToDateStatus(ctx context.Context, t *Task) (bool, error) {
|
||||
for _, s := range t.Status {
|
||||
err := execext.RunCommand(&execext.RunCommandOptions{
|
||||
Context: ctx,
|
||||
Command: s,
|
||||
Dir: e.getTaskDir(t),
|
||||
Env: e.getEnviron(t),
|
||||
})
|
||||
if err != nil {
|
||||
return false, nil
|
||||
}
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
|
||||
func (e *Executor) isUpToDateTimestamp(ctx context.Context, t *Task) (bool, error) {
|
||||
if len(t.Sources) == 0 || len(t.Generates) == 0 {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
dir := e.getTaskDir(t)
|
||||
|
||||
sourcesMaxTime, err := getPatternsMaxTime(dir, t.Sources)
|
||||
if err != nil || sourcesMaxTime.IsZero() {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
generatesMinTime, err := getPatternsMinTime(dir, t.Generates)
|
||||
if err != nil || generatesMinTime.IsZero() {
|
||||
return false, nil
|
||||
}
|
||||
return !generatesMinTime.Before(sourcesMaxTime), nil
|
||||
}
|
||||
|
||||
func (e *Executor) runCommand(ctx context.Context, t *Task, call Call, i int) error {
|
||||
cmd := t.Cmds[i]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user