wharfy 0.6.1 — config のエラーが原因を示すようになった

何が問題だったか

wharfy config が失敗すると internal errorexit 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 を解決できなくても実効設定は --jsondata に載る。ok:false のときは終了コードも非ゼロになる。

入れ方

brew upgrade wharfy / scoop update wharfy / go install github.com/ShiroDoromoto/wharfy/cmd/wharfy@latest。Linux は apt / yum リポジトリから。