mirror of
https://github.com/go-task/task.git
synced 2026-06-15 11:51:41 +00:00
79 lines
1.6 KiB
YAML
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 -}}"
|