いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Task (go-task) メモ-13 (OS毎にタスクファイルを切り替える)

概要

以下、自分用のメモです。

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

github.com

参考情報

taskfile.dev

github.com

engineer.retty.me

zenn.dev

zenn.dev


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。