mirror of
https://github.com/sourcegraph/sourcegraph.git
synced 2026-02-06 13:31:54 +00:00
Adds a new: - gazelle generator - rule + rule targets + catchall target for generating go-mockgen mocks & testing for their being up-to-date. Each go_mockgen macro invocation adds targets for generating mocks, copying to the source tree, as well as testing whether the current source tree mocks are up-to-date. How to use this: `bazel run //dev:go_mockgen` for the catch-all, or `bazel run //some/target:generate_mocks` for an individual package, and `bazel test //some/target:generate_mocks_tests` to test for up-to-date-ness. There is no catch-all for testing This currently uses a fork of go-mockgen, with an open PR for upstream here: https://github.com/derision-test/go-mockgen/pull/50. Closes https://github.com/sourcegraph/sourcegraph/issues/60099 ## Test plan Extensive testing during development, including the following cases: - Deleting a generated file and its entry in a go_library/go_test `srcs` attribute list and then re-running `sg bazel configure` - Adding a non-existent output directory to mockgen.test.yaml and running the bash one-liner emitted to prepare the workspace for rerunning `sg bazel configure` The existing config tests a lot of existing paths anyway (creating mocks for a 3rd party library's interface, entries for a given output file in >1 config file etc)
6 lines
274 B
Go
6 lines
274 B
Go
package sourcegraph
|
|
|
|
// Keep these versions in sync with go.mod
|
|
//go:generate env GOBIN=$PWD/.bin GO111MODULE=on go install golang.org/x/tools/cmd/goimports@v0.17.0
|
|
//go:generate go run github.com/derision-test/go-mockgen/cmd/go-mockgen@v1.3.8-0.20240105000756-fb9effb23d90
|