aruba 1.0.0.pre.alpha.2 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. checksums.yaml +5 -5
  2. data/.github/PULL_REQUEST_TEMPLATE.md +2 -1
  3. data/.rspec +0 -1
  4. data/.rubocop.yml +46 -182
  5. data/.rubocop_todo.yml +216 -0
  6. data/.simplecov +7 -5
  7. data/.travis.yml +56 -40
  8. data/.yardopts +3 -0
  9. data/CHANGELOG.md +1312 -0
  10. data/CONTRIBUTING.md +175 -83
  11. data/Gemfile +5 -69
  12. data/LICENSE +1 -1
  13. data/README.md +58 -21
  14. data/Rakefile +27 -54
  15. data/appveyor.yml +7 -10
  16. data/aruba.gemspec +38 -19
  17. data/bin/console +3 -12
  18. data/cucumber.yml +4 -22
  19. data/exe/aruba +1 -1
  20. data/fixtures/cli-app/README.md +1 -1
  21. data/fixtures/cli-app/Rakefile +1 -1
  22. data/fixtures/cli-app/bin/aruba-test-cli +1 -1
  23. data/fixtures/cli-app/cli-app.gemspec +4 -4
  24. data/fixtures/cli-app/lib/cli/app.rb +1 -1
  25. data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +3 -3
  26. data/fixtures/cli-app/lib/cli/app/version.rb +1 -1
  27. data/fixtures/cli-app/spec/spec_helper.rb +3 -2
  28. data/fixtures/empty-app/Rakefile +1 -1
  29. data/fixtures/empty-app/cli-app.gemspec +4 -4
  30. data/fixtures/empty-app/lib/cli/app.rb +0 -2
  31. data/fixtures/empty-app/lib/cli/app/version.rb +1 -1
  32. data/fixtures/getting-started-app/Gemfile +1 -1
  33. data/lib/aruba/api.rb +8 -15
  34. data/lib/aruba/api/bundler.rb +16 -0
  35. data/lib/aruba/api/commands.rb +272 -0
  36. data/lib/aruba/api/core.rb +82 -43
  37. data/lib/aruba/api/environment.rb +24 -7
  38. data/lib/aruba/api/filesystem.rb +66 -64
  39. data/lib/aruba/api/text.rb +17 -11
  40. data/lib/aruba/aruba_path.rb +25 -111
  41. data/lib/aruba/basic_configuration.rb +8 -25
  42. data/lib/aruba/basic_configuration/option.rb +2 -2
  43. data/lib/aruba/cli.rb +4 -1
  44. data/lib/aruba/colorizer.rb +10 -99
  45. data/lib/aruba/command.rb +4 -0
  46. data/lib/aruba/config/jruby.rb +15 -5
  47. data/lib/aruba/config_wrapper.rb +17 -2
  48. data/lib/aruba/configuration.rb +107 -0
  49. data/lib/aruba/console.rb +5 -7
  50. data/lib/aruba/console/help.rb +5 -2
  51. data/lib/aruba/contracts/absolute_path.rb +3 -3
  52. data/lib/aruba/contracts/is_power_of_two.rb +2 -2
  53. data/lib/aruba/contracts/relative_path.rb +3 -3
  54. data/lib/aruba/cucumber.rb +0 -3
  55. data/lib/aruba/cucumber/command.rb +227 -190
  56. data/lib/aruba/cucumber/environment.rb +1 -1
  57. data/lib/aruba/cucumber/file.rb +56 -50
  58. data/lib/aruba/cucumber/hooks.rb +10 -63
  59. data/lib/aruba/cucumber/testing_frameworks.rb +76 -50
  60. data/lib/aruba/event_bus.rb +4 -2
  61. data/lib/aruba/event_bus/name_resolver.rb +10 -10
  62. data/lib/aruba/events.rb +2 -1
  63. data/lib/aruba/hooks.rb +3 -5
  64. data/lib/aruba/in_config_wrapper.rb +10 -3
  65. data/lib/aruba/initializer.rb +40 -34
  66. data/lib/aruba/matchers/base/base_matcher.rb +2 -11
  67. data/lib/aruba/matchers/base/message_indenter.rb +19 -0
  68. data/lib/aruba/matchers/base/object_formatter.rb +2 -7
  69. data/lib/aruba/matchers/collection/include_an_object.rb +11 -13
  70. data/lib/aruba/matchers/command/be_successfully_executed.rb +8 -4
  71. data/lib/aruba/matchers/command/have_exit_status.rb +16 -4
  72. data/lib/aruba/matchers/command/have_finished_in_time.rb +5 -5
  73. data/lib/aruba/matchers/command/have_output.rb +12 -5
  74. data/lib/aruba/matchers/command/have_output_on_stderr.rb +4 -2
  75. data/lib/aruba/matchers/command/have_output_on_stdout.rb +4 -2
  76. data/lib/aruba/matchers/command/have_output_size.rb +2 -2
  77. data/lib/aruba/matchers/directory/be_an_existing_directory.rb +5 -7
  78. data/lib/aruba/matchers/directory/have_sub_directory.rb +10 -7
  79. data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +2 -4
  80. data/lib/aruba/matchers/file/be_an_existing_executable.rb +4 -6
  81. data/lib/aruba/matchers/file/be_an_existing_file.rb +5 -7
  82. data/lib/aruba/matchers/file/have_file_content.rb +4 -4
  83. data/lib/aruba/matchers/file/have_file_size.rb +8 -8
  84. data/lib/aruba/matchers/file/have_same_file_content.rb +9 -12
  85. data/lib/aruba/matchers/path/a_path_matching_pattern.rb +2 -4
  86. data/lib/aruba/matchers/path/be_an_absolute_path.rb +3 -5
  87. data/lib/aruba/matchers/path/be_an_existing_path.rb +4 -6
  88. data/lib/aruba/matchers/path/have_permissions.rb +8 -8
  89. data/lib/aruba/matchers/string/include_output_string.rb +8 -10
  90. data/lib/aruba/matchers/string/match_output_string.rb +9 -11
  91. data/lib/aruba/matchers/string/output_string_eq.rb +7 -9
  92. data/lib/aruba/platform.rb +0 -8
  93. data/lib/aruba/platforms/announcer.rb +60 -85
  94. data/lib/aruba/platforms/aruba_file_creator.rb +4 -2
  95. data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +8 -3
  96. data/lib/aruba/platforms/aruba_logger.rb +22 -2
  97. data/lib/aruba/platforms/command_monitor.rb +15 -102
  98. data/lib/aruba/platforms/determine_disk_usage.rb +56 -19
  99. data/lib/aruba/platforms/filesystem_status.rb +9 -9
  100. data/lib/aruba/platforms/local_environment.rb +2 -2
  101. data/lib/aruba/platforms/simple_table.rb +3 -11
  102. data/lib/aruba/platforms/unix_command_string.rb +7 -4
  103. data/lib/aruba/platforms/unix_environment_variables.rb +19 -26
  104. data/lib/aruba/platforms/unix_platform.rb +18 -39
  105. data/lib/aruba/platforms/unix_which.rb +3 -2
  106. data/lib/aruba/platforms/windows_command_string.rb +20 -7
  107. data/lib/aruba/platforms/windows_environment_variables.rb +42 -30
  108. data/lib/aruba/platforms/windows_platform.rb +4 -0
  109. data/lib/aruba/platforms/windows_which.rb +9 -4
  110. data/lib/aruba/processes/basic_process.rb +21 -27
  111. data/lib/aruba/processes/debug_process.rb +16 -5
  112. data/lib/aruba/processes/in_process.rb +20 -9
  113. data/lib/aruba/processes/spawn_process.rb +64 -36
  114. data/lib/aruba/rspec.rb +28 -31
  115. data/lib/aruba/runtime.rb +16 -7
  116. data/lib/aruba/setup.rb +32 -17
  117. data/lib/aruba/tasks/docker_helpers.rb +4 -2
  118. data/lib/aruba/version.rb +1 -1
  119. metadata +194 -64
  120. data/History.md +0 -612
  121. data/bin/bootstrap +0 -34
  122. data/bin/build +0 -3
  123. data/bin/release +0 -3
  124. data/fixtures/spawn_process/stderr.sh +0 -3
  125. data/lib/aruba/api/command.rb +0 -309
  126. data/lib/aruba/api/deprecated.rb +0 -895
  127. data/lib/aruba/api/rvm.rb +0 -44
  128. data/lib/aruba/config.rb +0 -101
  129. data/lib/aruba/cucumber/rvm.rb +0 -3
  130. data/lib/aruba/in_process.rb +0 -14
  131. data/lib/aruba/jruby.rb +0 -4
  132. data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
  133. data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
  134. data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
  135. data/lib/aruba/spawn_process.rb +0 -11
