From 1119c89bb1ec44936fd4068f810674dc56bf6736 Mon Sep 17 00:00:00 2001 From: Sandro Meier Date: Sat, 26 Apr 2025 13:39:50 +0200 Subject: [PATCH 1/4] chore: Simplify test output by using silent --- task_test.go | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/task_test.go b/task_test.go index aeaa9317be..27e24cf927 100644 --- a/task_test.go +++ b/task_test.go @@ -1948,25 +1948,18 @@ func TestIncludedVars(t *testing.T) { task.WithDir(dir), task.WithStdout(&buff), task.WithStderr(&buff), + task.WithSilent(true), ) require.NoError(t, e.Setup()) expectedOutputOrder := strings.TrimSpace(` -task: [included1:task1] echo "VAR_1 is included1-var1" VAR_1 is included1-var1 -task: [included1:task1] echo "VAR_2 is included-default-var2" VAR_2 is included-default-var2 -task: [included2:task1] echo "VAR_1 is included2-var1" VAR_1 is included2-var1 -task: [included2:task1] echo "VAR_2 is included-default-var2" VAR_2 is included-default-var2 -task: [included3:task1] echo "VAR_1 is included-default-var1" VAR_1 is included-default-var1 -task: [included3:task1] echo "VAR_2 is included-default-var2" VAR_2 is included-default-var2 -task: [included4:task1] echo "VAR_1 is included4-var1" VAR_1 is included4-var1 -task: [included4:task1] echo "VAR_2 is included-default-var2" VAR_2 is included-default-var2 `) require.NoError(t, e.Run(context.Background(), &task.Call{Task: "task1"})) From cae9520d2297477da3a0735d4e0e4cfd7955ec26 Mon Sep 17 00:00:00 2001 From: Sandro Meier Date: Sat, 26 Apr 2025 13:48:00 +0200 Subject: [PATCH 2/4] feat: add test for command line variables in included taskfile --- task_test.go | 12 ++++++++++++ testdata/include_with_vars/Taskfile.yml | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/task_test.go b/task_test.go index 27e24cf927..3c62a64867 100644 --- a/task_test.go +++ b/task_test.go @@ -1961,7 +1961,19 @@ VAR_1 is included-default-var1 VAR_2 is included-default-var2 VAR_1 is included4-var1 VAR_2 is included-default-var2 +VAR_1 is from-command-line +VAR_2 is included-default-var2 `) + // Set one command line argument for the include 5 + vars := ast.NewVars( + &ast.VarElement{ + Key: "COMMAND_LINE_VAR", + Value: ast.Var{ + Value: "from-command-line", + }, + }) + e.Taskfile.Vars.Merge(vars, nil) + require.NoError(t, e.Run(context.Background(), &task.Call{Task: "task1"})) t.Log(buff.String()) assert.Equal(t, strings.TrimSpace(buff.String()), expectedOutputOrder) diff --git a/testdata/include_with_vars/Taskfile.yml b/testdata/include_with_vars/Taskfile.yml index 0f5e0d88ba..fe1e00a1b4 100644 --- a/testdata/include_with_vars/Taskfile.yml +++ b/testdata/include_with_vars/Taskfile.yml @@ -18,6 +18,10 @@ includes: taskfile: include/Taskfile.include.yml vars: VAR_1: "{{.VAR_1}}" + included5: + taskfile: include/Taskfile.include.yml + vars: + VAR_1: "{{.COMMAND_LINE_VAR}}" tasks: task1: @@ -26,3 +30,4 @@ tasks: - task: included2:task1 - task: included3:task1 - task: included4:task1 + - task: included5:task1 From d2afec8dd0b7d285cf3635765856e76ec3414dee Mon Sep 17 00:00:00 2001 From: Sandro Meier Date: Sat, 26 Apr 2025 13:55:30 +0200 Subject: [PATCH 3/4] feat: add test for special variable in included taskfile --- task_test.go | 2 ++ testdata/include_with_vars/Taskfile.yml | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/task_test.go b/task_test.go index 3c62a64867..440b41afd9 100644 --- a/task_test.go +++ b/task_test.go @@ -1963,6 +1963,8 @@ VAR_1 is included4-var1 VAR_2 is included-default-var2 VAR_1 is from-command-line VAR_2 is included-default-var2 +VAR_1 is 3.43.2 +VAR_2 is included-default-var2 `) // Set one command line argument for the include 5 vars := ast.NewVars( diff --git a/testdata/include_with_vars/Taskfile.yml b/testdata/include_with_vars/Taskfile.yml index fe1e00a1b4..935daba626 100644 --- a/testdata/include_with_vars/Taskfile.yml +++ b/testdata/include_with_vars/Taskfile.yml @@ -22,6 +22,10 @@ includes: taskfile: include/Taskfile.include.yml vars: VAR_1: "{{.COMMAND_LINE_VAR}}" + included6: + taskfile: include/Taskfile.include.yml + vars: + VAR_1: "{{.TASK_VERSION}}" # A special variable tasks: task1: @@ -31,3 +35,4 @@ tasks: - task: included3:task1 - task: included4:task1 - task: included5:task1 + - task: included6:task1 From 8d17e657f96ad3476b318db92729944602cd6c3e Mon Sep 17 00:00:00 2001 From: Sandro Meier Date: Sat, 26 Apr 2025 14:46:27 +0200 Subject: [PATCH 4/4] chore: fix typos --- taskfile/ast/vars.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/taskfile/ast/vars.go b/taskfile/ast/vars.go index 0271ee5c3a..93e5e5757c 100644 --- a/taskfile/ast/vars.go +++ b/taskfile/ast/vars.go @@ -117,8 +117,8 @@ func (vars *Vars) ToCacheMap() (m map[string]any) { } // Merge loops over other and merges it values with the variables in vars. If -// the include parameter is not nil and its it is an advanced import, the -// directory is set set to the value of the include parameter. +// the include parameter is not nil and it is an advanced import, the +// directory is set to the value of the include parameter. func (vars *Vars) Merge(other *Vars, include *Include) { if vars == nil || vars.om == nil || other == nil { return