タスク一覧だけでは中身まで分からない
【mise】mise tasks lsでタスク一覧を詳しく確認する
でタスクの一覧は確認できるが、1件のタスクが具体的にどんなコマンドを実行し、何に依存しているかまでは分からない。mise tasks infoは、指定した1件のタスクの詳細情報を表示するコマンドである。
mise tasks infoの基本
タスク名を指定するだけで、説明・依存タスク・実行コマンドなどをまとめて確認できる。
[tasks.test]
description = "Test the application"
alias = "t"
depends = ["build"]
run = "echo testing"
[tasks.build]
run = "echo building"
$ mise tasks info test
Task: test
Aliases: t
Description: Test the application
Source: /path/to/project/mise.toml
Depends on: build
Run:
echo testing
Usage Spec:
name test
bin test
description/alias/dependsのように省略可能な項目は、設定していなければ表示自体が省略される。
$ mise tasks info build
Task: build
Description:
Source: /path/to/project/mise.toml
Run:
echo building
Usage Spec:
name build
bin build
ファイルタスクの場合はFileが表示される
mise-tasks/配下の実行可能スクリプトとして定義したファイルタスクを指定すると、Run:の代わりにFile:へスクリプトのパスが表示される。Sourceもそのスクリプトファイル自身を指す。
$ mise tasks info deploy
Task: deploy
Description:
Source: /path/to/project/mise-tasks/deploy
File: /path/to/project/mise-tasks/deploy
Usage Spec:
name deploy
bin deploy
–jsonで詳細な情報を取得する
--jsonを付けると、プレーンテキストでは省略される情報も含めて、タスクの全設定をJSONで取得できる。ヘルプのExamplesに載っている出力例は簡略化された古いもので、実際にはcache・tools・usage_specなど、はるかに多くのフィールドを含んだJSONが返る。
$ mise tasks info test --json | jq 'keys'
[
"aliases",
"cache",
"config_sources",
"depends",
"depends_post",
"description",
"dir",
"env",
"file",
"hide",
"interactive",
"name",
"outputs",
"quiet",
"raw",
"run",
"shell",
"silent",
"source",
"sources",
"tools",
"usage_spec",
"wait_for"
]
タスクの設定を他のツールから機械的に読み取りたい場合は、ヘルプの簡略化された例ではなく、実際に--jsonを実行して得られるキー一覧を確認してから使う。
\第一線のプログラマーの行動原理を学べる!/
