wharfy 0.3.0 — 依存を持つツールも『普通に入れたら動く』
0.2.x で全チャネルが実際に届くようになりました。0.3.0 は次の穴を塞ぎます。実行時に別の ツールを必要とするバイナリが、普通の入れ方で依存ごと入るように。要点を「問題点 → 変更前 → 変更後」で。
依存を持つツールが「入ったが動かない」状態で届いた
- 問題点: バイナリが実行時に別コマンドへ shell out する場合、普通に入れたらその依存も入ってほしいのに、所有チャネルのどれも依存を載せられなかった。
homebrew.dependenciesはスキーマにあるのに生成物へ出ない dead field だった。 - 変更前:
wharfy.yamlに書いても formula / manifest / deb・rpm は変わらず、本体は入っても依存は入らない。 - 変更後: 一度宣言すれば、各チャネルの native 記法で自動出力。
| チャネル | wharfy.yaml | 生成 |
|---|---|---|
| homebrew | dependencies: [git] | depends_on "git" |
| scoop | dependencies: [git] | manifest "depends" |
| apt / rpm | depends / recommends / suggests | deb・rpm の Depends / Recommends / Suggests |
apt/rpm は必須・推奨・提案を区別し、apt と rpm を別々に書けます。依存パッケージ名
はディストロで異なるため、各指定はそのフォーマット専用です。出力は決定的(sort 済み)で、
書かなければ生成物は不変(後方互換)。
入れ方
brew upgrade wharfy / scoop update wharfy / go install github.com/ShiroDoromoto/wharfy/cmd/wharfy@latest。Linux は apt / yum リポジトリから。