-
-
Notifications
You must be signed in to change notification settings - Fork 690
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
cucumber-messages: Use pure-Ruby protobuf implementation (experimental) #813
cucumber-messages: Use pure-Ruby protobuf implementation (experimental) #813
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks promising! The package states it's protobuf 2.x while the rest of the monorepo uses protobuf 3.x. If the build is green I am fine with this - I think the wire format for 2 and 3 are the same.
This bug must be fixed before we can use the native ruby |
I've submitted a PR to fix the issue in ruby-protobuf: ruby-protobuf/protobuf#408 |
I've also submitted ruby-protobuf/protobuf#411 - another fix that is required |
Thanks for working on this, @aslakhellesoy. |
According to cucumber upstream, it should suffice. link to the discussion: cucumber/common#813
…ssages. According to cucumber upstream, it should suffice. link to the discussion: cucumber/common#813
…ssages. According to cucumber upstream, it should suffice. link to the discussion: cucumber/common#813
Summary
Replace
google-protobuf
gem withprotobuf
, a pure-Ruby implementation that should work on all Ruby platforms.Details
google-protobuf
dependency withprotobuf
.protobuf
gem's custom generator.messages.proto
to make the generator emitCucumber::Messages
instead ofIo::Cucumber::Messages
. This is a bit of a hack. Theprotobuf
gem should use theruby_package
option.Motivation and Context
JRuby support is lacking in
google-protobuf
, and the signs are not encouraging that this will get better soon.How Has This Been Tested?
I ran the specs, and I have backported this change to
cucumber-messages
6.0.x and tested it with cucumber4.0.0.pre.3
.Types of changes
Checklist:
Still to do
Ndjson
specs to actually check the generated json instead of just round-tripping.protobuf
to honor theruby_package
option.