Skip to content

Commit

Permalink
pb: avoid protobuf warning due to common filename (#1519) (#1731)
Browse files Browse the repository at this point in the history
If a Go program imports both badger (v1) and badger/v2, a warning will
be produced at init time:

	WARNING: proto: file "pb.proto" is already registered
	A future release will panic on registration conflicts. See:
	https://developers.google.com/protocol-buffers/docs/reference/go/faq#namespace-conflict

The problem is the "pb.proto" filename; it's registered globally, which
makes it very likely to cause conflicts with other protobuf-generated
packages in a Go binary.

Coincidentally, this is a problem with badger's pb package in the v1 module,
since that too uses the name "pb.proto". Instead, call the file
"badgerpb2.proto", which should be unique enough, and it's also the name
we use for the Protobuf package.

Finally, update gen.sh to work out of the box via just "bash gen.sh"
without needing extra tweaks, thanks to the "paths=source_relative"
option. It forces output files to be produced next to the input files,
which is what we want.

(cherry picked from commit 3e6a4b7)

Co-authored-by: Daniel Martí <[email protected]>
  • Loading branch information
NamanJain8 and mvdan authored Jul 21, 2021
1 parent 3f846b3 commit 73c1ce3
Show file tree
Hide file tree
Showing 3 changed files with 215 additions and 218 deletions.
Loading

0 comments on commit 73c1ce3

Please sign in to comment.