-
Notifications
You must be signed in to change notification settings - Fork 144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
protoreflect analysis #146
Comments
I had some trouble importing jhump's libraries into google3. I suggest you try it before making the final decision. Also, ask jhump if he has any plan joining the mentioned Google protoreflect, e.g., implementing protoreflect interfaces. My understanding is that Golang protobuf, including the generated codes, will all migrate to the mentioned Google protoreflect library inside and outside of Google. And the Golang team has some OKRs targeting this year -- I remembered that they were targeting to release it before GopherCon, July 2019, but unfortunately, they missed the target. |
Okay, we talked about this in our standing Friday meeting, and we (@jgeewax, @alin04, and myself) made the following decisions:
|
Curious what troubles you ran into @mingzhi ? |
I tried both jhump is providing a whole package for protobuf, including parsing, linking, and convenient interfaces for reading and manipulating proto files. As a result, importing those packages into Google3 was a daunting task -- testing data often contain raw and compiled proto files, and their generated Go codes, which might require patching and recompiling not only the Go files but also the testing proto files. Moreover, by importing jhump's protoreflect, we will own supporting it in Google3. And we will need more comprehensive, integration tests in Google3, since there might be some edge cases, e.g., during resolving/linking proto files. And since we have much more proto files in Google3, the chance of running into some edge cases is much bigger. Given that Google's |
Okay, it turns out that someone else imported the jhump protoreflect internally already. Given that, I am going to refactor this. |
@mingzhi Can you offer some history / context on why we chose to use Google protoreflect rather than the jhump one?
We had a discussion about it today and are considering migrating. In particular, I have the following concerns:
.Name()
functions that return an object rather than a string, or functions like.Methods()
and.Fields()
that return custom objects rather than arrays or slices).We want to ensure that there is not some critical reason we are missing before we make a decision on what to do here.
The text was updated successfully, but these errors were encountered: