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言語に再入門しようかとも考えている