aruba 0.14.14 → 1.0.0.pre.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (246) hide show
  1. checksums.yaml +5 -5
  2. data/.cucumberproignore +3 -0
  3. data/.github/ISSUE_TEMPLATE.md +48 -0
  4. data/.github/PULL_REQUEST_TEMPLATE.md +39 -0
  5. data/.gitignore +1 -0
  6. data/.rspec +1 -0
  7. data/.rubocop.yml +1 -5
  8. data/.travis.yml +35 -27
  9. data/CONTRIBUTING.md +131 -29
  10. data/Dockerfile +67 -0
  11. data/Gemfile +33 -80
  12. data/History.md +602 -0
  13. data/README.md +24 -196
  14. data/Rakefile +87 -27
  15. data/appveyor.yml +0 -1
  16. data/aruba.gemspec +30 -40
  17. data/bin/bootstrap +34 -0
  18. data/bin/build +3 -0
  19. data/{script → bin}/console +0 -0
  20. data/bin/release +3 -0
  21. data/bin/test +9 -0
  22. data/cucumber.yml +1 -3
  23. data/docker-compose.yml +26 -0
  24. data/{bin → exec}/aruba +0 -0
  25. data/fixtures/cli-app/README.md +1 -1
  26. data/fixtures/cli-app/features/support/aruba.rb +1 -0
  27. data/fixtures/cli-app/features/support/env.rb +1 -1
  28. data/fixtures/cli-app/lib/cli/app.rb +1 -5
  29. data/fixtures/cli-app/spec/spec_helper.rb +1 -6
  30. data/fixtures/empty-app/lib/cli/app.rb +2 -0
  31. data/lib/aruba/api.rb +3 -3
  32. data/lib/aruba/api/{commands.rb → command.rb} +4 -30
  33. data/lib/aruba/api/core.rb +8 -25
  34. data/lib/aruba/api/deprecated.rb +150 -408
  35. data/lib/aruba/api/filesystem.rb +17 -2
  36. data/lib/aruba/api/rvm.rb +44 -0
  37. data/lib/aruba/aruba_path.rb +56 -32
  38. data/lib/aruba/basic_configuration.rb +3 -5
  39. data/lib/aruba/colorizer.rb +99 -10
  40. data/lib/aruba/command.rb +0 -2
  41. data/lib/aruba/config.rb +5 -5
  42. data/lib/aruba/config/jruby.rb +5 -15
  43. data/lib/aruba/console.rb +2 -0
  44. data/lib/aruba/console/help.rb +1 -7
  45. data/lib/aruba/cucumber.rb +0 -2
  46. data/lib/aruba/cucumber/command.rb +98 -72
  47. data/lib/aruba/cucumber/file.rb +15 -3
  48. data/lib/aruba/cucumber/hooks.rb +71 -10
  49. data/lib/aruba/event_bus/name_resolver.rb +2 -10
  50. data/lib/aruba/generators/script_file.rb +1 -1
  51. data/lib/aruba/in_process.rb +0 -2
  52. data/lib/aruba/initializer.rb +4 -14
  53. data/lib/aruba/matchers/base/object_formatter.rb +0 -5
  54. data/lib/aruba/matchers/file/have_same_file_content.rb +5 -5
  55. data/lib/aruba/matchers/string/output_string_eq.rb +1 -1
  56. data/lib/aruba/platforms/announcer.rb +11 -16
  57. data/lib/aruba/platforms/aruba_file_creator.rb +1 -5
  58. data/lib/aruba/platforms/aruba_logger.rb +1 -5
  59. data/lib/aruba/platforms/command_monitor.rb +10 -14
  60. data/lib/aruba/platforms/determine_disk_usage.rb +8 -3
  61. data/lib/aruba/platforms/filesystem_status.rb +1 -5
  62. data/lib/aruba/platforms/unix_command_string.rb +1 -8
  63. data/lib/aruba/platforms/unix_environment_variables.rb +6 -8
  64. data/lib/aruba/platforms/unix_platform.rb +9 -22
  65. data/lib/aruba/platforms/unix_which.rb +4 -0
  66. data/lib/aruba/platforms/windows_command_string.rb +6 -14
  67. data/lib/aruba/platforms/windows_environment_variables.rb +4 -16
  68. data/lib/aruba/platforms/windows_which.rb +4 -0
  69. data/lib/aruba/processes/basic_process.rb +22 -18
  70. data/lib/aruba/processes/spawn_process.rb +12 -35
  71. data/lib/aruba/rspec.rb +1 -0
  72. data/lib/aruba/runtime.rb +3 -4
  73. data/lib/aruba/setup.rb +9 -11
  74. data/lib/aruba/spawn_process.rb +1 -4
  75. data/lib/aruba/tasks/docker_helpers.rb +158 -0
  76. data/lib/aruba/version.rb +1 -1
  77. metadata +62 -230
  78. data/CHANGELOG.md +0 -991
  79. data/features/.nav +0 -72
  80. data/features/01_getting_started_with_aruba/cleanup_working_directory.feature +0 -57
  81. data/features/01_getting_started_with_aruba/run_commands.feature +0 -217
  82. data/features/01_getting_started_with_aruba/supported_testing_frameworks.feature +0 -88
  83. data/features/02_configure_aruba/activate_announcer_on_command_failure.feature +0 -38
  84. data/features/02_configure_aruba/basics.feature +0 -151
  85. data/features/02_configure_aruba/command_runtime_environment.feature +0 -129
  86. data/features/02_configure_aruba/console_history_file.feature +0 -38
  87. data/features/02_configure_aruba/exit_timeout.feature +0 -60
  88. data/features/02_configure_aruba/fixtures_directories.feature +0 -38
  89. data/features/02_configure_aruba/fixtures_path_prefix.feature +0 -23
  90. data/features/02_configure_aruba/home_directory.feature +0 -80
  91. data/features/02_configure_aruba/io_timeout.feature +0 -30
  92. data/features/02_configure_aruba/keep_ansi.feature +0 -30
  93. data/features/02_configure_aruba/log_level.feature +0 -38
  94. data/features/02_configure_aruba/physical_block_size.feature +0 -53
  95. data/features/02_configure_aruba/remove_ansi_escape_sequences.feature +0 -38
  96. data/features/02_configure_aruba/root_directory.feature +0 -30
  97. data/features/02_configure_aruba/startup_wait_time.feature +0 -48
  98. data/features/02_configure_aruba/working_directory.feature +0 -38
  99. data/features/03_testing_frameworks/cucumber/announce_information_for_troubleshooting.feature +0 -306
  100. data/features/03_testing_frameworks/cucumber/disable_bunder.feature +0 -18
  101. data/features/03_testing_frameworks/cucumber/steps/command/check_for_exit_statuses.feature +0 -136
  102. data/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature +0 -514
  103. data/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature +0 -68
  104. data/features/03_testing_frameworks/cucumber/steps/command/check_stdout_of_command.feature +0 -109
  105. data/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature +0 -118
  106. data/features/03_testing_frameworks/cucumber/steps/command/run_a_command.feature +0 -66
  107. data/features/03_testing_frameworks/cucumber/steps/command/run_command_in_process.feature +0 -485
  108. data/features/03_testing_frameworks/cucumber/steps/command/run_command_interactively.feature +0 -90
  109. data/features/03_testing_frameworks/cucumber/steps/command/run_commands_which_require_a_shell.feature +0 -79
  110. data/features/03_testing_frameworks/cucumber/steps/command/send_signal_to_command.feature +0 -83
  111. data/features/03_testing_frameworks/cucumber/steps/command/stop_command.feature +0 -285
  112. data/features/03_testing_frameworks/cucumber/steps/environment/append_environment_variable.feature +0 -52
  113. data/features/03_testing_frameworks/cucumber/steps/environment/modify_home_variable_for_testing.feature +0 -62
  114. data/features/03_testing_frameworks/cucumber/steps/environment/prepend_environment_variable.feature +0 -52
  115. data/features/03_testing_frameworks/cucumber/steps/environment/set_environment_variable.feature +0 -49
  116. data/features/03_testing_frameworks/cucumber/steps/filesystem/append_to_file.feature +0 -45
  117. data/features/03_testing_frameworks/cucumber/steps/filesystem/cd_to_directory.feature +0 -33
  118. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_directory.feature +0 -57
  119. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_file.feature +0 -43
  120. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_file_content.feature +0 -143
  121. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_directory.feature +0 -69
  122. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_file.feature +0 -80
  123. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_permissions_of_file.feature +0 -39
  124. data/features/03_testing_frameworks/cucumber/steps/filesystem/compare_files.feature +0 -42
  125. data/features/03_testing_frameworks/cucumber/steps/filesystem/copy_file_or_directory.feature +0 -45
  126. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_directory.feature +0 -57
  127. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_file.feature +0 -76
  128. data/features/03_testing_frameworks/cucumber/steps/filesystem/move_file_or_directory.feature +0 -44
  129. data/features/03_testing_frameworks/cucumber/steps/filesystem/overwrite_file.feature +0 -72
  130. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_directory.feature +0 -38
  131. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_file.feature +0 -38
  132. data/features/03_testing_frameworks/cucumber/steps/filesystem/use_fixtures_for_setup_test.feature +0 -77
  133. data/features/03_testing_frameworks/rspec/hooks/define_after_hook_for_commands.feature +0 -43
  134. data/features/03_testing_frameworks/rspec/hooks/define_before_hook_for_commands.feature +0 -71
  135. data/features/03_testing_frameworks/rspec/setup_aruba_for_rspec.feature +0 -179
  136. data/features/04_aruba_api/command/find_a_started_command.feature +0 -83
  137. data/features/04_aruba_api/command/find_command_in_PATH.feature +0 -37
  138. data/features/04_aruba_api/command/read_stderr_of_command.feature +0 -46
  139. data/features/04_aruba_api/command/read_stdout_of_command.feature +0 -46
  140. data/features/04_aruba_api/command/run_command.feature +0 -423
  141. data/features/04_aruba_api/command/run_simple.feature +0 -254
  142. data/features/04_aruba_api/command/send_signal_to_command.feature +0 -53
  143. data/features/04_aruba_api/command/stop_all_commands.feature +0 -57
  144. data/features/04_aruba_api/command/stop_single_command.feature +0 -132
  145. data/features/04_aruba_api/command/terminate_all_commands.feature +0 -57
  146. data/features/04_aruba_api/command/use_last_command_started.feature +0 -50
  147. data/features/04_aruba_api/command/use_last_command_stopped.feature +0 -89
  148. data/features/04_aruba_api/core/expand_path.feature +0 -88
  149. data/features/04_aruba_api/environment/append_environment_variable.feature +0 -128
  150. data/features/04_aruba_api/environment/delete_environment_variable.feature +0 -63
  151. data/features/04_aruba_api/environment/prepend_environment_variable.feature +0 -128
  152. data/features/04_aruba_api/environment/set_environment_variable.feature +0 -376
  153. data/features/04_aruba_api/filesystem/cd_to_directory.feature +0 -184
  154. data/features/04_aruba_api/filesystem/check_existence_file_or_directory.feature +0 -62
  155. data/features/04_aruba_api/filesystem/check_if_path_is_absolute.feature +0 -48
  156. data/features/04_aruba_api/filesystem/check_if_path_is_directory.feature +0 -53
  157. data/features/04_aruba_api/filesystem/check_if_path_is_file.feature +0 -54
  158. data/features/04_aruba_api/filesystem/check_if_path_is_relative.feature +0 -48
  159. data/features/04_aruba_api/filesystem/create_directory.feature +0 -57
  160. data/features/04_aruba_api/filesystem/move_file_or_directory.feature +0 -119
  161. data/features/04_aruba_api/filesystem/report_disk_usage.feature +0 -152
  162. data/features/04_aruba_api/filesystem/use_fixtures.feature +0 -104
  163. data/features/04_aruba_api/text/extract_text.feature +0 -87
  164. data/features/04_aruba_api/text/replace_variables.feature +0 -45
  165. data/features/04_aruba_api/text/sanitize_text.feature +0 -228
  166. data/features/04_aruba_api/text/unescape_text.feature +0 -127
  167. data/features/05_use_rspec_matchers/command/check_timeouts.feature +0 -48
  168. data/features/05_use_rspec_matchers/directory/have_sub_directory.feature +0 -110
  169. data/features/05_use_rspec_matchers/file/be_a_command_found_in_path.feature +0 -115
  170. data/features/05_use_rspec_matchers/file/be_existing_executable.feature +0 -88
  171. data/features/05_use_rspec_matchers/file/be_existing_file.feature +0 -82
  172. data/features/05_use_rspec_matchers/file/have_file_content.feature +0 -123
  173. data/features/05_use_rspec_matchers/file/have_file_size.feature +0 -107
  174. data/features/05_use_rspec_matchers/path/be_an_absolute_path.feature +0 -74
  175. data/features/05_use_rspec_matchers/path/be_an_existing_path.feature +0 -97
  176. data/features/05_use_rspec_matchers/path/have_permissions.feature +0 -118
  177. data/features/06_use_aruba_cli/initialize_project_with_aruba.feature +0 -79
  178. data/features/06_use_aruba_cli/open_console.feature +0 -55
  179. data/features/08_other/improve_performance_if_using_jruby.feature +0 -37
  180. data/features/step_definitions/hooks.rb +0 -146
  181. data/features/support/aruba.rb +0 -7
  182. data/features/support/env.rb +0 -33
  183. data/features/support/simplecov_setup.rb +0 -11
  184. data/lib/aruba/api/bundler.rb +0 -16
  185. data/lib/aruba/cucumber/deprecated.rb +0 -93
  186. data/lib/aruba/matchers/deprecated.rb +0 -1
  187. data/lib/aruba/matchers/deprecated/file.rb +0 -17
  188. data/lib/aruba/reporting.rb +0 -126
  189. data/script/bootstrap +0 -24
  190. data/script/test +0 -3
  191. data/spec/aruba/api/bundler_spec.rb +0 -15
  192. data/spec/aruba/api/commands_spec.rb +0 -30
  193. data/spec/aruba/api/core_spec.rb +0 -184
  194. data/spec/aruba/api/deprecated_spec.rb +0 -421
  195. data/spec/aruba/api/filesystem_spec.rb +0 -746
  196. data/spec/aruba/api/runtime_spec.rb +0 -28
  197. data/spec/aruba/api_spec.rb +0 -73
  198. data/spec/aruba/aruba_path_spec.rb +0 -103
  199. data/spec/aruba/basic_configuration_spec.rb +0 -5
  200. data/spec/aruba/configuration_spec.rb +0 -5
  201. data/spec/aruba/hooks_spec.rb +0 -17
  202. data/spec/aruba/in_config_wrapper_spec.rb +0 -25
  203. data/spec/aruba/jruby_spec.rb +0 -73
  204. data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
  205. data/spec/aruba/matchers/command_spec.rb +0 -174
  206. data/spec/aruba/matchers/deprecated_spec.rb +0 -120
  207. data/spec/aruba/matchers/directory_spec.rb +0 -57
  208. data/spec/aruba/matchers/file_spec.rb +0 -208
  209. data/spec/aruba/matchers/path_spec.rb +0 -58
  210. data/spec/aruba/platform/simple_table_spec.rb +0 -23
  211. data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
  212. data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
  213. data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
  214. data/spec/aruba/processes/spawn_process_spec.rb +0 -112
  215. data/spec/aruba/rspec_spec.rb +0 -15
  216. data/spec/aruba/runtime_spec.rb +0 -29
  217. data/spec/event_bus/name_resolver_spec.rb +0 -68
  218. data/spec/event_bus_spec.rb +0 -158
  219. data/spec/spec_helper.rb +0 -22
  220. data/spec/support/configs/.keep +0 -0
  221. data/spec/support/configs/aruba.rb +0 -5
  222. data/spec/support/configs/pry.rb +0 -3
  223. data/spec/support/configs/rspec.rb +0 -15
  224. data/spec/support/helpers/.keep +0 -0
  225. data/spec/support/helpers/reporting.rb +0 -44
  226. data/spec/support/matchers/.keep +0 -0
  227. data/spec/support/matchers/option.rb +0 -35
  228. data/spec/support/shared_contexts/.keep +0 -0
  229. data/spec/support/shared_contexts/aruba.rb +0 -49
  230. data/spec/support/shared_examples/.keep +0 -0
  231. data/spec/support/shared_examples/configuration.rb +0 -116
  232. data/spec/support/shared_examples/directory.rb +0 -7
  233. data/spec/support/shared_examples/file.rb +0 -7
  234. data/templates/css/console.css +0 -24
  235. data/templates/css/filesystem.css +0 -42
  236. data/templates/css/pygments-autumn.css +0 -59
  237. data/templates/files.erb +0 -14
  238. data/templates/images/LICENSE +0 -22
  239. data/templates/images/folder.png +0 -0
  240. data/templates/images/page_white.png +0 -0
  241. data/templates/images/page_white_gherkin.png +0 -0
  242. data/templates/images/page_white_ruby.png +0 -0
  243. data/templates/index.erb +0 -20
  244. data/templates/js/filesystem.js +0 -5
  245. data/templates/js/jquery-1.11.3.min.js +0 -5
  246. data/templates/main.erb +0 -34
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 3a6dec2d2f4fb77bf7bba1146a84b9b5c95b9d71fce642d712c06e074a6400a6
4
- data.tar.gz: bc372d8eefe7a8c408befae6d8967ba3d7caab1ec923ba129e4b8966963620dd
2
+ SHA1:
3
+ metadata.gz: 8c62f9928322c0f6bf4fd32fd910f094462cff44
4
+ data.tar.gz: 133388c045d615d2487e6b6fb242ca24484c67a4
5
5
  SHA512:
