Commit Graph

14 Commits

Author SHA1 Message Date
Clayton Coleman
5f9e7a00b8
Add optional slice and map support to protobuf
Specifying // +protobuf.nullable=true on a Go type that is an alias of a
map or slice will generate a synthetic protobuf message with the type
name that will serialize to the wire in a way that allows the difference
between empty and nil to be recorded.

For instance:

    // +protobuf.nullable=true
    types OptionalMap map[string]string

will create the following message:

    message OptionalMap {
      map<string, string> Items = 1
    }

and generate marshallers that use the presence of OptionalMap to
determine whether the map is nil (rather than Items, which protobuf
provides no way to delineate between empty and nil).
2016-06-27 21:42:02 -07:00
Eric Chiang
6a1f46895e pkg/apis: rbac types added 2016-05-11 12:01:06 +02:00
Maciej Szulik
5ef870d4c7 Added JobTemplate, a preliminary step for ScheduledJob and Workflow 2016-05-10 21:48:39 +02:00
Tim Hockin
cbf886c7f4 Convert everything to use vendor/ 2016-05-08 20:30:37 -07:00
Matt Liggett
c00fa39eee Define PodDisruption API types. 2016-05-06 17:24:53 -07:00
jianhuiz
3bdd4130cd add protobuf generation 2016-04-26 02:08:10 -07:00
Prashanth Balasubramanian
0ac10c6cc2 PetSet type, apps apigroup 2016-04-20 18:49:31 -07:00
Clayton Coleman
3474911736 Implement a streaming serializer for watch
Changeover watch to use streaming serialization. Properly version the
watch objects. Implement simple framing for JSON and Protobuf (but not
YAML).
2016-04-11 11:22:05 -04:00
Clayton Coleman
f2139b186c Add an experimental protobuf serializer
Provide a core protobuf serializer that can either write objects with
an envelope (a 4 byte prefix and a runtime.Object) or raw to a byte
array.
2016-03-31 10:41:11 -04:00
Wojciech Tyczynski
919afadbe7 Refactor import tracker 2016-03-15 16:02:18 +01:00
Wojciech Tyczynski
0db2012039 Refactor assmebling proto files to avoid code duplication 2016-03-11 15:54:10 +01:00
Wojciech Tyczynski
dcf292174e Refactor Rewrite functions 2016-03-09 12:19:02 +01:00
Clayton Coleman
14a3aaf479 protobuf: During generation, copy protobuf tags back
The protobuf tags contain the assigned tag id, which then ensures
subsequent generation is consistently tagging (tags don't change across
generations unless someone deletes the protobuf tag).

In addition, generate final proto IDL that is free of gogoproto
extensions for ease of generation into other languages.

Add a flag --keep-gogoproto which preserves the gogoproto extensions in
the final IDL.
2016-01-26 11:41:21 -05:00
Clayton Coleman
b1e01875a1 go-to-protobuf: generate protobuf IDL and marshalers for Go structs 2016-01-06 21:09:20 -05:00