-
-
Notifications
You must be signed in to change notification settings - Fork 690
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Gherkin Rule keyword and Protocol Buffer messages (#416)
* update * gherkin: protobuf: Fix syntax error, set up Java build * gherkin: (Java) Add support for Rule * Support background under Rule * Implement Rule for C#,Java,JavaScript,Ruby and partially Go * gherkin: (Java) Use protobuf structs * messages: Add JavaScript * Fix makefiles * Set up subrepo sync * Sync changes to gherkin and messages subrepos * Update branching/CI instructions * Fix indentation * Fix branch pushing * gherkin: Fix Protobuf for Java and JavaScript * Clean up * gherkin: Add missing uri * messages: change package name to io.cucumber.messages * ruby: Extract more templates for Ruby * messages: Create ruby gems. Ref #416 * tmp * add go messages * move to local import * gherkin: Read protobuf from stdin * Install protoc in Docker image * Don't force push * Only unshallow on Travis * Sync to cucumber/cucumber-messages-go * Ignore spec * Use system protoc for java * Fix clean target * Add missing READMEs * Sync to cucumber/cucumber-messages-ruby.git * Check in generated source so it can build on Travis without protoc available * Don't regenerate protobuf classes * Don't regenerate protobuf classes * Don't check in yarn.lock * Don't rebuild protobuf classes - remove yarn.lock * Add missing target for go and ruby * Read protobuf messages from a child process if GHERKIN_EXECUTABLE is defined * Remove gherkin-jvm-deps. Depend on shaded google libs from the messages jar * Rules and Protobuf done for Ruby/Java/JavaScript
- Loading branch information
1 parent
ad50c65
commit 133812f
Showing
2,011 changed files
with
32,640 additions
and
10,574 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
|
||
# encoding: utf-8 | ||
require 'rubygems' | ||
require 'bundler' | ||
|
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -23,6 +23,19 @@ You can learn more about monorepos here: | |
* http://danluu.com/monorepo/ | ||
* https://medium.com/@bebraw/the-case-for-monorepos-907c1361708a | ||
|
||
### Branching and CI | ||
|
||
The CI build will synchronise from the monorepo to all the subrepos for the `master` branch. | ||
For other branches, a naming convention is used to decide what subrepos to sync to. | ||
(This is to avoid an explosion of unrelated branches in every subrepo). | ||
|
||
For example, if you're making a change to `gherkin` on a branch, prefix the branch | ||
with `gherkin`, for example `gherkin-upgrade-dependencies`. | ||
|
||
Occasionally you want to sync to multiple subrepos. For example, if you are making changes | ||
in two modules (say `messages` and `gherkin`), prefix the branch with both module names, | ||
separated by an underscore. For example, `messages_gherkin-use-protobuf`. | ||
|
||
### Adding a new subrepo | ||
|
||
Occasionally, a sub directory is promoted to a separate subrepo. The process for doing this is: | ||
|
@@ -60,13 +73,14 @@ In the new directory, create the following files: | |
|
||
#### Create new subrepo. | ||
|
||
Create a new, empty subrepo at GitHub. | ||
Create a new, empty subrepo at GitHub. Check the box for initialising | ||
with a README - it's needed to create an initial `master` branch to push to. | ||
|
||
Log into Travis and set up build for the new (empty) subrepo. | ||
|
||
Initialise the subrepo, for example: | ||
|
||
echo "[email protected]:cucumber/tag-expressions-go.git" > tag-expressions/go/.subrepo | ||
echo "cucumber/tag-expressions-go.git" > tag-expressions/go/.subrepo | ||
|
||
Push to the subrepo: | ||
|
||
|
@@ -122,7 +136,10 @@ Add the passphrase for the GPG signing key (in 1Password) | |
### Docker and CI | ||
|
||
Our CI build uses Docker. We have our own docker images defined in `Dockerfile.*` | ||
files. These need to be rebuilt and published manually whenever they change: | ||
files. These need to be rebuilt and published manually whenever they change. | ||
|
||
In order to publish new images, log in as `cukebot`. The password is in 1Password, | ||
in the "Cucumber Open Source" vault. | ||
|
||
source ./scripts/functions.sh | ||
# Standard image (for all builds except .NET) | ||
|
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,9 @@ | ||
../../LICENSE LICENSE | ||
../../.templates/github/ .github/ | ||
../../.templates/ruby/.gitignore .gitignore | ||
../../.templates/ruby/.rspec .rspec | ||
../../.templates/ruby/spec/capture_warnings.rb spec/capture_warnings.rb | ||
../../.templates/ruby/spec/coverage.rb spec/coverage.rb | ||
../../.templates/ruby/.travis.yml .travis.yml | ||
../../.templates/ruby/Rakefile Rakefile | ||
../examples.txt examples.txt |
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.