超絶便利!maidを使ってTaskRunnerでRustのタスクを実行する
本記事
本記事ではMarkdownでタスクランナーがかけるNode.js製のmaidというものを使ってみます。
特にmarkdownだと言語に縛られることもなく、好きな箇所で好きなように定義できるので便利です。
しかしながら、その柔軟性のためgalpやgruntなどのように高機能ではないので簡単なタスクをこなすために使ってみましょう。
今回はRustのプロジェクトに対して使いますが、Rustにはもともと[tasks]
などでタスクを定義できます。しかしpackage.json
にもscripts
フィールドがあってgalpなどがあるように、複雑なタスクをこなすためにタスクランナーを使います。
インストール方法
以下のようにインストールします。私はyarn
を好んでいるのですが、好みに合わせてnpm
を使ってもらっても構いません。
yarn global add maid
チーム開発ならば
yarn add maid --dev
のようにするとチーム内で共有できるでしょう。
タスクを定義
タスク定義ファイルを作成
ファイル名はmaidfile.md
でなければなりません。ファイルを作ります。
touch maidfile.md
タスクを定義する
以下のようにタスクを##
を使って定義します。今回は簡単なタスクを定義します。
説明も追記することができます。
echo << EOF >> maidfile.md ## lint lintします。 ``bash cargo fmt `` ## build ``bash cargo build `` ## run ``bash cargo run `` EOF
実行できるタスクを表示
以下のようにタスク一覧を表示します。
maid help Tasks in maidfile.md: lint lintします。 build No description run No description
タスクを実行する
実際にタスクを実行するには以下のコマンドを実行します。
maid lint
フックを設定する
タスクにはフックと呼ばれるものがあり、「すべてのタスクの前にしたいこと」などを設定できます。
現在、設定できるタスクは以下の通りです。
pre<taskName>
post<taskName>
afterAll
beforeAll
これを##
で設定すればよいです。