こんな感じに
- "../completion" - "../shell" + "github.com/zetamatta/nyagos/completion" + "github.com/zetamatta/nyagos/shell"
これにより:
- ソースを GOPATH 内に置けなかった
go get github.com/zetamatta/nyagosで全ソースをダウンロードできなかった。
(git clone http://github.com/zetamatta/nyagos/は可能)
が解消する。そのかわり
- ソースの置き場が
$GOPATH/src/github.com/zetamatta/nyagosと一意になってしまう。- amd64 用のビルド場所はこちら、386 用のビルド場所はこちらと、複数設けることができなくなってしまう。
(lua53.dll が 64bit 用も 32bit 用も同じ名前なので、同じ場所におけない)
- amd64 用のビルド場所はこちら、386 用のビルド場所はこちらと、複数設けることができなくなってしまう。
という問題が発生してしまう。
いろいろと検討した結果、とりあえず現行の自分のビルド環境は次のようにすることにした。
- メインのメンテナンスディレクトリは
~/go/nyagosから~/go/src/github.com/zetamatta/nyagosに変更 (ここでamd64用ビルドする)- 移動が大変なので
lnk ~/go/src/github.com/zetamatta/nyagos ~でショートカットを張る
- 移動が大変なので
- 386 ビルド用ディレクトリは従来どおり
~/go/386-nyagosのまま- ただしビルド専用。import の先が
~/go/src/github.com/zetamatta/nyagosになってしまうので、ソースの編集はこちらではできない
- ただしビルド専用。import の先が
でいこうと思う。
将来的には ~/go/src/github.com/zetamatta/nyagos のいたまま amd64 も 386 もビルドできるようにしたい。
そのためには、今 ~/go/src/github.com/zetamatta/nyagos 直下にある lua53.dll を適当なサブフォルダーに移動させなくてはいけない。
でも、lua53.dll って git に登録していないバイナリファイルなので、移動させるとなるとソースからビルドしてくれているユーザにそれをアナウンスしなくちゃ
いけないんですよね…むーん。
lua53.dll も git に登録しちうという手もあるが、そうすると git clone とか go get でバイナリファイルがダウンロードされるので、
アンチウィルスにひっかかってしまう可能性が出てきてしまうという…
将来的に $GOPATH 以下でも、相対パスの import ができるようにならないですかね (これ、なぜできないようにしたんでしょうね)
追記
「386 と amd64 で $GOPATH を分ける」という方法を思いついた。いずれやってみよう