関連記事
GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ
概要
これまでの Task に関する記事は上の関連記事をご参照ください。
v3.41.0にて、TASK_DIR
という変数が新たに追加されました。
この変数には、実行時のタスクファイルの場所が設定されます。
親のタスクファイルにて、子のタスクファイルをincludeしている場合
子のタスクファイル内の TASK_DIR
の値は親と同じになります。
(子のタスクファイルを直接実行した場合は、当然子のタスクファイルの場所になります)
実行例
ファイル構成
$ tree . . ├── README.md ├── subdir │ └── Taskfile.yml └── Taskfile.yml 1 directory, 3 files
親タスクファイル
# https://taskfile.dev version: '3' includes: subdir: ./subdir tasks: default: cmds: - task: call-self-taskdir - task: subdir:taskdir - task: call-subdir-taskfile call-self-taskdir: - echo "{{.TASK_DIR}}" call-subdir-taskfile: - task -d "{{.TASK_DIR}}/subdir" taskdir
子のタスクファイル
# https://taskfile.dev version: '3' tasks: taskdir: cmds: - echo "{{.TASK_DIR}}"
実行
$ task task: [call-self-taskdir] echo "/workspace/try-gotask/34.v341-taskdir" /workspace/try-gotask/34.v341-taskdir # <-- 親タスクファイルの場所 task: [subdir:taskdir] echo "/workspace/try-gotask/34.v341-taskdir" /workspace/try-gotask/34.v341-taskdir # <-- 子のタスクファイルからの実行だが、場所は親タスクファイルの場所となる task: [call-subdir-taskfile] task -d "/workspace/try-gotask/34.v341-taskdir/subdir" taskdir task: [taskdir] echo "/workspace/try-gotask/34.v341-taskdir/subdir" /workspace/try-gotask/34.v341-taskdir/subdir # <-- 子のタスクファイルを直接実行した場合は、場所は子のタスクファイルの場所
参考情報
- https://taskfile.dev/changelog/#v3410---2025-01-18
- https://github.com/go-task/task/issues/1959
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。