Hi,

This is not to start a flamewar but I have been using go for a while now 
and then I stumpled upon a question about the way one should structure a 
workspace that seems to be different from several articles, the 
documentation and they way people structure their github repositories.

First question:

GOPATH is normally ~/go unless otherwise. So by using go get like go get 
github.com/golang/example/hello it adds the files in 
~/go/src/github.com/golang/examples/hello. But if you are using a CI system 
that needs to check the entire system out with access from the internet its 
seems to be easier to structure the project like

src/
   /hello/
         /hello.go
bin/
pkg/
internal/
vendor/
      /github.com/golang/example/stringutil/
Makefile

and then make the Makefile set GOPATH=$(shell pwd). But is this best 
practice when the CI server does not have access to the internet?

Second question:

In the documentation on golang.org there is an example of using the pkg 
where a .a file is kept after building. But several others who have been 
long term members of the Go community have best practice where they place 
source files under pkg. It seems that there is a disagreement on what 
should be put in there. The only thing I can find that everyone agrees on 
is that its for packages. But should one place local non exported packages 
there or is the internal folder better for that ?

All of the above solutions work but I'd really like someones oppinion on 
what is best regarding future use of go tools.

Best regards
Kim

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to