This repository has been archived by the owner on Sep 30, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 89
TODO
Paul Jolly edited this page Nov 12, 2018
·
17 revisions
- "How do I structure a mono-repo? Do I have just one
go.mod
at the root? How do I decide where to place ago.mod
?" - A guide on how Hugo migrated from dep to vgo - perhaps ask @bep to help finesse this one?
- "How do I use custom import paths with go modules?"
- Using internal packages with modules
- How to use
go get X@branch
- How and when to use a proxy via
GOPROXY
(including a proxy to the local file system as well as Athens) - Using
go run
(with the new package argument, when supported), particularly with module versions>= 2
- Using
goget
(when it is available) - "How do I work with forks?"
- "My git repo has a number of packages within it (but it's not a classic mono-repo). How do I decide which packages should be separate modules? What are the pros and cons of having a single top-level module vs more modules?"
- "How can I grep all of myapp's dependencies?" (reuse part of this answer)
- Explain direct vs indirect module dependencies
- Example that depends on both v1 and v2 of a module
- Working with complicated dependencies that are not yet modules, e.g. k8s. https://github.com/golang/go/issues/27457#issuecomment-419364867 as of https://github.com/prometheus/prometheus/commit/068eaa5dbfce6c08f3d05d3d3c0bfd96267cfed2
- "How do I work with projects/packages that have not yet been converted to by Go modules?" (possibly borrow from https://github.com/golang/go/issues/25674)
- How to use
go list
for packages/modules; i.e. to list test dependencies- Why
./...
ignores submodules - Include
go list -m
- Why
- Using
go mod
-
go mod edit
and its various flags, instead of creating file by hand -
go mod why
- Difference between using
-m
and not; takeaws-sdk-go
example withgithub.com/davecgh/go-spew
- https://github.com/golang/go/issues/28171
- Difference between using
- Visualising dependencies using
go mod graph
anddot
-
- Options for how to structure your repo when making breaking changes
- Using 'golang.org/x/tools/cmd/digraph' to analyse dependencies
- Using https://github.com/rsc/goversion
- Writing a tool using
go/packages
to analyse modules-based code - Use https://github.com/rogpeppe/gomodmerge
- Example using https://gist.github.com/ajstarks/6b1128976479f98dde59bf2b78b9d76b / https://github.com/ajstarks/radial/blob/master/README.md
- Create an example that shows the process behind https://github.com/myitcv/x
- Best-practice CI for modules
- When it stabilise,
apidiff
- Automate the building of a table of contents in this README
- Implement some sort of hash-bashed caching of
README.md + script.sh + egrunner + mdreplace + vgo version + ...