6
- metadata.gz: 54e94426e026cb5d69797149f5522a5d425e7b7e0f18b9d7f04a66441c2cc57fae7291ee1405b0d58663355df83ecf8e15d3315a855e7900460d58cb684f013d
7
- data.tar.gz: 4a0551631244c384bcb0a3ce4603ef9e4adc402bf188d468d7f0e9fb43bb7d9f34f592e581d2482a401599ac4abbec31d3780ffae7ba1194ccf37775e2df96c8
6
+ metadata.gz: 558945a1186295b2e4c5a1f4f7ff07d34fb0f8aa90bef9ffb4cd7cfc2c5e0591ca2b2cb1c95c83f0e1b3322a212e90a8f1256d8db9077ab62b9d7d23330135e6
7
+ data.tar.gz: 55bcf35d60c156b3ecfba2a5ee6dec2fad9d5215789468eed2a798ee574fb3ab5ddcd93588f6bc7ee5079acfefd27b89d74cc9251c798d326e9b6000af1c3099
@@ -0,0 +1,3 @@
1
+ /
2
+ !features/
3
+ features/04_aruba_api/command/run_simple.feature
@@ -0,0 +1,48 @@
1
+ <!-- These sections are meant as guidance for you, to help you give the kind of information we'll need to help with your issue. If a section doesn't seem to fit, just skip it.
2
+
3
+ In general: Please provide as much information as you can to help us solving your problem -->
4
+
5
+ ## Summary
6
+
7
+ <!--- Provide a general summary description of the issue -->
8
+
9
+ ## Expected Behavior
10
+
11
+ <!--- If you're describing a bug, tell us what should happen -->
12
+ <!--- If you're suggesting a change/improvement, tell us how it should work -->
13
+ <!--- Feel free to use Given / Then / Then if that helps, but please add some plain-language context too -->
14
+
15
+ ## Current Behavior
16
+
17
+ <!--- If describing a bug, tell us what happens instead of the expected behavior -->
18
+ <!--- If suggesting a change/improvement, explain the difference from current behavior -->
19
+
20
+ <!--- If you have got some output place it in the code block below. Otherwise remove it. -->
21
+ ~~~
22
+ ~~~
23
+
24
+ ## Possible Solution
25
+
26
+ <!--- Not obligatory, but suggest a fix/reason for the bug, -->
27
+ <!--- or ideas how to implement the addition or change -->
28
+
29
+ ## Steps to Reproduce (for bugs)
30
+
31
+ <!--- Provide a link to a live example, or an unambiguous set of steps to -->
32
+ <!--- reproduce this bug. Include code to reproduce, if relevant -->
33
+ 1.
34
+ 2.
35
+ 3.
36
+ 4.
37
+
38
+ ## Context & Motivation
39
+
40
+ <!--- How has this issue affected you? What are you trying to accomplish? -->
41
+ <!--- Providing context helps us come up with a solution that is most useful in the real world -->
42
+
43
+ ## Your Environment
44
+
45
+ <!--- If you're reporting a bug, include as many relevant details about the environment you experienced the bug in -->
46
+ * Version used:
47
+ * Operating System and version:
48
+ * Link to your project:
@@ -0,0 +1,39 @@
1
+ <!-- These sections are meant as guidance for you. If something doesn't fit, you can just skip it. -->
2
+
3
+ ## Summary
4
+
5
+ <!--- Provide a general summary description of your changes -->
6
+
7
+ ## Details
8
+
9
+ <!--- Describe your changes in detail -->
10
+
11
+ ## Motivation and Context
12
+
13
+ <!--- Why is this change required? What problem does it solve? -->
14
+ <!--- If it fixes an open issue, please link to the issue here. -->
15
+
16
+ ## How Has This Been Tested?
17
+
18
+ <!--- Please add tests for changes to the code, otherwise we probably won't merge it -->
19
+
20
+ <!--- Please describe in detail how you tested your changes. -->
21
+ <!--- Include details of your testing environment, tests ran to see how -->
22
+ <!--- your change affects other areas of the code, etc. -->
23
+
24
+ ## Screenshots (if appropriate):
25
+
26
+ ## Types of changes
27
+
28
+ <!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
29
+ - [ ] Bug fix (non-breaking change which fixes an issue)
30
+ - [ ] New feature (non-breaking change which adds functionality)
31
+ - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
32
+
33
+ ## Checklist:
34
+
35
+ <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
36
+ <!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
37
+ - [ ] I've added tests for my code
38
+ - [ ] My change requires a change to the documentation.
39
+ - [ ] I have updated the documentation accordingly.
data/.gitignore CHANGED
@@ -28,6 +28,7 @@ tmp
28
28
  .bundle
