LoginSignup
3
4

More than 5 years have passed since last update.

Go言語以外のリポジトリを.goimportsignoreに追加する

Last updated at Posted at 2016-07-24

はじめに

ghqを使ったローカルリポジトリの統一的・効率的な管理について
ghq: リモートリポジトリのローカルクローンをシンプルに管理するで紹介されているように,
$GOPATH/src以下に言語に関わらずすべてのソースコードを集めると,
リポジトリ管理が楽になる反面$GOPATH/srcがどんどん大きくなっていく.

goimportsのスキャン対象から特定ディレクトリを除外するによると,
.goimportsignore に記載されたパスは goimports の対象から外れるそうなので,
Go言語以外のリポジトリを追加することにした.

gii

gii$GOPATH/src 以下にある git リポジトリのうち,
.go ファイルを含まないものを $GOPATH/src/.goimportsignore に追加するツール.

インストールは,

go get github.com/jkawamoto/gii

か,Homebrew を使っている場合は,

brew tap jkawamoto/gii
brew install gii

または,ここからバイナリを取得する.

実行は,単に gii を呼ぶだけ.--gopath オプションで $GOPATH 以外をルートにできる.
ヘルプテキストは次の通り.

gii [global options]

GLOBAL OPTIONS:
   --gopath GOPATH  GOPATH [$GOPATH]
   --help, -h       show help
   --version, -v    print the version

すでに,.goimportsignore が存在している場合は,重複しないエントリのみ追記する.
削除には対応していないので,手動で行う必要がある.

おわりに

$GOPATH/src にあって,Go言語以外のリポジトリはそこそこあるが,
大多数は go get で適当に取ってきたライブラリなので,あまり goimports 速度は改善はしないかも知れない.
また,似たツールはすでにたくさんありそう・・・.

(2016年7月24日追記)
pwaller/goimports-update-ignoreというツールがありました :P

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4