1
0
mirror of https://github.com/go-task/task.git synced 2025-12-26 00:31:38 +02:00
Files
task/testdata/vars/any/Taskfile.yml

115 lines
2.5 KiB
YAML
Raw Permalink Normal View History

2023-12-03 15:56:28 +00:00
version: '3'
tasks:
default:
- task: map
2025-04-28 21:04:24 +00:00
- task: nested-map
- task: slice
- task: ref
- task: ref-sh
- task: ref-dep
- task: ref-resolver
- task: json
2023-12-03 15:56:28 +00:00
2025-04-28 21:04:24 +00:00
map:
2023-12-03 15:56:28 +00:00
vars:
2025-04-28 21:04:24 +00:00
MAP:
map: {"name":"Alice","age":30,"children":[{"name":"Bob","age":5},{"name":"Charlie","age":3},{"name":"Diane","age":1}]}
2023-12-03 15:56:28 +00:00
cmds:
2025-04-28 21:04:24 +00:00
- task: print-story
vars:
VAR:
ref: .MAP
2023-12-03 15:56:28 +00:00
2025-04-28 21:04:24 +00:00
nested-map:
2023-12-03 15:56:28 +00:00
vars:
2025-04-28 21:04:24 +00:00
FOO: "foo"
nested:
map:
variables:
work: "{{.FOO}}"
2023-12-03 15:56:28 +00:00
cmds:
2025-04-28 21:04:24 +00:00
- echo {{.nested.variables.work}}
2023-12-03 15:56:28 +00:00
2025-04-28 21:04:24 +00:00
slice:
2023-12-03 15:56:28 +00:00
vars:
2025-04-28 21:04:24 +00:00
FOO: "foo"
BAR: "bar"
slice_variables_work: ["{{.FOO}}","{{.BAR}}"]
2023-12-03 15:56:28 +00:00
cmds:
2025-04-28 21:04:24 +00:00
- echo {{index .slice_variables_work 0}} {{index .slice_variables_work 1}}
2023-12-03 15:56:28 +00:00
2025-04-28 21:04:24 +00:00
ref:
2023-12-03 15:56:28 +00:00
vars:
2025-04-28 21:04:24 +00:00
MAP:
map: {"name":"Alice","age":30,"children":[{"name":"Bob","age":5},{"name":"Charlie","age":3},{"name":"Diane","age":1}]}
MAP_REF:
ref: .MAP
2023-12-03 15:56:28 +00:00
cmds:
2025-04-28 21:04:24 +00:00
- task: print-story
vars:
VAR:
ref: .MAP_REF
2023-12-03 15:56:28 +00:00
2025-04-28 21:04:24 +00:00
ref-sh:
2023-12-03 15:56:28 +00:00
vars:
2025-04-28 21:04:24 +00:00
JSON_STRING:
sh: echo '{"name":"Alice","age":30,"children":[{"name":"Bob","age":5},{"name":"Charlie","age":3},{"name":"Diane","age":1}]}'
JSON: "fromJson {{.JSON_STRING}}"
MAP_REF:
ref: .JSON
2023-12-03 15:56:28 +00:00
cmds:
2025-04-28 21:04:24 +00:00
- task: print-story
vars:
VAR:
ref: .MAP_REF
2023-12-03 15:56:28 +00:00
2025-04-28 21:04:24 +00:00
ref-dep:
2023-12-03 15:56:28 +00:00
vars:
2025-04-28 21:04:24 +00:00
MAP:
map: {"name":"Alice","age":30,"children":[{"name":"Bob","age":5},{"name":"Charlie","age":3},{"name":"Diane","age":1}]}
deps:
- task: print-story
vars:
VAR:
ref: .MAP
2023-12-03 15:56:28 +00:00
2025-04-28 21:04:24 +00:00
ref-resolver:
2023-12-03 15:56:28 +00:00
vars:
2025-04-28 21:04:24 +00:00
MAP:
map: {"name":"Alice","age":30,"children":[{"name":"Bob","age":5},{"name":"Charlie","age":3},{"name":"Diane","age":1}]}
MAP_REF:
ref: .MAP
2023-12-03 15:56:28 +00:00
cmds:
2025-04-28 21:04:24 +00:00
- task: print-var
vars:
VAR:
ref: (index .MAP_REF.children 0).name
2023-12-03 15:56:28 +00:00
2025-04-28 21:04:24 +00:00
json:
2023-12-03 15:56:28 +00:00
vars:
2025-04-28 21:04:24 +00:00
JSON_STRING:
sh: cat example.json
JSON:
ref: "fromJson .JSON_STRING"
2023-12-03 15:56:28 +00:00
cmds:
2025-04-28 21:04:24 +00:00
- task: print-story
vars:
VAR:
ref: .JSON
2023-12-03 15:56:28 +00:00
2025-04-28 21:04:24 +00:00
print-var:
cmds:
2025-04-28 21:04:24 +00:00
- echo "{{.VAR}}"
2025-04-28 21:04:24 +00:00
print-story:
cmds:
2025-04-28 21:04:24 +00:00
- >-
echo "{{.VAR.name}} has {{len .VAR.children}} children called
{{- $children := .VAR.children -}}
{{- range $i, $child := $children -}}
{{- if lt $i (sub (len $children) 1)}} {{$child.name -}},
{{- else}} and {{$child.name -}}
{{- end -}}
{{- end -}}"