Skip to content

Commit

Permalink
feat: improve fingerprint and output with wildcard
Browse files Browse the repository at this point in the history
  • Loading branch information
vmaerten committed Sep 15, 2024
1 parent 5aa68e4 commit feb5d44
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 4 deletions.
5 changes: 3 additions & 2 deletions task.go
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,6 @@ func (e *Executor) RunTask(ctx context.Context, call *ast.Call) error {
if t.Method != "" {
method = t.Method
}

upToDate, err := fingerprint.IsTaskUpToDate(ctx, t,
fingerprint.WithMethod(method),
fingerprint.WithTempDir(e.TempDir.Fingerprint),
Expand Down Expand Up @@ -447,7 +446,9 @@ func (e *Executor) GetTask(call *ast.Call) (*ast.Task, error) {
call.Vars = &ast.Vars{}
}
call.Vars.Set("MATCH", ast.Var{Value: matchingTasks[0].Wildcards})
return matchingTasks[0].Task, nil
task := matchingTasks[0].Task
task.FullName = call.Task
return task, nil
default:
taskNames := make([]string, len(matchingTasks))
for i, matchingTask := range matchingTasks {
Expand Down
2 changes: 1 addition & 1 deletion task_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -474,6 +474,7 @@ func TestStatusChecksum(t *testing.T) {
task string
}{
{[]string{"generated.txt", ".task/checksum/build"}, "build"},
{[]string{"generated-wildcard.txt", ".task/checksum/build-wildcard"}, "build-wildcard"},
{[]string{"generated.txt", ".task/checksum/build-with-status"}, "build-with-status"},
}

Expand Down Expand Up @@ -2544,7 +2545,6 @@ func TestWildcard(t *testing.T) {
Dir: "testdata/wildcards",
Stdout: &buff,
Stderr: &buff,
Silent: true,
Force: true,
}
require.NoError(t, e.Setup())
Expand Down
6 changes: 6 additions & 0 deletions taskfile/ast/task.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,17 @@ type Task struct {
Namespace string
IncludeVars *Vars
IncludedTaskfileVars *Vars

FullName string
}

func (t *Task) Name() string {
if t.Label != "" {
return t.Label
}
if t.FullName != "" {
return t.FullName
}
return t.Task
}

Expand Down Expand Up @@ -220,6 +225,7 @@ func (t *Task) DeepCopy() *Task {
Location: t.Location.DeepCopy(),
Requires: t.Requires.DeepCopy(),
Namespace: t.Namespace,
FullName: t.FullName,
}
return c
}
8 changes: 8 additions & 0 deletions testdata/checksum/Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@ tasks:
generates:
- ./generated.txt
method: checksum
build-*:
cmds:
- cp ./source.txt ./generated-{{index .MATCH 0}}.txt
sources:
- ./source.txt
generates:
- ./generated-{{index .MATCH 0}}.txt
method: checksum

build-with-status:
cmds:
Expand Down
1 change: 1 addition & 0 deletions testdata/checksum/generated-wildcard.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Hello, World!
2 changes: 1 addition & 1 deletion variables.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ func (e *Executor) compiledTask(call *ast.Call, evaluateShVars bool) (*ast.Task,
}

cache := &templater.Cache{Vars: vars}

new := ast.Task{
Task: origTask.Task,
Label: templater.Replace(origTask.Label, cache),
Expand Down Expand Up @@ -74,6 +73,7 @@ func (e *Executor) compiledTask(call *ast.Call, evaluateShVars bool) (*ast.Task,
Requires: origTask.Requires,
Watch: origTask.Watch,
Namespace: origTask.Namespace,
FullName: origTask.FullName,
}
new.Dir, err = execext.Expand(new.Dir)
if err != nil {
Expand Down

0 comments on commit feb5d44

Please sign in to comment.