Skip to content

Commit

Permalink
pb: avoid protobuf warning due to common filename (#1519)
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.
  • Loading branch information
mvdan authored and Ibrahim Jarif committed Oct 2, 2020
1 parent ad52d20 commit 58460bb
Show file tree
Hide file tree
Showing 3 changed files with 215 additions and 218 deletions.
Loading

0 comments on commit 58460bb

Please sign in to comment.