Skip to content
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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade cucumber-gherkin to version 22 #243

Closed
wants to merge 1 commit into from

Conversation

thetizzo
Copy link

Hi 馃憢

This PR updates the cucumber-gherkin dependency in the Turnip gemspec to v22 from v14. The reason for this was a selfish one. 馃槃

Our app is currently using Turnip v4.3.0, which has the following dependency tree:

Turnip v4.3.0
  -> cucumber-gherkin ~> 14.0
       -> cucumber-messages ~> 12.4, >= 12.4.0
            ->  protobuf-cucumber ~> 3.10, >= 3.10.8

I was attempting to add another gem, which depends on google-protobuf = 3.18.0, but this caused a conflict with the protobuf-cucumber gem that manifested in this error message:

protobuf-cucumber-3.10.8/lib/protobuf/descriptors/google/protobuf/descriptor.pb.rb:15:in `<module:Protobuf>': superclass mismatch for class FileDescriptorSet (TypeError)

Since cucumber-messages >= 16.0.0 no longer depends on protobuf-cucumber I figured that upgrading this dependency was the easiest path towards resolving this conflict.

I have run the project tests against this PR locally and they all pass. I also added my fork to our app and everything seems to be working well with that as well FWIW.

Please let me know if there is any other testing that needs to be done or added and I will add that to this PR.

Thanks,
Jason

@thetizzo thetizzo changed the title Upgrades cucumber-gherkin to version 22 Upgrade cucumber-gherkin to version 22 Sep 29, 2021
@sobrinho
Copy link
Contributor

sobrinho commented Nov 5, 2021

@jnicklas ping, that one is blocking the usage of google pub sub in some applications :)

@@ -10,7 +10,7 @@ def self.build(feature_file)
include_gherkin_document: true,
include_pickles: false
)
result = messages.first&.gherkin_document&.to_hash
result = messages.first&.gherkin_document&.to_h

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the following is better.

result = messages.first&.gherkin_document&.to_h(reject_nil_values: true)

@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
s.require_paths = ["lib"]

s.add_runtime_dependency "rspec", [">=3.0", "<4.0"]
s.add_runtime_dependency "cucumber-gherkin", "~> 14.0"
s.add_runtime_dependency "cucumber-gherkin", "~> 22.0"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently the latest version of cucumber-gherkin is 24.0.0.
I have confirmed that the test passes with version 24.0.0.
So "~> 24.0" should be used.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And in 0-3 months, there will be a 25.0 followed by a 26.0 a few months after that. #244 will fix the issue for a lot longer. O:)

@leoc
Copy link
Collaborator

leoc commented Nov 4, 2022

Thanks to #244 we do not depend on cucumber-gherkin directly anymore. Thanks a lot! :-)

@leoc leoc closed this Nov 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants