いろいろ備忘録日記

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

Goで作られたタスクランナー (makeの代わりに, go-task/task, Taskfile.yml)

概要

名前が一般的すぎて、よくURLとか探すのに苦労するので、忘れないようここにメモメモ。。。

taskfile.dev

github.com

Goで作られたタスクランナーです。Makeが入っていない環境(Windowsとか)でも使えるので何気に重宝しています。

各OSごとにバイナリもあるので実質どこでも使えるのもいいですね。

Goで作られているので go install github.com/go-task/task/v3/cmd/task@latest ってやればインストール出来るのですが

ビルド済みモジュールが各パッケージマネージャごとにサポートされていますので、そちらで入れても良しです。

Windowsの場合は scoop で

$ scoop bucket add extras
$ scoop install task

でインストールできます。

サンプル

https://taskfile.dev/#/usage?id=getting-started

ここに使い方が詳しく書いてあります。基本的にやりたいことをタスクとして定義して

version: '3'

tasks:
  hello:
    cmds:
      - echo 'helloworld'

後は実行するだけです。

$ task hello
task: [hello] echo 'helloworld'
helloworld

ちなみにWindowsでなんかのアプリを起動したい場合とかは

# see: https://taskfile.dev/#/
version: '3'

tasks:
  xxxx:
    desc: Start xxxx.exe
    cmds:
      - cmd /c "start /path/to/exe"

ってやるとアプリ起動してくれます。 (cmd /k じゃなくて cmd /c な点に注意)


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

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