1 go.{mod|sum} per repository, no vendoring tree/ angular-ui/ cmd/ hello-api-server/ hello-cli/ hello-daemon/ internal/ internal-lib1/ internal-lib2/ library1/ library2/ library3/ python-tests/ go.mod go.sum
On Saturday, 29 February 2020 19:03:34 UTC+1, Sankar wrote: > > I am starting a new project (say `hello`) and I am totally confused about > what package structure to use. > > I am going to go with a monolithic source repository which would be > checked out under `~/src` directory in the developer machines. > > I have three golang binaries available in my project. > > 1) hello-cli : A tool that would give me a CLI, which will be used from my > client machines. Say something similar to the docker-cli > 2) hello-daemon: A daemon to which the CLI tools will talk to. Say > something similar to docker-daemon > 3) hello-api-server: A HTTP server to which the daemon will talk. Say > something similar to dockerhub API server. > > In addition to these three golang binaries, I may have other things like a > webui, some static assets, some integration tests etc. in multiple > languages. > > There will be some libraries that will be used by each of the golang > binaries that will be internal only to the specific binaries and there will > be some libraries, which will be shared across the three binaries. The > three binaries may depend on different versions of the libraries. > > Now the package structure that I thought was: > > [image: Screenshot 2020-02-29 at 11.28.45 PM.png] > > Will this be good or should I make any change ? I am not sure if vendoring > would work fine here as there would be no `github.com/` > <http://github.com/> etc. prefix (or even GOPATH) as I want to checkout > under a special path (`~/src`). > > I have attached the hello.zip file also. Does this package structure work > ? Or should I do something different ? > > Thanks. > > > -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/c482c046-8584-4143-8994-e14bb2ae7f03%40googlegroups.com.