1
0
mirror of https://github.com/go-task/task.git synced 2025-04-18 12:04:04 +03:00

feat: process variables in include vars (#2113)

* feat: process variables in include vars

* feat: add test for include variables
This commit is contained in:
Pete Davison 2025-04-05 23:12:54 +01:00 committed by GitHub
parent a24f4958cd
commit f0414f162d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 16 additions and 26 deletions

View File

@ -1961,6 +1961,10 @@ 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"}))
t.Log(buff.String())

View File

@ -254,7 +254,7 @@ func (r *Reader) include(node Node) error {
Aliases: include.Aliases,
AdvancedImport: include.AdvancedImport,
Excludes: include.Excludes,
Vars: include.Vars,
Vars: templater.ReplaceVars(include.Vars, cache),
}
if err := cache.Err(); err != nil {
return err

View File

@ -1,16 +1,23 @@
version: "3"
vars:
VAR_1: included4-var1
includes:
included1:
taskfile: include/Taskfile.include1.yml
taskfile: include/Taskfile.include.yml
vars:
VAR_1: included1-var1
included2:
taskfile: include/Taskfile.include2.yml
taskfile: include/Taskfile.include.yml
vars:
VAR_1: included2-var1
included3:
taskfile: include/Taskfile.include3.yml
taskfile: include/Taskfile.include.yml
included4:
taskfile: include/Taskfile.include.yml
vars:
VAR_1: "{{.VAR_1}}"
tasks:
task1:
@ -18,3 +25,4 @@ tasks:
- task: included1:task1
- task: included2:task1
- task: included3:task1
- task: included4:task1

View File

@ -1,11 +0,0 @@
version: "3"
vars:
VAR_1: '{{.VAR_1 | default "included-default-var1"}}'
VAR_2: '{{.VAR_2 | default "included-default-var2"}}'
tasks:
task1:
cmds:
- echo "VAR_1 is {{.VAR_1}}"
- echo "VAR_2 is {{.VAR_2}}"

View File

@ -1,11 +0,0 @@
version: "3"
vars:
VAR_1: '{{.VAR_1 | default "included-default-var1"}}'
VAR_2: '{{.VAR_2 | default "included-default-var2"}}'
tasks:
task1:
cmds:
- echo "VAR_1 is {{.VAR_1}}"
- echo "VAR_2 is {{.VAR_2}}"