-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Remove wire protocol to plugin #878
Conversation
7e9e5d3
to
88dbdcd
Compare
I've started a new repo for the clean-room implementation: https://github.com/cucumber/cucumber-ruby-wire |
df06ab3
to
7e49344
Compare
I think this is going to have to be 3.0 since people will need to update things in their code it make it continue working. |
7e49344
to
5f02173
Compare
ec89731
to
77dc4ea
Compare
247e1df
to
54e93e3
Compare
@search, @configuration = search, configuration | ||
end | ||
|
||
def call(step_name) |
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.
@tooky I'm wondering whether it would be better to use a Test::Step
rather than just a String
step_name
as the argument here. This would allow us to pull out the event notification into another one of these decorators, and it also leaves this protocol a bit more flexible. Thoughts?
f642606
to
63c91e3
Compare
I've left the creation of th cache explicit at construction for the moment. There may be a better api we can use, but wanted to wait to see if we can reuse it in plugins first.
Move regexp argument matcher to a factory method on step argument.
I think that must have been there for old Scenario Outline code
Only loads plugin if there are wire files present. This is tested in the cucumber-ruby-wire project. We will remove this for Cucumber 3.0, making wire totall optional.
Trying to keep responsibility for checking for abiguity out of step libraries, e.g. wire protocol.
...and start to use a proc-only protocol
63c91e3
to
ea842a7
Compare
OK there's so much good in this I'm merging it in. Existing users of the wire protocol should not be affected, but I'm bumping the version to 2.2 as an indicator that we've changed things underneath. (not released yet, but that's the target version for the master branch now) |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Starting the work of moving the wire protocol into a plugin.
Right now the wire protocol is no longer checked, and ruby is the only supported 'language'. Wire protocol features are not run as part of the build anymore, but we should be able to use them to help drive development of a clean room version of the wire protocol using the new core api.
We can probably tidy up the Rb* namespace and remove some abstractions as we're no longer supporting multiple languages in cucumber itself. Maybe best to start inlining and look for a better organisation?