29
29
  doc
30
30
  Gemfile.lock
31
+ Gemfile.local
31
32
  cucumber-pro.log
32
33
 
33
34
  ## Ruby versioniser
data/.rspec CHANGED
@@ -1,3 +1,4 @@
1
1
  --color
2
2
  --format Fuubar
3
3
  --order random
4
+ --warnings
@@ -1,9 +1,7 @@
1
1
  AllCops:
2
2
  Exclude:
3
3
  - tmp/**/*
4
- - vendor/bundle/**/*
5
4
  DisplayCopNames: true
6
-
7
5
  # Cop supports --auto-correct.
8
6
  # Configuration parameters: SupportedStyles.
9
7
  Style/HashSyntax:
@@ -41,6 +39,7 @@ Metrics/LineLength:
41
39
  Max: 169
42
40
  Exclude:
43
41
  - lib/aruba/api.rb
42
+ - lib/aruba/api/deprecated.rb
44
43
  - aruba.gemspec
45
44
 
46
45
  # Configuration parameters: CountComments.
@@ -78,9 +77,6 @@ Style/CollectionMethods:
78
77
  Style/Documentation:
79
78
  Enabled: false
80
79
 
81
- Style/DotPosition:
82
- EnforcedStyle: trailing
83
-
84
80
  # Configuration parameters: MinBodyLength.
