| # Support replace statement in go.work file |
| |
| # Replacement in go.work file, and none in go.mod file. |
| go list -m example.com/dep |
| stdout 'example.com/dep v1.0.0 => ./dep' |
| |
| # Wildcard replacement in go.work file overrides version replacement in go.mod |
| # file. |
| go list -m example.com/other |
| stdout 'example.com/other v1.0.0 => ./other2' |
| |
| -- go.work -- |
| use m |
| |
| replace example.com/dep => ./dep |
| replace example.com/other => ./other2 |
| |
| -- m/go.mod -- |
| module example.com/m |
| |
| require example.com/dep v1.0.0 |
| require example.com/other v1.0.0 |
| |
| replace example.com/other v1.0.0 => ./other |
| -- m/m.go -- |
| package m |
| |
| import "example.com/dep" |
| import "example.com/other" |
| |
| func F() { |
| dep.G() |
| other.H() |
| } |
| -- dep/go.mod -- |
| module example.com/dep |
| -- dep/dep.go -- |
| package dep |
| |
| func G() { |
| } |
| -- other/go.mod -- |
| module example.com/other |
| -- other/dep.go -- |
| package other |
| |
| func G() { |
| } |
| -- other2/go.mod -- |
| module example.com/other |
| -- other2/dep.go -- |
| package other |
| |
| func G() { |
| } |