Makefileを使うのが個人的に辛かったので、Taskというツールを試している
Goで実装されているタスクランナーツールで、yamlファイルで設定を書くことができる。
yamlファイル自体はGithub Actionsなどでも書いているので、自分は違和感なく入ることができた。
ドキュメントもしっかり作られているものの、まだ参考になるブログ記事などが少なく、使いこなすにはそれなりに苦労する。
brewでインストールする際は go-task
となっているので注意。
brew install go-task
現在ははてなブログ関連の処理を自動化するために使っている。
version: 3
tasks:
pull:
cmds:
- blogsync pull piruty2.hatenablog.jp
push:
cmds:
- task: check_args
- blogsync push {{.CLI_ARGS}}
draft:
cmds:
- task: check_args
- blogsync post --draft --custom-path={{now | date "2006/01/02"}}/{{.CLI_ARGS}} piruty2.hatenablog.jp < draft.md
check_args:
preconditions:
- sh: (! {{empty .CLI_ARGS}})
msg: 引数がありません
pull/push/draftという3つのタスクが実装されており、blogsyncコマンドを使ってはてなブログとやり取りする
cmds
に記述されたコマンドが順番に実行される
引数が必要なタスクについては、 check_args
タスクを実行して引数をチェックする。
preconditions
を使うことで、コマンドが実行される前に確認を行う
引数自体は .CLI_ARGS
で参照できる
また、empty
やnow
, date
など、Go関連のコマンドを直接実行できるようになっている
個人的にはGo言語も嫌いではないので、これを気にGo言語に再入門しようかとも考えている