85
81
  Style/GuardClause:
86
82
  Enabled: false
@@ -1,37 +1,45 @@
1
- # In order to install old Rubies, we need to use old Ubuntu distribution.
2
- dist: trusty
3
1
  sudo: false
4
2
  language: ruby
5
- script: script/test
6
- bundler_args: --without development debug
7
- cache: bundler
8
-
3
+ script: bin/test
4
+ install: bin/bootstrap --without development debug
9
5
  rvm:
10
- - 1.8.7
11
- - 1.9.2
12
6
  - 1.9.3
13
7
  - 2.0.0
14
8
  - 2.1.8
15
- - 2.2
16
- - 2.3
17
- - 2.4
18
- - 2.5
19
- - 2.6
20
- - 2.7
21
- - jruby-1.7
22
- - jruby-9.0
23
- - jruby-9.1
24
- - jruby-9.2.6.0
25
- - rbx-3
9
+ - 2.2.4
10
+ - 2.3.0
11
+ - 2.4.0
12
+ - ruby-head
13
+ - jruby
14
+ - jruby-20mode
15
+ - jruby-21mode
26
16
  matrix:
27
17
  include:
28
- - rvm: jruby-1.7
29
- env: JRUBY_OPTS='--dev --1.8'
18
+ - rvm: jruby-9.0.1.0
19
+ env: JRUBY_OPTS='--dev'
20
+ - rvm: jruby-9.0.1.0-20mode
21
+ env: JRUBY_OPTS='--dev'
22
+ - rvm: jruby-9.0.1.0-21mode
23
+ env: JRUBY_OPTS='--dev'
30
24
  allow_failures:
