With the modules support added to Go 1.11 this should be straight forward. Create a subdirectory for your go code inside your working copy; change into that and run
go mod init example.com/your/repo Where example.com/your/repo is a placeholder for the _prefix_ you want to apply to all of the packages inside your module, replace it with whatever makes sense for your company and project. >From then on, your Go code can be built by changing into that subdirectory and running go build. Dave On Friday, 28 September 2018 09:48:54 UTC+10, Ian Bruene wrote: > > > I am working on setting up NTPsec's build system to properly handle Go > code, and can only find limited information of the preferred way of > structuring the directory tree. > > Forcing the entire project into GOPATH would be sloppy and a giant kluge > all around. > > Placing the go code in a folder with no special structure (as we currently > do with Python), and then using relative module paths appears to work in > testing. However from what I gather relative module paths are a deeply > unkosher feature that should not be depended on. > > The only other way I see is simply to replicate a GOPATH directory > structure within the project and have the build tools define a custom > GOPATH. This forces a somewhat clunky directory structure on the project > with an otherwise unneeded src/ directory. A possible workaround would be > to structure the code as with Python, then have the build system copy the > files into a src/ directory under build/ and run with that GOPATH. > > -- 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.