@@ -2,15 +2,15 @@
2
2
 
3
3
  ## Introduction
4
4
 
5
- We would love to get help from you as "user" and "contributor".
5
+ We would love to get help from you as a **user** and a **contributor**.
6
6
 
7
- **Users**
7
+ ### As a **User**
8
8
 
9
9
  * Tell us how "Aruba" works for you
10
- * Spread the word if you like our work and please tell us if somethings is (utterly) wrong
10
+ * Spread the word if you like our work and please tell us if something is (utterly) wrong
11
11
  * Encourage people in testing their code and keep communicating their needs
12
12
 
13
- **Contributors**
13
+ ### As a **Contributor**
14
14
 
15
15
  * Send us bug fixes
16
16
  * Add new features to the code
@@ -18,55 +18,82 @@ We would love to get help from you as "user" and "contributor".
18
18
  * Add missing documentation
19
19
  * Improve our test coverage
20
20
 
21
- The rest of this document is a guide for those maintaining Aruba, and others who would like to submit patches.
21
+ The rest of this document is a guide for those maintaining Aruba, and others
22
+ who would like to submit patches.
22
23
 
23
- ## Contributing to the "aruba" project
24
+ ## Contributing to the Aruba project
24
25
 
25
- It would be great if all people who want to contribute to the "aruba" project – contributors and maintiners – follow the guidelines in this section. There are also "Getting started"-sections both for [contributors](#getting-started-as-a-contributor) and [maintainers]((#getting-started-as-a-maintainer).
26
+ It would be great if all people who want to contribute to the Aruba project
27
+ — contributors and maintainers — follow the guidelines in this
28
+ section. There are also "Getting started" sections both for
29
+ [contributors](#getting-started-as-a-contributor) and
30
+ [maintainers](#getting-started-as-a-maintainer).
26
31
 
27
32
  ### Issues
28
33
 
29
- We appreciate that. But before you do, please learn our basic rules:
30
-
31
- * This is not a support forum. If you have a question, please go to [The Cukes Google Group](http://groups.google.com/group/cukes).
32
- * Do you have an idea for a new feature? Then don't expect it to be implemented unless you or someone else sends a [pull request](https://help.github.com/articles/using-pull-requests). You might be better to start a discussion on [the google group](http://groups.google.com/group/cukes).
33
- * Reporting a bug? Just follow our comments in the issue template
34
- * We love [pull requests](https://help.github.com/articles/using-pull-requests). The same here: Please consider our comments within the template we provide for your pull request(s).
35
-
34
+ About to create a new GitHub Issue? We appreciate that. But before you do,
35
+ please learn our basic rules:
36
+
37
+ * This is not a support forum. If you have a question, please go to
38
+ [The Cukes Google Group](http://groups.google.com/group/cukes).
39
+ * Do you have an idea for a new feature? Then don't expect it to be implemented
40
+ unless you or someone else submits a
41
+ [pull request](https://help.github.com/articles/using-pull-requests). It
42
+ might be better to start a discussion on
43
+ [the Google Group](http://groups.google.com/group/cukes).
44
+ * Reporting a bug? Follow our comments in the Issue Template, which is
45
+ pre-filled when you create the new GitHub Issue.
46
+ * We love [pull requests](https://help.github.com/articles/using-pull-requests).
47
+ The same here: Please consider our comments within the pull request template.
36
48
 
37
49
  ### Pull Requests
38
50
 
39
- **Contributors**
51
+ #### Contributors
40
52
 
41
53
  Please...
42
54
 
43
55
  * Fork the project. Make a branch for your change.
44
- * Make your feature addition or bug fix – if you're unsure if your addition will be accepted, open an issue for discussion first
45
- * Make sure your patch is well covered by tests. We don't accept changes that aren't tested.
46
- * Please do not change the Rakefile, version, or history.
47
- (if you want to have your own version, that is fine but
48
- bump version in a commit by itself so we can ignore when we merge your change)
49
- * Make sure your pull request complies to our development style
50
- * Rebase your branch if needed to reduce clutter in our git history
51
- * Make sure you don't break other people's code – On major changes: First deprecated, than bump major version, than make breaking changes
52
- * Split up your changes into reviewable "git"-commits which combine all lines/files relevant for a single change
56
+ * Make your feature addition or bug fix — if you're unsure if your
57
+ addition will be accepted, open a GitHub Issue for discussion first
58
+ * Make sure your patch is well covered by tests. We don't accept changes that
59
+ aren't tested.
60
+ * Do not change the `Rakefile`, gem version number in `version.rb`, or
61
+ [`CHANGELOG.md`][].
62
+ (If you want to have your own version, that is fine but bump version in a
63
+ separate commit, so that we can ignore that commit when we merge your change.)
64
+ * Make sure your pull request complies with our development style guidelines.
65
+ * Rebase your branch if needed. This reduces clutter in our git history.
66
+ * Make sure you don't break other people's code. On major changes: First
67
+ deprecate, then bump major version, then make breaking changes,
68
+ * Split up your changes into reviewable git commits which combine all
69
+ lines/files relevant for a single change.
53
70
  * Send us a pull request.
54
71
 
55
- **Maintainers**
56
-
57
- * Use pull requests for larger or controversial changes made by yourself or changes you might expected to break the build
58
- * Commit smaller changes directly to master, e.g. fixing typos, adding tests or adding documentation
59
- * Update [History.md](History.md) when a pull request is merged
60
- * Make sure all tests are green before merging a pull request
61
-
62
- ### Development style
63
-
64
- * We try to follow the recommendations in the [Ruby Community Style Guide](https://github.com/bbatsov/ruby-style-guide) and use [`rubocop`](https://github.com/bbatsov/rubocop) to "enforce" it. Please see [.rubocop.yml](.rubocop.yml) for exceptions.
65
- * There should be `action`-methods and `getter`-methods in `aruba`. Only the latter should return values. Please expect the first ones to return `nil`.
66
- * Add documentation (aka acceptance tests) for new features using `aruba`'s steps and place them some where suitable in [here](features/).
67
- * Add unit tests where needed to cover edge cases which are not (directly) relevant for users
68
- * Add developer documentation in [`yardoc`](http://yardoc.org/) to all relevant methods added
69
- * Format your commits messages following those seven rules -- see [this blog post](http://chris.beams.io/posts/git-commit/) for a well written explanation about the why.
72
+ #### Maintainers
73
+
74
+ * Use pull requests for larger or controversial changes made by yourself or
75
+ changes you might expected to break the build.
76
+ * Commit smaller changes directly to master, e.g. fixing typos, adding tests or
77
+ adding documentation.
78
+ * Update [`CHANGELOG.md`][] when a pull request is merged.
79
+ * Make sure all tests are green before merging a pull request.
80
+
81
+ ### Development style guidelines
82
+
83
+ * We try to follow the recommendations in the
84
+ [Ruby Community Style Guide][] and use
85
+ [`rubocop`][] to "enforce" it. Please see
86
+ [.rubocop.yml][] for exceptions.
87
+ * There should be `action` methods and `getter` methods in Aruba. Only the
88
+ latter should return values. Please expect the first ones to return `nil`.
89
+ * Add documentation — aka acceptance tests — for new features
90
+ using Aruba's Cucumber steps. Place them somewhere suitable in [features/].
91
+ * Add unit tests where needed to cover edge cases which are not (directly)
92
+ relevant for users.
93
+ * Add [YARD] developer documentation to all relevant methods added.
94
+ * Format your commit messages following these seven rules — see
95
+ the ["How to Write a Git Commit Message"] blog post for a well-written
96
+ explanation about the why.
70
97
  1. Separate subject from body with a blank line
71
98
  2. Limit the subject line to 50 characters
72
99
  3. Capitalize the subject line
@@ -74,71 +101,119 @@ Please...
74
101
  5. Use the imperative mood in the subject line
75
102
  6. Wrap the body at 72 characters
76
103
  7. Use the body to explain what and why vs. how (optional if subject is self-explanatory)
77
- 8. Use Markdown Markup to style your message (only if required)
78
-
79
104
 
80
105
  ## Getting started as a "Contributor"
81
106
 
82
- ### Bootstrap environment
107
+ ### Requirements
83
108
 
84
- To get started with `aruba`, you just need to bootstrap the environment by
85
- running the following command.
109
+ To get started with Aruba, you only need [Bundler].
86
110
 
87
- ~~~bash
88
- # Bootstrap environment
89
- bin/bootstrap
90
- ~~~
111
+ Install Aruba's dependencies:
112
+
113
+ ```bash
114
+ bundle install
115
+ ```
91
116
 
92
117
  ### Running tests
93
118
 
94
- Make sure you bootstrap the environment first. Then run the following command
95
- to run the test suite.
119
+ Run the following command to run the test suite.
96
120
 
97
- ~~~bash
121
+ ```bash
98
122
  # Run the test suite
99
123
  bin/test
100
- ~~~
101
-
102
- If you have problems because our assumptions about your local setup are wrong.
103
- Try this instead. This requires the `docker`-command/project to be installed on
104
- your local system.
105
-
106
- ~~~bash
124
+ ```
125
+
126
+ Or use these Rake tasks:
127
+
128
+ ```bash
129
+ # Run the whole test suite
130
+ rake test
131
+ # Run RSpec tests
132
+ rake spec
133
+ # Run Cucumber features
134
+ rake cucumber
135
+ # Run Cucumber features which are "WORK IN PROGRESS" and are allowed to fail
136
+ rake cucumber:wip
137
+ ```
138
+
139
+ If you have problems because our assumptions about your local setup are wrong,
140
+ perhaps you can use this Docker workflow. This requires [Docker] to be
141
+ installed on your local system.
142
+
143
+ ```bash
107
144
  # Build the docker container
108
145
  bundle exec rake docker:build
109
146
 
147
+ # Alternative: Build with disabled cache
148
+ bundle exec rake 'docker:build[false]'
149
+
150
+ # Build image with version tag
151
+ bundle exec rake 'docker:build[false, 0.1.0]'
152
+
110
153
  # Run the whole test suite in "docker"-container
111
154
  RUN_IN_DOCKER=1 bin/test
112
155
 
113
156
  # Run only selected scenario
114
157
  RUN_IN_DOCKER=1 bin/test cucumber features/steps/command/shell.feature:14
115
- ~~~
158
+ ```
116
159
 
117
- ## Installing your own gems used for development
160
+ ### Installing your own gems used for development
118
161
 
119
- A `Gemfile.local`-file can be used to have your own gems installed to support
162
+ A `Gemfile.local` file can be used, to have your own gems installed to support
120
163
  your normal development workflow.
121
164
 
122
- Example:
165
+ Example `Gemfile.local`:
123
166
 
124
- ~~~ruby
167
+ ```ruby
125
168
  gem 'pry'
126
169
  gem 'pry-byebug'
127
170
  gem 'byebug'
128
- ~~~
171
+ ```
172
+
173
+ ### Running a developer console
174
+
175
+ The interactive Aruba console starts an IRB console with Aruba's API loaded:
176
+
177
+ ```bash
178
+ bin/console
179
+ ```
180
+
181
+ ### Linting
182
+
183
+ Aruba's Rakefile provides the following linting tasks
184
+
185
+ ```bash
186
+ bundle exec rake lint # Run all linters
187
+ bundle exec rake lint:coding_guidelines # Lint our code with "rubocop"
188
+ bundle exec rake lint:licenses # Check for relevant licenses in project
189
+ ```
190
+
191
+ ### Building and installing your local Aruba version
192
+
193
+ You can use the following Rake tasks to build and install your work-in-progress locally:
194
+
195
+ ```bash
196
+ # Build your copy
197
+ bundle exec rake build
198
+ # Build and install your copy
199
+ bundle exec rake install
200
+ # Build and install your copy without network access
201
+ bundle exec rake install:local
202
+ ```
129
203
 
130
204
  ## Getting started as a "Maintainer"
131
205
 
132
206
  ### Release Process
133
207
 
134
208
  * Bump the version number in `lib/aruba/version.rb`
135
- * Make sure `History.md` is updated with the upcoming version number, and has entries for all fixes.
136
- * No need to add a `History.md` header at this point - this should be done when a new change is made, later.
137
- * If a major version is released, update the `still`-branch which points to "old" major version
209
+ * Make sure [`CHANGELOG.md`] is updated with the upcoming version number, and has
210
+ entries for all fixes.
211
+ * No need to add a [`CHANGELOG.md`] header at this point - this should be done
212
+ later, when a new change is made.
138
213
 
139
- Now release it
214
+ Now release it:
140
215
 
141
- ~~~bash
216
+ ```bash
142
217
  # update dependencies
143
218
  bundle update
144
219
 
@@ -147,27 +222,44 @@ bin/test
147
222
 
148
223
  # Release gem
149
224
  git commit -m "Version bump"
150
- bin/release
225
+ bundle exec rake release
226
+ ```
151
227
 
152
- # If it's a major relase:
153
- # Merge changes back to have an correct documentation
154
- git checkout still
155
- git merge master
156
- git push
157
- ~~~
228
+ Now send a PR to [cucumber/website] adding an article
229
+ with details of the new release. Then merge it - an aruba maintainer should
230
+ normally be allowed to merge PRs on [cucumber/website]. A copy of an old
231
+ announcement can be used as basis for the new article.
158
232
 
159
- Now send a PR to https://github.com/cucumber/website adding an article about the with details of the new release and merge it - an aruba maintainer should normally allowed to merge PRs on `cucumber/website`. A copy of an old announcement can be used as basis for the new article. After this send an email with the link to the article to cukes@googlegroups.com.
233
+ Now, send an email with the link to the article to `cukes@googlegroups.com`.
160
234
 
161
235
  ### Gaining Release Karma
162
236
 
163
- To become a release manager, create a pull request adding your name to the list below, and include your Rubygems email address in the ticket. One of the existing Release managers will then add you.
237
+ To become a release manager, create a pull request adding your name to the list
238
+ below, and include your Rubygems email address in the ticket. One of the
239
+ existing Release managers will then add you.
164
240
 
165
241
  Current release managers:
166
- * Aslak Hellesøy ([@aslakhellesoy](http://github.com/aslakhellesoy))
167
- * Dennis Günnewig ([@maxmeyer](http://github.com/maxmeyer), [@dg-rationdata](http://github.com/dg-rationdata))
168
- * Jarl Friis ([@jarl-dk](https://github.com/jarl-dk))
169
- * Matt Wynne ([@mattwynne](http://github.com/mattwynne))
242
+ * Aslak Hellesøy ([@aslakhellesoy](https://github.com/aslakhellesoy))
243
+ * Matt Wynne ([@mattwynne](https://github.com/mattwynne))
244
+ * Matijs van Zuijlen ([@mvz](https://github.com/mvz))
170
245
 
171
246
  To grant release karma, issue the following command:
172
247
 
173
- gem owner aruba --add <NEW OWNER RUBYGEMS EMAIL>
248
+ ```bash
249
+ gem owner aruba --add <NEW OWNER RUBYGEMS EMAIL>
250
+ ```
251
+
252
+ [`CHANGELOG.md`]: CHANGELOG.md
253
+ [CHANGELOG.md]: CHANGELOG.md
254
+
255
+ [`rubocop`]: https://github.com/bbatsov/rubocop
256
+ [Ruby Community Style Guide]: https://github.com/bbatsov/ruby-style-guide
257
+ [.rubocop.yml]: .rubocop.yml
258
+ [features/]: features/
259
+
260
+ [Bundler]: https://bundler.io/
261
+
262
+ [Docker]: https://docs.docker.com/
263
+ [YARD]: http://yardoc.org/
264
+ ["How to Write a Git Commit Message"]: http://chris.beams.io/posts/git-commit/
265
+ [cucumber/website]: https://github.com/cucumber/website
data/Gemfile CHANGED
@@ -4,75 +4,11 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  # Load local Gemfile
7
- load File.expand_path('../Gemfile.local', __FILE__) if File.file? File.expand_path('../Gemfile.local', __FILE__)
8
-
9
- # Debug aruba
10
- group :debug do
11
- if RUBY_VERSION >= '2' && !RUBY_PLATFORM.include?('java')
12
- gem 'byebug', '~> 9.0'
13
- gem 'pry-byebug', '~> 3.4'
14
- end
15
-
16
- if RUBY_VERSION < '2' && !RUBY_PLATFORM.include?('java')
17
- gem 'debugger', '~> 1.6.8'
18
- gem 'pry-debugger', '~> 0.2.3'
19
- end
20
-
21
- gem 'pry-doc', '~> 0.8.0'
22
- end
23
-
24
- group :development, :test do
25
- # we use this to demonstrate interactive debugging within our feature tests
26
- if RUBY_VERSION >= '2'
27
- gem 'pry', '~> 0.10.1'
28
- else
29
- gem 'pry', '~>0.9.12'
30
- end
31
-
32
- # Run development tasks
33
- gem 'rake', '~> 10.4.2'
34
-
35
- if RUBY_VERSION >= '2.0.0'
36
- # Lint travis yaml
37
- gem 'travis-yaml'
38
-
39
- # Reporting
40
- gem 'bcat', '~> 0.6.2'
41
- gem 'kramdown', '~> 1.14'
42
- end
43
-
44
- # Code Coverage
45
- gem 'simplecov', '~> 0.10'
46
-
47
- # Test api
48
- gem 'rspec', '~> 3.4'
49
- gem 'fuubar', '~> 2.2.0'
50
-
51
- # using platform for this makes bundler complain about the same gem given
52
- # twice
53
- gem 'cucumber', '~> 2.0'
54
-
55
- # Make aruba compliant to ruby community guide
56
- gem 'rubocop', '~> 0.32', '< 0.41.1'
57
-
58
- # gem 'cucumber-pro', '~> 0.0'
59
-
60
- # License compliance
61
- if RUBY_VERSION < '2.3'
62
- gem 'license_finder', '~> 2.0'
63
- else
64
- gem 'license_finder', '~> 3.0'
65
- end
66
-
67
- # Upload documentation
68
- # gem 'relish', '~> 0.7.1'
69
-
70
- gem 'minitest', '~> 5.8.0'
71
-
72
- gem 'json', '~>2.1'
7
+ if File.file? File.expand_path('Gemfile.local', __dir__)
8
+ load File.expand_path('Gemfile.local', __dir__)
73
9
  end
74
10
 
75
- platforms :rbx do
76
- gem 'rubysl', '~> 2.0'
77
- gem 'rubinius-developer_tools'
11
+ unless RUBY_PLATFORM.include?('java')
12
+ gem 'byebug', '~> 11.0'
13
+ gem 'pry-byebug', '~> 3.4'
78
14
  end
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010-2016 Aslak Hellesøy, David Chelimsky, Mike Sassak, Jarl Friis, Matt Wynne, Dennis Günnewig
1
+ Copyright (c) 2010-2020 Aslak Hellesøy, David Chelimsky, Mike Sassak, Jarl Friis, Matt Wynne, Dennis Günnewig and Matijs van Zuijlen
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,49 +1,76 @@
1
- [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/cucumber/aruba/master/LICENSE)
1
+ [![MIT license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/cucumber/aruba/master/LICENSE)
2
2
  [![Docs](https://img.shields.io/badge/cucumber.pro-aruba-3d10af.svg)](https://app.cucumber.pro/projects/aruba)
3
3
  [![Gem Version](https://badge.fury.io/rb/aruba.svg)](http://badge.fury.io/rb/aruba)
4
- [![Dependency Status](https://gemnasium.com/cucumber/aruba.svg)](https://gemnasium.com/cucumber/aruba)
5
4
  [![Code Climate](https://codeclimate.com/github/cucumber/aruba.svg)](https://codeclimate.com/github/cucumber/aruba)
6
5
  [![Support](https://img.shields.io/badge/cucumber-support-orange.svg)](https://cucumber.io/support)
7
6
 
8
- **This is the [latest](https://github.com/cucumber/aruba/blob/master/README.md) version of our README.md. There is also [the README of the latest released version of "aruba"](https://github.com/cucumber/aruba/blob/still/README.md).**
7
+ [![Travis CI build status](https://travis-ci.org/cucumber/aruba.svg)](https://travis-ci.org/cucumber/aruba)
8
+ [![Appveyor build status](https://ci.appveyor.com/api/projects/status/jfo2tkqhnrqqcivl?svg=true)](https://ci.appveyor.com/project/cucumberbdd/aruba)
9
9
 
10
10
  ## Install
11
11
 
12
12
  Add this line to your application's `Gemfile`:
13
13
 
14
- ~~~
14
+ ```ruby
15
15
  gem 'aruba'
16
- ~~~
16
+ ```
17
17
 
18
18
  And then execute:
19
19
 
20
- ~~~
21
- $ bundle
22
- ~~~
20
+ ```bash
21
+ bundle
22
+ ```
23
23
 
24
24
  Or install it yourself as:
25
25
 
26
- ~~~
27
- $ gem install aruba
28
- ~~~
26
+ ```bash
27
+ gem install aruba
28
+ ```
29
29
 
30
30
  ## Usage
31
31
 
32
- ### As a user getting started with "aruba"
32
+ ### As a user getting started with Aruba
33
33
 
34
- Our most current documentation to get started with `aruba` can be found on [![See our documentation on Cucumber Pro](https://github.com/cucumber-ltd/brand/raw/master/images/png/notm/cucumber-pro-black/cucumber-pro-black-32.png)](https://app.cucumber.pro/projects/aruba). It is generated from our feature files describing the use of `aruba`.
34
+ Our most current documentation to get started with Aruba as a user can be
35
+ found on [Cucumber Jam](https://app.cucumber.pro/projects/aruba).
36
+ It is generated from our feature files describing the use of Aruba.
37
+
38
+ ### As a user getting started with a ruby testing framework
39
+
40
+ * **Cucumber**:
41
+
42
+ If you're new to the Cucumber ecosystem, it's worth to visit
43
+ [the project's documentation site](https://cucumber.io/docs). This also includes
44
+ information about how to write feature files in Gherkin.
45
+
46
+ * **RSpec**:
47
+
48
+ If you want to use Aruba with RSpec and you need some information about how to use RSpec, please visit [their website](http://rspec.info/documentation/).
49
+
50
+ * **minitest**:
51
+
52
+ The documentation for minitest can be found [here](http://docs.seattlerb.org/minitest/).
53
+
54
+ ### As a developer getting started with Aruba
55
+
56
+ A full documentation of the API for developers can be found on
57
+ [RubyDoc](http://www.rubydoc.info/gems/aruba).
35
58
 
36
59
  ## Support
37
60
 
38
61
  ### Channels
39
62
 
40
- For support, please have a look at the ["support website"](https://cucumber.io/support) of "Cucumber". You have different options to reach out for help: Recommended for `aruba` are using the "Slack" channels - e.g. "aruba-devs" or "general" ([Register account](https://cucumberbdd-slack-invite.herokuapp.com/)) and the "Issues" page on [GitHub](https://github.com/cucumber/aruba/issues). Addressing one of the maintainers directly would be helpful.
63
+ For support, please have a look at the [support website](https://cucumber.io/support)
64
+ of Cucumber. You have different options to reach out for help: Recommended for
65
+ Aruba are using the Slack channels &mdash; e.g. `committers-aruba` or `help-cucumber-ruby`
66
+ &mdash; ([register account](https://cucumberbdd-slack-invite.herokuapp.com/)), and the
67
+ [Issues page on GitHub](https://github.com/cucumber/aruba/issues).
41
68
 
42
69
  ### Maintainers
43
70
 
44
71
  Currently, this gem is mainly maintained by this group of people:
45
72
 
46
- * [@maxmeyer](https://github.com/maxmeyer)
73
+ * [@mvz](https://github.com/mvz)
47
74
 
48
75
  ## Release Policy
49
76
 
@@ -51,15 +78,25 @@ We try to comply with [Semantic Versioning 2.0.0](http://semver.org/spec/v2.0.0.
51
78
 
52
79
  ## Supported Ruby versions
53
80
 
54
- For an up-to-date list of all supported Ruby versions, please see our [`.travis.yml`](https://github.com/cucumber/aruba/blob/master/.travis.yml). We only test against the latest version of a version branch - most times.
81
+ Aruba is supported on Ruby 2.4 and up, and tested against CRuby 2.4, 2.5, 2.6
82
+ and 2.7, and JRuby 9.2.
83
+
84
+ ## Supported operating systems
85
+
86
+ Aruba is fully tested in CI on Linux and MacOS. On Windows, only RSpec tests
87
+ are run, so YMMV. Full Windows support is a work in progress.
55
88
 
56
89
  ## Contributing
57
90
 
58
91
  Please see the [CONTRIBUTING](CONTRIBUTING.md) file.
59
92
 
60
- ## Build Status
93
+ ## Code branches
94
+
95
+ Development takes place in the `master` branch and currently targets the 1.x
96
+ releases. If necessary, maintenance of the old 0.14.x releases takes place in
97
+ the `0-14-stable` branch. Stable branches will not be created until absolutely
98
+ necessary.
99
+
100
+ ## License
61
101
 
62
- |Version|Linux / OS X|Windows|
63
- | ------ | ------ | ------ |
64
- | master | [![Build Status](https://travis-ci.org/cucumber/aruba.svg?branch=master)](https://travis-ci.org/cucumber/aruba) | [![Build status](https://ci.appveyor.com/api/projects/status/jfo2tkqhnrqqcivl?svg=true)](https://ci.appveyor.com/project/cucumberbdd/aruba/branch/master)|
65
- | still | [![Build Status](https://travis-ci.org/cucumber/aruba.svg?branch=still)](https://travis-ci.org/cucumber/aruba) | [![Build status](https://ci.appveyor.com/api/projects/status/jfo2tkqhnrqqcivl?svg=true)](https://ci.appveyor.com/project/cucumberbdd/aruba/branch/still)
102
+ See the file [LICENSE](LICENSE).