WIP: Protobuff versions of the IAB AdCOM, OpenRTB 3.0, and Ad Management API Specs
- Where a field is an array, the name was pluralized.
- Where the spec dictates one of several fields be populated, the "oneof" label is used to enforce this.
- Where the spec recommends that only of several fields be used, the "oneof" label is used to enforce this.
- Where an int is supposed to be from a list, I'm going to switch to an ENUM and enforce this (todo).
Docs can be generated by invoking make docs
. This uses the [protoc-gen-doc|https://github.com/pseudomuto/protoc-gen-doc] tool. Unfortunately, the tool doesn't support objects nested deeper than two levels.
When iterating on the protobuff definitions, you can run make watch
and it will run the doc generator whenever the file is saved. This is useful for checking the validity of the protobuff definitions and also for generating docs (works well with Marked 2).