wharfy 0.6.1 — config のエラーが原因を示すようになった
何が問題だったか
wharfy config が失敗すると internal error と exit status 1 だけを返し、原因が分からなかった。同じディレクトリで wharfy status は動く。内部で呼ぶ go list の失敗を、そのメッセージ(stderr)を捨てたまま internal error にしていたため。
変更前
$ wharfy config
✗ internal error
! internal: exit status 1
$ echo $?
0
変更後
$ wharfy config
✗ cannot resolve 'main'
! main_ambiguous: go list ./...: exit status 1: directory prefix . does not
contain main module or its selected dependencies
set 'main' in wharfy.yaml to the build target package (e.g. ./cmd/…)
$ echo $?
1
原因(go list の stderr)がそのまま出る。main を解決できなくても実効設定は --json の data に載る。ok:false のときは終了コードも非ゼロになる。
入れ方
brew upgrade wharfy / scoop update wharfy / go install github.com/ShiroDoromoto/wharfy/cmd/wharfy@latest。Linux は apt / yum リポジトリから。