31
- - rvm: rbx-3
32
- branches:
33
- only:
34
- - master
35
- - still
25
+ - rvm: ruby-head
26
+ - rvm: jruby-9.0.1.0
27
+ env: JRUBY_OPTS='--dev'
28
+ - rvm: jruby-9.0.1.0-20mode
29
+ env: JRUBY_OPTS='--dev'
30
+ - rvm: jruby-9.0.1.0-21mode
31
+ env: JRUBY_OPTS='--dev'
32
+ fast_finish: true
33
+ notifications:
34
+ webhooks:
35
+ urls:
36
+ - https://webhooks.gitter.im/e/d4d9080e2a8c4910f609
36
37
  env:
37
- - JRUBY_OPTS='--dev'
38
+ global:
39
+ - secure: l8uznA5K4K9mZ1krmP3lTMD8WcJ32qGxFOR3jubKHcOBSLB4xSzU2aIqjyJdO+rLzebkwamhJc8pGSIWOUDQYvFiX7splK+uEkbBJ5huAhXtLF4Qgl86bCWbEXYzN7rvn0DQfpJAovyFMNRMnfo70XhwqWzFsaYa7Z0YbqYsJE4=
40
+ - JRUBY_OPTS='--dev'
41
+ cache: apt
42
+ addons:
43
+ apt:
44
+ packages:
45
+ - zsh
@@ -1,70 +1,172 @@
1
- ## About to create a new Github Issue?
1
+ # Contributing to the Cucumber Aruba Project
2
+
3
+ ## Introduction
4
+
5
+ We would love to get help from you as "user" and "contributor".
6
+
7
+ **Users**
8
+
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
11
+ * Encourage people in testing their code and keep communicating their needs
12
+
13
+ **Contributors**
14
+
15
+ * Send us bug fixes
16
+ * Add new features to the code
17
+ * Discuss changes
18
+ * Add missing documentation
19
+ * Improve our test coverage
20
+
21
+ The rest of this document is a guide for those maintaining Aruba, and others who would like to submit patches.
22
+
23
+ ## Contributing to the "aruba" project
24
+
25
+ It would be great if all people who want to contribute to the "aruba" project &ndash; contributors and maintiners &ndash; 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
+
27
+ ### Issues
2
28
 
