Skip to content

Instantly share code, notes, and snippets.

@johanbrandhorst
Created October 4, 2016 13:28
Show Gist options
  • Save johanbrandhorst/c832922a289a757eac3156b5210e65ef to your computer and use it in GitHub Desktop.
Save johanbrandhorst/c832922a289a757eac3156b5210e65ef to your computer and use it in GitHub Desktop.
Unexpected warnings from protoc-gen-gogo
# Install protoc
# Left as exercise to reader
# Install protoc-gen-gogo and friends
go get github.com/gogo/protobuf/proto
go get github.com/gogo/protobuf/jsonpb
go get github.com/gogo/protobuf/protoc-gen-gogo
go get github.com/gogo/protobuf/gogoproto
# Generate level3 file
protoc ./level3/level3.proto --gogo_out=./level3/ -I./level3/ -I$GOPATH/src
### Sample output:
# 2016/10/04 14:26:13 protoc-gen-gogo: WARNING: failed finding publicly imported dependency for .level1.FirstLevelMessage, used in level3.proto
# 2016/10/04 14:26:13 protoc-gen-gogo: WARNING: failed finding publicly imported dependency for .level1.FirstLevelMessage, used in level3.proto
syntax = "proto3";
package level1;
message FirstLevelMessage {
int32 data = 1;
}
syntax = "proto3";
package level2;
import "github.com/myrepo/level1/level1.proto";
message SecondLevelMessage {
level1.FirstLevelMessage data = 1;
}
syntax = "proto3";
package level3;
import "github.com/myrepo/level2/level2.proto";
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
// Note that THIS is required for the warnings to appear
option (gogoproto.populate_all) = true;
message LevelThreeMessage {
level2.SecondLevelMessage msg = 1;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment