Common Protos Ruby
This repository is a home for the protocol buffer types which are common dependencies throughout the Google API ecosystem, generated for Ruby. The protobuf definitions for these generated Ruby classes are provided in the API Common Protos repository.
Using these generated classes
See googleapis-common-protos and googleapis-common-protos-types.
These packages are also available from rubygems:
- https://rubygems.org/gems/googleapis-common-protos
- https://rubygems.org/gems/googleapis-common-protos-types
Updating the gems
To add, remove, or modify the common types in these gems do the following.
-
Update the sub-module containing all of Google's public .proto files:
$ cd googleapis $ git pull
-
Edit the appropriate
Rakefile
:For message types: googleapis-common-protos-types/Rakefile For grpc types: googleapis-common-protos/Rakefile
Update the
protos
section of theRakefile
. For example:protos = [ "../googleapis/google/api/*.proto", # list all protos that should be included in the gem here ]
-
Update the
CHANGELOG.md
, gem version, and open a release pull request:Review and document the changes in each gem's
CHANGELOG.md
along with the version number in thegemspec
. Create a PR to review the changes. Once it's merged, tag the release with the version number and manually push the gem as described below. -
Build & push the gems as usual:
$ cd googleapis-common-protos-types # or googleapis-common-protos $ bundle install $ bundle exec rake build
Finally, double check that the local gem in
pkg
includes all of the types before publishing it to Rubygems.