cucumber-messages: Use pure-Ruby protobuf implementation (experimental)#813
Merged
aslakhellesoy merged 12 commits intomasterfrom Jan 8, 2020
Merged
Conversation
13 tasks
aslakhellesoy
requested changes
Dec 3, 2019
Contributor
aslakhellesoy
left a comment
There was a problem hiding this comment.
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.
Contributor
|
This bug must be fixed before we can use the native ruby |
Contributor
|
I've submitted a PR to fix the issue in ruby-protobuf: ruby-protobuf/protobuf#408 |
Contributor
|
I've also submitted ruby-protobuf/protobuf#411 - another fix that is required |
Contributor
Author
|
Thanks for working on this, @aslakhellesoy. |
aslakhellesoy
approved these changes
Jan 8, 2020
jackorp
added a commit
to fedora-distgit/rubygem-protobuf
that referenced
this pull request
Mar 11, 2021
According to cucumber upstream, it should suffice. link to the discussion: cucumber/common#813
jackorp
added a commit
to fedora-distgit/rubygem-protobuf
that referenced
this pull request
Mar 12, 2021
…ssages. According to cucumber upstream, it should suffice. link to the discussion: cucumber/common#813
jackorp
added a commit
to fedora-distgit/rubygem-protobuf
that referenced
this pull request
Mar 12, 2021
…ssages. According to cucumber upstream, it should suffice. link to the discussion: cucumber/common#813
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replace
google-protobufgem withprotobuf, a pure-Ruby implementation that should work on all Ruby platforms.Details
google-protobufdependency withprotobuf.protobufgem's custom generator.messages.prototo make the generator emitCucumber::Messagesinstead ofIo::Cucumber::Messages. This is a bit of a hack. Theprotobufgem should use theruby_packageoption.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-messages6.0.x and tested it with cucumber4.0.0.pre.3.Types of changes
Checklist:
Still to do
Ndjsonspecs to actually check the generated json instead of just round-tripping.protobufto honor theruby_packageoption.