概要
以下、自分用のメモです。
OS毎に実行するタスクを切り替える
{{OS}}
という変数にTask側が今のプラットフォームを設定してくれていますので、それを元に切り替えます。
試してみる
以下のようなファイル階層になっているとします。
$ tree 09.os-specific/ 09.os-specific/ ├── Taskfile_linux.yml ├── Taskfile_windows.yml └── Taskfile.yml 0 directories, 3 files
メインのタスクファイルは以下のようになっています。
version: '3' includes: os: Taskfile_{{OS}}.yml tasks: default: cmds: - task: os:run
んで、OS毎のファイルを以下のようにそれぞれ用意。
Windows
version: '3' tasks: run: cmds: - echo 'WINDOWS'
Linux
version: '3' tasks: run: cmds: - echo 'LINUX'
実行すると以下のようになります。(当方はGitpod上で作業しているのでOSはLinuxです。)
gitpod /workspace/try-gotask (main) $ task -d 09.os-specific/ task: [os:run] echo 'LINUX' LINUX
参考情報
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。