golangのversion1.9から標準でvendorディレクトリを除外してくれるようになった
今更かよ・・って感じのタイトルですが笑
go vet ./... | grep -v vendor
のようなコマンドを自分のシェルスクリプトから見つけたので
「そういえば1.9から標準でvendorディレクトリを
除外してくれるようになったからgrepしなくていいんだ」
ということに気づいて、ついでに書きたいなと思ったので書きます。
vendorディレクトリが含まれちゃう問題
前にこちらの記事でも触れていますが
golangのコマンドで
go vet ./...
などを実行すると、
依存パッケージが入っているvendorディレクトリも対象になってしまいます。
しかしvendorディレクトリは依存パッケージなので自分が書いたコードではありません。
vetコマンドなどを実行したときはvendorディレクトリを無視して欲しいので
エンジニアは各々
go vet ./... | grep -v vendor
などの対策をしていました。
(あくまで一例で他にもやり方は色々あります。)
めんどくさいなーと常々思っていたのですが
golangのバージョン1.9から標準でvendorディレクトリは無視してくれるようになりました!
バージョン1.9から標準でvendorディレクトリを無視してくれるように!
リリースノートに載ってます。
Go 1.9 Release Notes - The Go Programming Language
Vendor matching with ./... By popular request, ./... no longer matches packages in vendor directories in tools accepting package names, such as go test. To match vendor directories, write ./vendor/....
やっぱり要望が多かったみたいですね!
これでより快適にgolangコマンドを実行できますね。
おわり!!