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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gherkin Rule keyword and Protocol Buffer messages #416

Merged
merged 51 commits into from
Jun 29, 2018

Conversation

aslakhellesoy
Copy link
Contributor

@aslakhellesoy aslakhellesoy commented Jun 19, 2018

This PR adds a Rule keyword to the Gherkin grammar. The GherkinDocument AST also has a Rule node. The AST itself, as well as Source and Pickle messages all use Protocol Buffers.

This PR supercedes #378 and #414, and implements #250.

TODO:

  • Implement messages library
    • Java
    • JavaScript
    • .NET
    • Go
    • Ruby
  • Update ASTBuilder to use messages and rename to GherkinDocumentBuilder
    • Java
    • JavaScript
    • .NET
    • Go
    • Ruby
  • Remove obsolete event-protocol module
    • Move docs over to messages/README.md

@aslakhellesoy
Copy link
Contributor Author

From #378 @charlierudolph:

It appears messages/javascript/index.js should be removed and gitignored

I'm on the fence about this. Adding them to source control does simplify the build system. We already add the berp-generated Gherkin Parser files to Git, and that seems to work well.

@aslakhellesoy
Copy link
Contributor Author

From #378 @charlierudolph:

Cool. @aslakhellesoy how can I help with this? I wanted to get back to the protobuf work.

It would be great if you could implement the messages library in Go, and then update ast_builder.go and pickles.go to use it. events.go and ast.go can be removed.

I'll crack on with the JavaScript implementation.

@aslakhellesoy
Copy link
Contributor Author

@SabotageAndi and/or @gasparnagy are you up for doing the .NET stuff?

@brasmusson or anyone else in @cucumber/cucumber-ruby - who wants to work on the Ruby code?

@SabotageAndi
Copy link
Contributor

SabotageAndi commented Jun 19, 2018

@aslakhellesoy I am full with work for the next 2-3 month. After that, perhaps. Hopefully @gasparnagy can work on it earlier.
Perhaps also @jmezach can help.

@bv
Copy link
Member

bv commented Jun 19, 2018

I can work on Ruby
Any insights @aslakhellesoy?

@aslakhellesoy
Copy link
Contributor Author

Great @bv! What questions do you have? I recommend starting with the messages library, which will have to use protobuf to generate the Ruby classes.

@aslakhellesoy aslakhellesoy merged commit 133812f into master Jun 29, 2018
@aslakhellesoy aslakhellesoy deleted the messages_gherkin-rule-keyword-protobuf branch June 29, 2018 10:38
mpkorstanje added a commit to cucumber/cucumber-jvm that referenced this pull request Jul 6, 2018
commit 58fa366
Merge: 5a262c2 88c5f16
Author: mpkorstanje <logarithmicwhale@gmail.com>
Date:   Fri Jul 6 11:48:27 2018 +0200

    Merge branch 'master' into gherkin-6-cucumber-messages-protobuf

commit 88c5f16
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Fri Jul 6 10:42:48 2018 +0100

    Delete android, now moved to cucumber/cucumber-android

commit 5a262c2
Merge: fd3ad3b 0fefc58
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Fri Jul 6 10:26:17 2018 +0100

    Merge with master

commit fd3ad3b
Merge: 37db968 53d92b8
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Wed Jul 4 10:04:11 2018 +0100

    Merge with master. Drop support for non UTF-8 encoding

commit 37db968
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Wed Jun 27 10:21:04 2018 +0100

    Update imports

commit 46ce2a0
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Thu Jun 21 14:32:32 2018 +0100

    Refactored to use Gherkin 6 / Protobuf.

    Removed JSON/HTML/Pretty/JUnit XML formatters and related cruft.

    See:
    * cucumber/common#416
    * cucumber/common#415
mpkorstanje added a commit to cucumber/cucumber-jvm that referenced this pull request Jul 6, 2018
commit 58fa366
Merge: 5a262c2 88c5f16
Author: mpkorstanje <logarithmicwhale@gmail.com>
Date:   Fri Jul 6 11:48:27 2018 +0200

    Merge branch 'master' into gherkin-6-cucumber-messages-protobuf

commit 88c5f16
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Fri Jul 6 10:42:48 2018 +0100

    Delete android, now moved to cucumber/cucumber-android

commit 5a262c2
Merge: fd3ad3b 0fefc58
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Fri Jul 6 10:26:17 2018 +0100

    Merge with master

commit fd3ad3b
Merge: 37db968 53d92b8
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Wed Jul 4 10:04:11 2018 +0100

    Merge with master. Drop support for non UTF-8 encoding

commit 37db968
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Wed Jun 27 10:21:04 2018 +0100

    Update imports

commit 46ce2a0
Author: Aslak Hellesøy <aslak.hellesoy@gmail.com>
Date:   Thu Jun 21 14:32:32 2018 +0100

    Refactored to use Gherkin 6 / Protobuf.

    Removed JSON/HTML/Pretty/JUnit XML formatters and related cruft.

    See:
    * cucumber/common#416
    * cucumber/common#415
@lock
Copy link

lock bot commented Jun 29, 2019

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.

@lock lock bot locked as resolved and limited conversation to collaborators Jun 29, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants