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
Contributor

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

This comment has been minimized.

Contributor

aslakhellesoy commented Jun 19, 2018

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

This comment has been minimized.

Contributor

aslakhellesoy commented Jun 19, 2018

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

This comment has been minimized.

Contributor

aslakhellesoy commented Jun 19, 2018

@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

This comment has been minimized.

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

This comment has been minimized.

bv commented Jun 19, 2018

I can work on Ruby
Any insights @aslakhellesoy?

@aslakhellesoy

This comment has been minimized.

Contributor

aslakhellesoy commented Jun 19, 2018

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

0 of 2 checks passed

continuous-integration/travis-ci/pr The Travis CI build is in progress
Details
continuous-integration/travis-ci/push The Travis CI build is in progress
Details

@aslakhellesoy aslakhellesoy deleted the messages_gherkin-rule-keyword-protobuf branch Jun 29, 2018

@aslakhellesoy aslakhellesoy referenced this pull request Jul 3, 2018

Open

Gherkin: Delegate to Gherkin-Go prebuilt binaries #425

15 of 45 tasks complete

mpkorstanje added a commit to cucumber/cucumber-jvm that referenced this pull request Jul 6, 2018

Squashed commit of the following:
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/cucumber#416
    * cucumber/cucumber#415

mpkorstanje added a commit to cucumber/cucumber-jvm that referenced this pull request Jul 6, 2018

Squashed commit of the following:
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/cucumber#416
    * cucumber/cucumber#415
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment