Files
go-task/testdata/vars/any2/Taskfile.yml
2024-01-11 14:44:04 +00:00

79 lines
1.6 KiB
YAML

version: '3'
tasks:
default:
- task: map
- task: json
- task: yaml
map:
vars:
MAP:
map: {"name":"Alice","age":30,"children":[{"name":"Bob","age":5},{"name":"Charlie","age":3},{"name":"Diane","age":1}]}
cmds:
- task: print-var
vars:
VAR:
ref: MAP
map-ref:
vars:
MAP:
map: {"name":"Alice","age":30,"children":[{"name":"Bob","age":5},{"name":"Charlie","age":3},{"name":"Diane","age":1}]}
MAP_REF:
ref: MAP
cmds:
- task: print-var
vars:
VAR:
ref: MAP_REF
map-ref-sh:
vars:
JSON_STRING:
sh: echo '{"name":"Alice","age":30,"children":[{"name":"Bob","age":5},{"name":"Charlie","age":3},{"name":"Diane","age":1}]}'
JSON:
json: "{{.JSON_STRING}}"
MAP_REF:
ref: JSON
cmds:
- task: print-var
vars:
VAR:
ref: MAP_REF
json:
vars:
JSON_STRING:
sh: cat example.json
JSON:
json: "{{.JSON_STRING}}"
cmds:
- task: print-var
vars:
VAR:
ref: JSON
yaml:
vars:
YAML_STRING:
sh: cat example.yaml
YAML:
yaml: "{{.YAML_STRING}}"
cmds:
- task: print-var
vars:
VAR:
ref: YAML
print-var:
cmds:
- >-
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 -}}"