3
29
  We appreciate that. But before you do, please learn our basic rules:
4
30
 
5
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).
6
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).
7
- * Reporting a bug? Please tell us:
8
- * which version of Aruba you're using
9
- * which version of Ruby you're using.
10
- * How to reproduce it. Bugs with a failing test in a [pull request](https://help.github.com/articles/using-pull-requests) get fixed much quicker. Some bugs may never be fixed.
11
- * Want to paste some code or output? Put \`\`\` on a line above and below your code/output. See [GFM](https://help.github.com/articles/github-flavored-markdown)'s *Fenced Code Blocks* for details.
12
- * We love [pull requests](https://help.github.com/articles/using-pull-requests). But if you don't have a test to go with it we probably won't merge it.
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
+
13
36
 
14
- # Contributing to Aruba
37
+ ### Pull Requests
15
38
 
16
- This document is a guide for those maintaining Aruba, and others who would like to submit patches.
39
+ **Contributors**
17
40
 
18
- ## Note on Patches/Pull Requests
41
+ Please...
19
42
 
20
43
  * Fork the project. Make a branch for your change.
21
- * Make your feature addition or bug fix.
44
+ * Make your feature addition or bug fix &ndash; if you're unsure if your addition will be accepted, open an issue for discussion first
22
45
  * Make sure your patch is well covered by tests. We don't accept changes that aren't tested.
23
46
  * Please do not change the Rakefile, version, or history.
24
47
  (if you want to have your own version, that is fine but
25
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 &ndash; 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
26
53
  * Send us a pull request.
27
54
 
28
- ## Bootstrap environment
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.
70
+ 1. Separate subject from body with a blank line
71
+ 2. Limit the subject line to 50 characters
72
+ 3. Capitalize the subject line
73
+ 4. Do not end the subject line with a period
74
+ 5. Use the imperative mood in the subject line
75
+ 6. Wrap the body at 72 characters
76
+ 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
+
80
+ ## Getting started as a "Contributor"
81
+
82
+ ### Bootstrap environment
29
83
 
30
84
  To get started with `aruba`, you just need to bootstrap the environment by
31
85
  running the following command.
32
86
 
33
- # Bootstrap environment
34
- script/bootstrap
87
+ ~~~bash
88
+ # Bootstrap environment
89
+ bin/bootstrap
90
+ ~~~
35
91
 
36
- ## Running tests
92
+ ### Running tests
37
93
 
38
- Make sure you bootstrap the environment first.
94
+ Make sure you bootstrap the environment first. Then run the following command
95
+ to run the test suite.
39
96
 
40
- # Run the test suite
41
- script/test
97
+ ~~~bash
98
+ # Run the test suite
99
+ bin/test
100
+ ~~~
42
101
 
43
- ## Release Process
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.
44
105
 
45
- * Bump the version number in `aruba.gemspec`
106
+ ~~~bash
107
+ # Build the docker container
108
+ bundle exec rake docker:build
109
+
110
+ # Run the whole test suite in "docker"-container
111
+ RUN_IN_DOCKER=1 bin/test
112
+
113
+ # Run only selected scenario
114
+ RUN_IN_DOCKER=1 bin/test cucumber features/steps/command/shell.feature:14
115
+ ~~~
116
+
117
+ ## Installing your own gems used for development
118
+
119
+ A `Gemfile.local`-file can be used to have your own gems installed to support
120
+ your normal development workflow.
121
+
122
+ Example:
123
+
124
+ ~~~ruby
125
+ gem 'pry'
126
+ gem 'pry-byebug'
127
+ gem 'byebug'
128
+ ~~~
129
+
130
+ ## Getting started as a "Maintainer"
131
+
132
+ ### Release Process
133
+
134
+ * Bump the version number in `lib/aruba/version.rb`
46
135
  * Make sure `History.md` is updated with the upcoming version number, and has entries for all fixes.
47
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
48
138
 
49
139
  Now release it
50
140
 
51
- bundle update
52
- bundle exec rake
53
- git commit -m "Release X.Y.Z"
54
- rake release
141
+ ~~~bash
142
+ # update dependencies
143
+ bundle update
144
+
145
+ # Run test suite
146
+ bin/test
147
+
148
+ # Release gem
149
+ git commit -m "Version bump"
150
+ bin/release
151
+
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
+ ~~~
55
158
 
56
- Now email cukes@googlegroups.com with details of the new release. Just a copy / paste from the History.md file is normally fine.
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.
57
160
 
58
- ## Gaining Release Karma
161
+ ### Gaining Release Karma
59
162
 
60
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.
61
164
 
62
165
  Current release managers:
63
- * Jarl Friis ([@jarl-dk](https://github.com/jarl-dk))
64
- * Matt Wynne ([@mattwynne](http://github.com/mattwynne))
65
166
  * Aslak Hellesøy ([@aslakhellesoy](http://github.com/aslakhellesoy))
66
- * Tom Brand ([@tom025](https://github.com/tom025))
67
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))
68
170
 
69
171
  To grant release karma, issue the following command:
70
172
 
@@ -0,0 +1,67 @@
1
+ FROM ubuntu:14.04
2
+ MAINTAINER Aruba Maintainers <cukes-devs@googlegroups.com>
3
+
4
+ # Packages needed to install RVM and run Bundler gem commands
5
+ RUN apt-get update -qq \
6
+ && apt-get -y install ca-certificates curl git-core --no-install-recommends \
7
+ && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin
8
+
9
+ # Create guest user early (before rvm) so uid:gid are 1000:000
10
+ RUN useradd -m -s /bin/bash guest
11
+
12
+ # Temporarily install RVM as root - just for requirements
13
+ RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \
14
+ && curl -L get.rvm.io | bash -s stable \
15
+ && bash -l -c 'rvm requirements 2.2.1' \
16
+ && bash -l -c 'echo yes | rvm implode' \
17
+
18
+ # Fix locale
19
+ ENV DEBIAN_FRONTEND noninteractive
20
+ RUN dpkg-reconfigure locales && locale-gen en_US.UTF-8 && /usr/sbin/update-locale LANG=en_US.UTF-8 \
21
+ && echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && locale-gen
22
+ ENV LC_ALL C.UTF-8
23
+ ENV LANG C.UTF-8
24
+ ENV LANGUAGE C.UTF-8
25
+
26
+ # Zsh (just for the sake of a handful of Cucumber scenarios)
27
+ RUN apt-get update -qq \
28
+ && apt-get -y install zsh --no-install-recommends \
29
+ && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin
30
+
31
+ # Python (just for the sake of a handful of Cucumber scenarios)
32
+ RUN apt-get update -qq \
33
+ && apt-get -y install python --no-install-recommends \
34
+ && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin
35
+
36
+ # Java (for javac - also for just a few Cucumber scenarios)
37
+ RUN apt-get update -qq \
38
+ && apt-get -y install openjdk-7-jdk --no-install-recommends \
39
+ && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin
40
+
41
+ # Cache needed gems - for faster test reruns
42
+ ADD Gemfile Gemfile.lock aruba.gemspec /home/guest/cache/aruba/
43
+ ADD lib/aruba/version.rb /home/guest/cache/aruba/lib/aruba/version.rb
44
+ RUN chown -R guest:guest /home/guest/cache
45
+
46
+ USER guest
47
+ ENV HOME /home/guest
48
+ WORKDIR /home/guest
49
+
50
+ # Install RVM as guest
51
+ RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \
52
+ && /bin/bash -l -c "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc" \
53
+ && curl -L get.rvm.io | bash -s stable \
54
+ && /bin/bash -l -c "rvm install 2.3.0 && rvm cleanup all" \
55
+ && /bin/bash -l -c "gem install bundler --no-ri --no-rdoc" \
56
+ && echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc \
57
+ && echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.zshrc
58
+
59
+ # Download and install aruba + dependencies
60
+ WORKDIR /home/guest/cache/aruba
61
+ RUN bash -l -c "bundle install"
62
+
63
+ # Default working directory
64
+ RUN mkdir -p /home/guest/aruba
65
+ WORKDIR /home/guest/aruba
66
+
67
+ CMD ["bundle exec rake test"]