Work In Progress: proto3 support
awalterschulze opened this issue · comments
This is pretty stable on the proto3 branch.
Basically I am waiting for the documentation to come out and in the mean time I am keeping up with any new changes at golang/protobuf on this branch.
This has now been merged into the master branch.
Should delete the branch and close this issue.
The proto3 spec is not even out how can I really say that I support this?
Fair enough!
golang/protobuf@67cbcad still needs to be merged.
Also some docs have been released
https://developers.google.com/protocol-buffers/docs/proto3
I'll get into this when I get back from holiday.
Currently unsupported:
- https://developers.google.com/protocol-buffers/docs/proto3#any
- https://developers.google.com/protocol-buffers/docs/proto3#json
What is struct.proto, fieldmask.proto, Duration, Timestamp, Struct, Wrapper Types, ListValue, Value, NullValue?
These will probably help explain things that are not described well in the spec:
https://github.com/google/protobuf/blob/master/src/google/protobuf/any.proto
https://github.com/google/protobuf/blob/master/src/google/protobuf/struct.proto
https://github.com/google/protobuf/blob/master/src/google/protobuf/timestamp.proto
https://github.com/google/protobuf/blob/master/src/google/protobuf/duration.proto
https://github.com/google/protobuf/blob/master/src/google/protobuf/field_mask.proto
https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto
Json support for maps have been added in golang/protobuf and should be merged.
Quick question:
I'm trying to generate the following file in proto3:
syntax = "proto3";
message AppId {
string name = 1;
}
After doing:
protoc -I . --gogoslick_out=plugins=grpc:. apps.proto
I get:
ERROR: field AppId.Name is a native type and in proto3 syntax with nullable=false there exists conflicting implementations when encoding zero values--gogoslick_out: protoc-gen-gogoslick: Plugin failed with status code 1.
I would really prefer not to have to put nullable=False
to each one of my fields. Does it make sense at all to have the concept of nullable
in proto3 at all? The docs for proto3 explicitly state what the default values should be.
Please report this as a separate issue.
This is a bug in gogofaster and gogoslick.
Whats the status on this? The wrapper types would be really nice to support, and they seem to be untouched in a while, so they seem pretty stabilized.
Basically I am waiting to see what golang/protobuf does
golang/protobuf#50
@awalterschulze looks like golang/protobuf#50 was closed - any plans to bring in that support for timestamp.proto?
Yes definitely #155
this package is awesome and has many extensions I'd like to use with latest grpc 1.0 and proto3. what are the plans for this package to support proto3?
The last feature of proto3 that is still required is the new well known types.
I will hopefully get some time over the weekend to do more work on it.
This progress is tracked here #155
But when its finished this issue will also be closed.
If you are not using any well known types then this package is and has been ready to use with proto3 for quite a few months.
This will be finished next weekend ( 10 September ) I am just giving a final chance for some objections on the implementation of well known types here #155