関連記事
Task (go-task) メモ-23 (loop over static list, ループ機能, 静的なリストをループ) - いろいろ備忘録日記
Task (go-task) メモ-24 (loop over task's source, ループ機能, タスクソースをループ) - いろいろ備忘録日記
Task (go-task) メモ-25 (loop over variables, ループ機能, 変数の値をループ) - いろいろ備忘録日記
Task (go-task) メモ-26 (renaming variable, ループ機能, ループ変数の名前を変更) - いろいろ備忘録日記
GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ
概要
これまでの Task に関する記事は上の関連記事をご参照ください。
v3.28.0 から待望のループ機能が追加されました。これは嬉しいです。
ドキュメント上での記載は以下となります。
今回はループ内で別のタスクを呼び出すやり方について。
既に何かの処理を担当するタスクが存在している場合は、それを呼び出したほうが良いですね。
その場合、呼び出すサブタスクの中で使用している変数がある場合、ループ変数の現在の値を設定したくなります。
それも出来るようになっています。
サンプル
# https://taskfile.dev version: "3" tasks: default: vars: FILES: sh: ls -1 cmds: - for: { var: FILES } task: proc vars: FILE: "{{ .ITEM }}" proc: internal: true cmds: - task: echo vars: TARGET: "{{ .FILE }}" - task: wc vars: TARGET: "{{ .FILE }}" - task: hr echo: internal: true cmds: - echo '{{ .TARGET }}' wc: internal: true cmds: - wc '{{ .TARGET }}' hr: internal: true silent: true cmds: - echo '---------------------------------'
実行すると以下のようになります。
$ task --version Task version: v3.28.0 (h1:PGYGwevlGQdYrqhO6lLCYylC7YuGoQLlVwHkO42gf0I=) $ task task: [echo] echo 'README.md' README.md task: [wc] wc 'README.md' 70 113 1207 README.md --------------------------------- task: [echo] echo 'Taskfile.yml' Taskfile.yml task: [wc] wc 'Taskfile.yml' 37 75 609 Taskfile.yml ---------------------------------
参考情報
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。