関連記事
GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ
概要
これまでの Task に関する記事は上の関連記事をご参照ください。
タスクにてファイルパスを扱うことが結構多いです。そこで知っておくと便利なビルドイン関数が joinPath
です。
使い方はそのまんまですが {{ joinPath A B }}
となります。
サンプル
以下のようなタスクファイルを用意します。
# https://taskfile.dev version: "3" vars: PROJ_DIR: .. BASE_DIR: "{{.PROJ_DIR}}/01.helloworld" tasks: default: cmds: - task: files1 - cmd: echo ------------------------------------------ silent: true - task: files2 files1: dir: '{{.BASE_DIR}}' vars: ITEMS: - README.md - Taskfile.yml cmds: - for: { var: ITEMS } cmd: echo {{joinPath .BASE_DIR .ITEM}} files2: vars: ITEMS: sh: find {{.PROJ_DIR}} -type f -name '*.yml' cmds: - for: { var: ITEMS } cmd: echo {{.ITEM}} silent: true
実行すると以下のように、以下のようになります。
$ task -d 32.joinpath/ task: [files1] echo ../01.helloworld/README.md ../01.helloworld/README.md task: [files1] echo ../01.helloworld/Taskfile.yml ../01.helloworld/Taskfile.yml ------------------------------------------ ../.gitpod.yml ../01.helloworld/Taskfile.yml ../03.default-task/Taskfile.yml ../04.env/Taskfile.yml ../05.dotenv/Taskfile.yml ../06.include/Taskfile.yml ../06.include/other/Taskfile.yml ../06.include/other2/othertaskfile.yml ../07.no-color/Taskfile.yml ../08.silent/Taskfile.yml ../09.os-specific/Taskfile.yml ../09.os-specific/Taskfile_linux.yml ../09.os-specific/Taskfile_windows.yml ../10.variable/Taskfile.yml ../11.cliargs/Taskfile.yml ../12.defer/Taskfile.yml ../13.internal-task/Taskfile.yml ../14.shopt/Taskfile.yml ../15.single-command-task/Taskfile.yml ../16.prompt/Taskfile.yml ../17.dryrun/Taskfile.yml ../18.preconditions/Taskfile.yml ../19.loop-over-static-list/Taskfile.yml ../20.loop-over-task-source/Taskfile.yml ../21.loop-over-variables/Taskfile.yml ../22.loop-rename-variables/Taskfile.yml ../23.loop-over-task/Taskfile.yml ../24.prevent-same-build/Taskfile.yml ../25.run-cmd-on-windows/Taskfile.yml ../26.global-taskfile/Taskfile.yml ../27.run-interactive-cli-app/Taskfile.yml ../28.remote-taskfile/Taskfile.yml ../29.platform-specific-tasks/Taskfile.yml ../30.loop-over-dependencies/Taskfile.yml ../31.v338-cli_silent-cli_verbose/Taskfile.yml ../32.joinpath/Taskfile.yml
try-gotask/32.joinpath at main · devlights/try-gotask · GitHub
参考情報
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。