vagrant-unbundled 1.9.7.1 → 1.9.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (280) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/Gemfile.lock +10 -6
  4. data/contrib/bash/completion.sh +1 -1
  5. data/contrib/sudoers/linux-ubuntu +3 -4
  6. data/lib/vagrant/errors.rb +8 -0
  7. data/lib/vagrant/machine.rb +2 -0
  8. data/lib/vagrant/util/platform.rb +1 -1
  9. data/lib/vagrant/util/powershell.rb +42 -13
  10. data/lib/vagrant/util/safe_exec.rb +13 -2
  11. data/lib/vagrant/util/ssh.rb +11 -1
  12. data/plugins/commands/box/command/update.rb +12 -7
  13. data/plugins/commands/login/client.rb +15 -6
  14. data/plugins/commands/login/command.rb +13 -3
  15. data/plugins/commands/up/command.rb +9 -0
  16. data/plugins/commands/validate/command.rb +4 -4
  17. data/plugins/guests/darwin/cap/shell_expand_guest_path.rb +2 -2
  18. data/plugins/guests/freebsd/cap/configure_networks.rb +1 -1
  19. data/plugins/guests/freebsd/cap/shell_expand_guest_path.rb +2 -2
  20. data/plugins/guests/linux/cap/shell_expand_guest_path.rb +2 -2
  21. data/plugins/guests/netbsd/cap/shell_expand_guest_path.rb +2 -2
  22. data/plugins/guests/openbsd/cap/shell_expand_guest_path.rb +2 -2
  23. data/plugins/guests/windows/cap/public_key.rb +21 -45
  24. data/plugins/kernel_v2/config/ssh_connect.rb +3 -0
  25. data/plugins/providers/docker/config.rb +4 -0
  26. data/plugins/providers/docker/driver/compose.rb +11 -4
  27. data/plugins/providers/hyperv/action/wait_for_ip_address.rb +15 -11
  28. data/plugins/providers/hyperv/scripts/get_network_config.ps1 +24 -9
  29. data/plugins/providers/virtualbox/action/prepare_nfs_settings.rb +18 -0
  30. data/plugins/provisioners/ansible/provisioner/host.rb +1 -1
  31. data/plugins/provisioners/chef/cap/debian/chef_install.rb +2 -2
  32. data/plugins/provisioners/chef/cap/freebsd/chef_install.rb +2 -2
  33. data/plugins/provisioners/chef/cap/omnios/chef_install.rb +2 -2
  34. data/plugins/provisioners/chef/cap/redhat/chef_install.rb +2 -2
  35. data/plugins/provisioners/chef/cap/suse/chef_install.rb +2 -2
  36. data/plugins/provisioners/chef/cap/windows/chef_install.rb +2 -2
  37. data/plugins/provisioners/chef/config/base.rb +17 -0
  38. data/plugins/provisioners/chef/config/chef_zero.rb +7 -0
  39. data/plugins/provisioners/chef/installer.rb +8 -7
  40. data/plugins/provisioners/chef/omnibus.rb +4 -6
  41. data/plugins/provisioners/chef/provisioner/base.rb +1 -0
  42. data/plugins/provisioners/chef/provisioner/chef_solo.rb +2 -1
  43. data/plugins/provisioners/file/provisioner.rb +18 -2
  44. data/plugins/provisioners/puppet/provisioner/puppet.rb +0 -2
  45. data/plugins/provisioners/salt/bootstrap-salt.sh +9 -5
  46. data/plugins/provisioners/shell/provisioner.rb +1 -1
  47. data/plugins/synced_folders/rsync/command/rsync_auto.rb +6 -1
  48. data/plugins/synced_folders/rsync/helper.rb +10 -0
  49. data/templates/locales/en.yml +27 -1
  50. data/templates/locales/providers_docker.yml +2 -0
  51. data/test/unit/base.rb +1 -3
  52. data/test/unit/plugins/commands/box/command/add_test.rb +3 -3
  53. data/test/unit/plugins/commands/box/command/remove_test.rb +6 -6
  54. data/test/unit/plugins/commands/box/command/repackage_test.rb +2 -4
  55. data/test/unit/plugins/commands/box/command/update_test.rb +36 -14
  56. data/test/unit/plugins/commands/init/command_test.rb +1 -1
  57. data/test/unit/plugins/commands/list-commands/command_test.rb +2 -2
  58. data/test/unit/plugins/commands/login/client_test.rb +5 -1
  59. data/test/unit/plugins/commands/package/command_test.rb +1 -1
  60. data/test/unit/plugins/commands/plugin/action/expunge_plugins_test.rb +1 -1
  61. data/test/unit/plugins/commands/plugin/action/install_gem_test.rb +3 -3
  62. data/test/unit/plugins/commands/plugin/action/plugin_exists_check_test.rb +3 -3
  63. data/test/unit/plugins/commands/plugin/action/uninstall_plugin_test.rb +1 -1
  64. data/test/unit/plugins/commands/plugin/action/update_gems_test.rb +2 -2
  65. data/test/unit/plugins/commands/port/command_test.rb +3 -3
  66. data/test/unit/plugins/commands/push/command_test.rb +1 -1
  67. data/test/unit/plugins/commands/snapshot/command/list_test.rb +2 -3
  68. data/test/unit/plugins/commands/ssh_config/command_test.rb +1 -1
  69. data/test/unit/plugins/commands/up/command_test.rb +69 -2
  70. data/test/unit/plugins/commands/validate/command_test.rb +47 -1
  71. data/test/unit/plugins/communicators/ssh/communicator_test.rb +5 -5
  72. data/test/unit/plugins/communicators/winrm/communicator_test.rb +6 -6
  73. data/test/unit/plugins/communicators/winrm/helper_test.rb +24 -23
  74. data/test/unit/plugins/communicators/winssh/communicator_test.rb +5 -5
  75. data/test/unit/plugins/guests/darwin/cap/shell_expand_guest_path_test.rb +43 -0
  76. data/test/unit/plugins/guests/freebsd/cap/configure_networks_test.rb +1 -1
  77. data/test/unit/plugins/guests/freebsd/cap/shell_expand_guest_path_test.rb +44 -0
  78. data/test/unit/plugins/guests/linux/cap/shell_expand_guest_path_test.rb +43 -0
  79. data/test/unit/plugins/guests/netbsd/cap/shell_expand_guest_path_test.rb +43 -0
  80. data/test/unit/plugins/guests/omnios/cap/mount_nfs_folder_test.rb +1 -3
  81. data/test/unit/plugins/guests/openbsd/cap/shell_expand_guest_path_test.rb +43 -0
  82. data/test/unit/plugins/guests/smartos/cap/change_host_name_test.rb +2 -2
  83. data/test/unit/plugins/guests/smartos/cap/configure_networks_test.rb +2 -2
  84. data/test/unit/plugins/guests/smartos/cap/halt_test.rb +2 -2
  85. data/test/unit/plugins/guests/smartos/cap/insert_public_key_test.rb +1 -1
  86. data/test/unit/plugins/guests/smartos/cap/mount_nfs_test.rb +2 -2
  87. data/test/unit/plugins/guests/smartos/cap/rsync_test.rb +2 -2
  88. data/test/unit/plugins/guests/windows/cap/insert_public_key_test.rb +2 -2
  89. data/test/unit/plugins/guests/windows/cap/remove_public_key_test.rb +4 -3
  90. data/test/unit/plugins/guests/windows/config_test.rb +1 -1
  91. data/test/unit/plugins/guests/windows/guest_network_test.rb +2 -2
  92. data/test/unit/plugins/hosts/linux/cap/nfs_test.rb +2 -0
  93. data/test/unit/plugins/kernel_v2/config/push_test.rb +1 -1
  94. data/test/unit/plugins/kernel_v2/config/vm_test.rb +7 -7
  95. data/test/unit/plugins/providers/docker/action/create_test.rb +1 -1
  96. data/test/unit/plugins/providers/docker/command/exec_test.rb +1 -1
  97. data/test/unit/plugins/providers/docker/config_test.rb +23 -4
  98. data/test/unit/plugins/providers/docker/driver_compose_test.rb +60 -30
  99. data/test/unit/plugins/providers/docker/driver_test.rb +31 -31
  100. data/test/unit/plugins/providers/docker/synced_folder_test.rb +3 -3
  101. data/test/unit/plugins/providers/hyperv/provider_test.rb +19 -19
  102. data/test/unit/plugins/providers/virtualbox/action/network_fix_ipv6_test.rb +2 -2
  103. data/test/unit/plugins/providers/virtualbox/action/network_test.rb +1 -1
  104. data/test/unit/plugins/providers/virtualbox/action/prepare_nfs_settings_test.rb +34 -8
  105. data/test/unit/plugins/providers/virtualbox/action/prepare_nfs_valid_ids_test.rb +3 -3
  106. data/test/unit/plugins/providers/virtualbox/cap_test.rb +2 -2
  107. data/test/unit/plugins/providers/virtualbox/config_test.rb +6 -6
  108. data/test/unit/plugins/providers/virtualbox/synced_folder_test.rb +6 -8
  109. data/test/unit/plugins/provisioners/ansible/config/guest_test.rb +1 -1
  110. data/test/unit/plugins/provisioners/ansible/config/host_test.rb +4 -4
  111. data/test/unit/plugins/provisioners/ansible/config/shared.rb +2 -2
  112. data/test/unit/plugins/provisioners/ansible/provisioner_test.rb +165 -157
  113. data/test/unit/plugins/provisioners/chef/command_builder_test.rb +2 -2
  114. data/test/unit/plugins/provisioners/chef/config/base_test.rb +13 -0
  115. data/test/unit/plugins/provisioners/chef/config/chef_zero_test.rb +11 -0
  116. data/test/unit/plugins/provisioners/chef/omnibus_test.rb +17 -7
  117. data/test/unit/plugins/provisioners/docker/config_test.rb +2 -1
  118. data/test/unit/plugins/provisioners/docker/provisioner_test.rb +13 -13
  119. data/test/unit/plugins/provisioners/file/provisioner_test.rb +32 -14
  120. data/test/unit/plugins/provisioners/puppet/provisioner/puppet_test.rb +51 -0
  121. data/test/unit/plugins/provisioners/salt/provisioner_test.rb +5 -5
  122. data/test/unit/plugins/provisioners/shell/provisioner_test.rb +35 -4
  123. data/test/unit/plugins/pushes/ftp/adapter_test.rb +1 -0
  124. data/test/unit/plugins/synced_folders/nfs/action_cleanup_test.rb +1 -1
  125. data/test/unit/plugins/synced_folders/nfs/config_test.rb +1 -1
  126. data/test/unit/plugins/synced_folders/rsync/command/rsync_auto_test.rb +44 -12
  127. data/test/unit/plugins/synced_folders/rsync/command/rsync_test.rb +5 -5
  128. data/test/unit/plugins/synced_folders/rsync/helper_test.rb +47 -29
  129. data/test/unit/plugins/synced_folders/rsync/synced_folder_test.rb +5 -5
  130. data/test/unit/vagrant/action/builtin/box_add_test.rb +27 -27
  131. data/test/unit/vagrant/action/builtin/box_check_outdated_test.rb +10 -10
  132. data/test/unit/vagrant/action/builtin/box_remove_test.rb +15 -15
  133. data/test/unit/vagrant/action/builtin/confirm_test.rb +1 -1
  134. data/test/unit/vagrant/action/builtin/graceful_halt_test.rb +2 -2
  135. data/test/unit/vagrant/action/builtin/handle_box_test.rb +8 -8
  136. data/test/unit/vagrant/action/builtin/handle_forwarded_port_collisions_test.rb +1 -1
  137. data/test/unit/vagrant/action/builtin/is_env_set_test.rb +2 -2
  138. data/test/unit/vagrant/action/builtin/is_state_test.rb +6 -6
  139. data/test/unit/vagrant/action/builtin/mixin_synced_folders_test.rb +6 -6
  140. data/test/unit/vagrant/action/builtin/provision_test.rb +1 -1
  141. data/test/unit/vagrant/action/builtin/provisioner_cleanup_test.rb +1 -1
  142. data/test/unit/vagrant/action/builtin/synced_folder_cleanup_test.rb +6 -6
  143. data/test/unit/vagrant/action/builtin/synced_folders_test.rb +3 -3
  144. data/test/unit/vagrant/batch_action_test.rb +2 -2
  145. data/test/unit/vagrant/box_collection_test.rb +1 -1
  146. data/test/unit/vagrant/box_test.rb +6 -6
  147. data/test/unit/vagrant/capability_host_test.rb +3 -3
  148. data/test/unit/vagrant/cli_test.rb +3 -3
  149. data/test/unit/vagrant/environment_test.rb +21 -20
  150. data/test/unit/vagrant/guest_test.rb +7 -7
  151. data/test/unit/vagrant/machine_index_test.rb +4 -4
  152. data/test/unit/vagrant/machine_test.rb +28 -17
  153. data/test/unit/vagrant/plugin/manager_test.rb +12 -12
  154. data/test/unit/vagrant/plugin/state_file_test.rb +2 -2
  155. data/test/unit/vagrant/plugin/v1/command_test.rb +9 -8
  156. data/test/unit/vagrant/plugin/v2/command_test.rb +54 -43
  157. data/test/unit/vagrant/plugin/v2/plugin_test.rb +4 -3
  158. data/test/unit/vagrant/plugin/v2/provider_test.rb +3 -3
  159. data/test/unit/vagrant/shared_helpers_test.rb +6 -6
  160. data/test/unit/vagrant/ui_test.rb +21 -21
  161. data/test/unit/vagrant/util/downloader_test.rb +7 -7
  162. data/test/unit/vagrant/util/ssh_test.rb +41 -5
  163. data/test/unit/vagrant/util/subprocess_test.rb +7 -7
  164. data/test/unit/vagrant_test.rb +9 -9
  165. data/vagrant.gemspec +3 -2
  166. data/vendor/bundle/ruby/2.4.0/bundler/gems/vagrant-spec-af86757912f7/vagrant-spec.gemspec +1 -1
  167. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/.gitignore +7 -0
  168. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/.rspec +2 -0
  169. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/.travis.yml +5 -0
  170. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/CONTRIBUTORS.md +19 -0
  171. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/Gemfile +12 -0
  172. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/Gemfile.lock +44 -0
  173. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/Guardfile +10 -0
  174. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/README.md +134 -0
  175. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/Rakefile +10 -0
  176. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/fake_ftp.gemspec +22 -0
  177. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/lib/fake_ftp.rb +5 -0
  178. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/lib/fake_ftp/file.rb +34 -0
  179. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/lib/fake_ftp/server.rb +340 -0
  180. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/lib/fake_ftp/version.rb +3 -0
  181. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/fixtures/invisible_bike.jpg +0 -0
  182. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/fixtures/text_file.txt +1 -0
  183. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/functional/server_spec.rb +468 -0
  184. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/integration/server_spec.rb +81 -0
  185. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/models/fake_ftp/file_spec.rb +102 -0
  186. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/models/fake_ftp/server_spec.rb +76 -0
  187. data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/spec_helper.rb +18 -0
  188. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/.gitignore +14 -0
  189. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/.rubocop.yml +57 -0
  190. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/.travis.yml +21 -0
  191. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/CONTRIBUTING.rdoc +36 -0
  192. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/Gemfile +3 -0
  193. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/History.rdoc +2247 -0
  194. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/MIT-LICENSE +21 -0
  195. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/README.rdoc +156 -0
  196. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/Rakefile +38 -0
  197. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/appveyor.yml +21 -0
  198. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/bin/console +7 -0
  199. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/bin/setup +6 -0
  200. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/command_line_usage.rdoc +158 -0
  201. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/Rakefile1 +38 -0
  202. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/Rakefile2 +35 -0
  203. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/a.c +6 -0
  204. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/b.c +6 -0
  205. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/main.c +11 -0
  206. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/glossary.rdoc +42 -0
  207. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/jamis.rb +591 -0
  208. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/proto_rake.rdoc +127 -0
  209. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/rake.1 +156 -0
  210. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/rakefile.rdoc +622 -0
  211. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/rational.rdoc +151 -0
  212. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/exe/rake +27 -0
  213. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake.rb +70 -0
  214. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/application.rb +785 -0
  215. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/backtrace.rb +23 -0
  216. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/clean.rb +77 -0
  217. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/cloneable.rb +16 -0
  218. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/cpu_counter.rb +106 -0
  219. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/default_loader.rb +14 -0
  220. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/dsl_definition.rb +194 -0
  221. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/early_time.rb +21 -0
  222. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/ext/core.rb +25 -0
  223. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/ext/string.rb +175 -0
  224. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_creation_task.rb +24 -0
  225. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_list.rb +434 -0
  226. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_task.rb +46 -0
  227. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_utils.rb +136 -0
  228. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_utils_ext.rb +144 -0
  229. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/invocation_chain.rb +56 -0
  230. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/invocation_exception_mixin.rb +16 -0
  231. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/late_time.rb +17 -0
  232. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/linked_list.rb +111 -0
  233. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/loaders/makefile.rb +53 -0
  234. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/multi_task.rb +49 -0
  235. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/name_space.rb +37 -0
  236. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/packagetask.rb +210 -0
  237. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/phony.rb +15 -0
  238. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/private_reader.rb +20 -0
  239. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/promise.rb +99 -0
  240. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/pseudo_status.rb +29 -0
  241. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/rake_module.rb +38 -0
  242. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb +21 -0
  243. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/rule_recursion_overflow_error.rb +19 -0
  244. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/scope.rb +42 -0
  245. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/task.rb +390 -0
  246. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/task_argument_error.rb +7 -0
  247. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/task_arguments.rb +108 -0
  248. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/task_manager.rb +303 -0
  249. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/tasklib.rb +11 -0
  250. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/testtask.rb +222 -0
  251. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/thread_history_display.rb +48 -0
  252. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/thread_pool.rb +162 -0
  253. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/trace_output.rb +22 -0
  254. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/version.rb +9 -0
  255. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/win32.rb +50 -0
  256. data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/rake.gemspec +39 -0
  257. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/.gitignore +19 -0
  258. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/.rspec +3 -0
  259. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/.travis.yml +24 -0
  260. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/Changelog.md +49 -0
  261. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/Gemfile +26 -0
  262. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/LICENSE.txt +27 -0
  263. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/README.md +72 -0
  264. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/Rakefile +16 -0
  265. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/cucumber.yml +2 -0
  266. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/features/its.feature +125 -0
  267. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/features/step_definitions/additional_cli_steps.rb +21 -0
  268. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/features/support/env.rb +23 -0
  269. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/lib/rspec/its.rb +149 -0
  270. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/lib/rspec/its/version.rb +5 -0
  271. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/rspec-its.gemspec +28 -0
  272. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/script/test_all +20 -0
  273. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/spec/rspec/its_spec.rb +237 -0
  274. data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/spec/spec_helper.rb +15 -0
  275. data/vendor/bundle/ruby/2.4.0/specifications/fake_ftp-0.1.1.gemspec +20 -0
  276. data/vendor/bundle/ruby/2.4.0/specifications/rake-12.0.0.gemspec +43 -0
  277. data/vendor/bundle/ruby/2.4.0/specifications/rspec-its-1.2.0.gemspec +47 -0
  278. data/version.txt +1 -1
  279. metadata +137 -7
  280. data/2.14.0 +0 -5
@@ -0,0 +1,81 @@
1
+ require 'spec_helper'
2
+ require 'net/ftp'
3
+
4
+ describe FakeFtp::Server, 'with ftp client' do
5
+ let(:server) { FakeFtp::Server.new(21212, 21213) }
6
+ let(:client) { Net::FTP.new }
7
+ let(:text_filename) { File.expand_path("../fixtures/text_file.txt", File.dirname(__FILE__)) }
8
+
9
+ before { server.start }
10
+
11
+ after :each do
12
+ client.close
13
+ server.stop
14
+ end
15
+
16
+ it 'should accept connections' do
17
+ expect { client.connect('127.0.0.1', 21212) }.to_not raise_error
18
+ end
19
+
20
+ context "with client" do
21
+ before { client.connect("127.0.0.1", 21212) }
22
+
23
+ it "should allow anonymous authentication" do
24
+ expect { client.login }.to_not raise_error
25
+ end
26
+
27
+ it "should allow named authentication" do
28
+ expect { client.login('someone', 'password') }.to_not raise_error
29
+ end
30
+
31
+ it "should allow client to quit" do
32
+ expect { client.login('someone', 'password') }.to_not raise_error
33
+ expect { client.quit }.to_not raise_error
34
+ end
35
+
36
+ it "should allow mtime" do
37
+ filename = 'someone'
38
+ time = Time.now
39
+ server.add_file(filename, "some data", time)
40
+
41
+ client.passive = false
42
+ mtime = client.mtime(filename)
43
+ expect(mtime.to_s).to eql(time.to_s)
44
+
45
+ client.passive = true
46
+ mtime = client.mtime(filename)
47
+ expect(mtime.to_s).to eql(time.to_s)
48
+ end
49
+
50
+ it "should put files using PASV" do
51
+ expect(File.stat(text_filename).size).to eql(20)
52
+
53
+ client.passive = true
54
+ expect { client.put(text_filename) }.to_not raise_error
55
+
56
+ expect(server.files).to include('text_file.txt')
57
+ expect(server.file('text_file.txt').bytes).to eql(20)
58
+ expect(server.file('text_file.txt')).to be_passive
59
+ expect(server.file('text_file.txt')).to_not be_active
60
+ end
61
+
62
+ it "should put files using active" do
63
+ expect(File.stat(text_filename).size).to eql(20)
64
+
65
+ client.passive = false
66
+ expect { client.put(text_filename) }.to_not raise_error
67
+
68
+ expect(server.files).to include('text_file.txt')
69
+ expect(server.file('text_file.txt').bytes).to eql(20)
70
+ expect(server.file('text_file.txt')).to_not be_passive
71
+ expect(server.file('text_file.txt')).to be_active
72
+ end
73
+
74
+ xit "should disconnect clients on close" do
75
+ # TODO: when this succeeds, we can care less about manually closing clients
76
+ # otherwise we get a CLOSE_WAIT process hanging around that blocks our port
77
+ server.stop
78
+ expect(client.closed?).to be_true
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,102 @@
1
+ require "spec_helper.rb"
2
+
3
+ describe FakeFtp::File do
4
+ context 'attributes' do
5
+ before :each do
6
+ @file = FakeFtp::File.new
7
+ end
8
+
9
+ it "has a name attribute" do
10
+ @file.name = "some name"
11
+ expect(@file.name).to eql("some name")
12
+ end
13
+
14
+ it "has a last_modified_time attribute" do
15
+ now = Time.now
16
+ @file.last_modified_time = now
17
+ expect(@file.last_modified_time).to eql(now)
18
+ end
19
+
20
+ it "has a bytes attribute" do
21
+ @file.bytes = 87
22
+ expect(@file.bytes).to eql(87)
23
+ end
24
+
25
+ it "has a data attribute" do
26
+ @file.data = 'some data'
27
+ expect(@file.data).to eql('some data')
28
+ expect(@file.bytes).to eql('some data'.length)
29
+ end
30
+ end
31
+
32
+ context 'setup' do
33
+ it "can be initialized without attributes" do
34
+ file = FakeFtp::File.new
35
+ expect(file.name).to be_nil
36
+ expect(file.bytes).to be_nil
37
+ expect(file.instance_variable_get(:@type)).to be_nil
38
+ end
39
+
40
+ it "can be initialized with name" do
41
+ file = FakeFtp::File.new('filename')
42
+ expect(file.name).to eql('filename')
43
+ expect(file.bytes).to be_nil
44
+ expect(file.instance_variable_get(:@type)).to be_nil
45
+ end
46
+
47
+ it "can be initialized with name and bytes" do
48
+ file = FakeFtp::File.new('filename', 104)
49
+ expect(file.name).to eql('filename')
50
+ expect(file.bytes).to eql(104)
51
+ expect(file.instance_variable_get(:@type)).to be_nil
52
+ end
53
+
54
+ it "can be initialized with name and bytes and type" do
55
+ file = FakeFtp::File.new('filename', 104, :passive)
56
+ expect(file.name).to eql('filename')
57
+ expect(file.bytes).to eql(104)
58
+ expect(file.instance_variable_get(:@type)).to eql(:passive)
59
+ end
60
+
61
+ it "can be initialized with name and bytes and type and last_modified_time" do
62
+ time = Time.now
63
+ file = FakeFtp::File.new('filename', 104, :passive, time)
64
+ expect(file.name).to eql('filename')
65
+ expect(file.bytes).to eql(104)
66
+ expect(file.instance_variable_get(:@type)).to eql(:passive)
67
+ expect(file.last_modified_time).to eql(time)
68
+ end
69
+ end
70
+
71
+ describe '#passive?' do
72
+ before :each do
73
+ @file = FakeFtp::File.new
74
+ end
75
+
76
+ it "should be true if type is :passive" do
77
+ @file.type = :passive
78
+ expect(@file.passive?).to be_true
79
+ end
80
+
81
+ it "should be false if type is :active" do
82
+ @file.type = :active
83
+ expect(@file.passive?).to be_false
84
+ end
85
+ end
86
+
87
+ describe '#active?' do
88
+ before :each do
89
+ @file = FakeFtp::File.new
90
+ end
91
+
92
+ it "should be true if type is :active" do
93
+ @file.type = :active
94
+ expect(@file.active?).to be_true
95
+ end
96
+
97
+ it "should be false if type is :passive" do
98
+ @file.type = :passive
99
+ expect(@file.active?).to be_false
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,76 @@
1
+ require "spec_helper.rb"
2
+
3
+ describe FakeFtp::Server, 'setup' do
4
+ it "starts a server on port n" do
5
+ server = FakeFtp::Server.new(21212)
6
+ expect(server.port).to eql(21212)
7
+ end
8
+
9
+ it "should defaults to port 21" do
10
+ server = FakeFtp::Server.new
11
+ expect(server.port).to eql(21)
12
+ end
13
+
14
+ it "starts a passive server on port p" do
15
+ server = FakeFtp::Server.new(21212, 21213)
16
+ expect(server.passive_port).to eql(21213)
17
+ end
18
+
19
+ it "should start and stop" do
20
+ server = FakeFtp::Server.new(21212)
21
+ expect(server.is_running?).to be_false
22
+ server.start
23
+ expect(server.is_running?).to be_true
24
+ server.stop
25
+ expect(server.is_running?).to be_false
26
+ end
27
+
28
+ it "should default :mode to :active" do
29
+ server = FakeFtp::Server.new(21212, 21213)
30
+ expect(server.mode).to eql(:active)
31
+ end
32
+
33
+ it "should start and stop passive port" do
34
+ server = FakeFtp::Server.new(21212, 21213)
35
+ expect(server.is_running?(21213)).to be_false
36
+ server.start
37
+ expect(server.is_running?(21213)).to be_true
38
+ server.stop
39
+ expect(server.is_running?(21213)).to be_false
40
+ end
41
+
42
+ it "should raise if attempting to use a bound port" do
43
+ server = FakeFtp::Server.new(21212)
44
+ server.start
45
+ expect { FakeFtp::Server.new(21212) }.to raise_error(Errno::EADDRINUSE, "Address already in use - 21212")
46
+ server.stop
47
+ end
48
+
49
+ it "should raise if attempting to use a bound passive_port" do
50
+ server = FakeFtp::Server.new(21212, 21213)
51
+ server.start
52
+ expect { FakeFtp::Server.new(21214, 21213) }.to raise_error(Errno::EADDRINUSE, "Address already in use - 21213")
53
+ server.stop
54
+ end
55
+ end
56
+
57
+ describe FakeFtp::Server, 'files' do
58
+ let(:file) { FakeFtp::File.new('filename', 34) }
59
+ let(:server) { FakeFtp::Server.new(21212) }
60
+
61
+ before { server.instance_variable_set(:@files, [file]) }
62
+
63
+ it "returns filenames from :files" do
64
+ expect(server.files).to include('filename')
65
+ end
66
+
67
+ it "can be accessed with :file" do
68
+ expect(server.file('filename')).to eql(file)
69
+ end
70
+
71
+ it "can reset files" do
72
+ server.reset
73
+ expect(server.files).to eql([])
74
+ end
75
+ end
76
+
@@ -0,0 +1,18 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ $LOAD_PATH.unshift(File.dirname(__FILE__), '**','*')
4
+
5
+ require 'rubygems'
6
+ require 'bundler/setup'
7
+
8
+ require 'rspec'
9
+ require 'fake_ftp' # and any other gems you need
10
+
11
+ RSpec.configure do |config|
12
+
13
+ # Run specs in random order to surface order dependencies. If you find an
14
+ # order dependency and want to debug it, you can fix the order by providing
15
+ # the seed, which is printed after each run.
16
+ # --seed 1234
17
+ config.order = 'random'
18
+ end
@@ -0,0 +1,14 @@
1
+ *.bak
2
+ *.rbc
3
+ *.swp
4
+ *~
5
+ .#*
6
+ .DS_Store
7
+ .idea
8
+ .rbx
9
+ /.rdoc
10
+ /TAGS
11
+ /coverage
12
+ /html
13
+ /pkg
14
+ Gemfile.lock
@@ -0,0 +1,57 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.3
3
+ DisabledByDefault: true
4
+ Exclude:
5
+ - doc/**/*.rb
6
+ - rake.gemspec
7
+
8
+ Style/LineLength:
9
+ Enabled: true
10
+ Max: 120
11
+
12
+ Style/HashSyntax:
13
+ Enabled: true
14
+
15
+ Style/StringLiterals:
16
+ Enabled: true
17
+ EnforcedStyle: double_quotes
18
+
19
+ Style/IndentationWidth:
20
+ Enabled: true
21
+
22
+ Style/Tab:
23
+ Enabled: true
24
+
25
+ Style/EmptyLines:
26
+ Enabled: true
27
+
28
+ Style/TrailingBlankLines:
29
+ Enabled: true
30
+
31
+ Style/TrailingWhitespace:
32
+ Enabled: true
33
+
34
+ Style/SpaceBeforeBlockBraces:
35
+ Enabled: true
36
+
37
+ Style/SpaceInsideBlockBraces:
38
+ Enabled: true
39
+
40
+ Style/SpaceInsideHashLiteralBraces:
41
+ Enabled: true
42
+
43
+ Style/CaseIndentation:
44
+ Enabled: true
45
+
46
+ Style/MultilineIfThen:
47
+ Enabled: true
48
+
49
+ Style/MethodDefParentheses:
50
+ Enabled: true
51
+
52
+ Style/BracesAroundHashParameters:
53
+ Enabled: true
54
+
55
+ Lint/EndAlignment:
56
+ Enabled: true
57
+ AlignWith: variable
@@ -0,0 +1,21 @@
1
+ language: ruby
2
+ sudo: false
3
+ rvm:
4
+ - 1.9.3
5
+ - 2.0.0
6
+ - 2.1.10
7
+ - 2.2.5
8
+ - 2.3.1
9
+ - ruby-head
10
+ - jruby-1.7.20
11
+ - jruby-9.1.6.0
12
+ - jruby-head
13
+ before_install:
14
+ - gem install bundler --no-document -v '~> 1.13.3'
15
+ before_script:
16
+ - unset JRUBY_OPTS
17
+ script: ruby -Ilib exe/rake
18
+ notifications:
19
+ email:
20
+ - hsbt@ruby-lang.org
21
+ - drbrain@segment7.net
@@ -0,0 +1,36 @@
1
+ = Source Repository
2
+
3
+ Rake is currently hosted at github. The github web page is
4
+ https://github.com/ruby/rake . The public git clone URL is
5
+
6
+ git://github.com/ruby/rake.git
7
+
8
+ = Running the Rake Test Suite
9
+
10
+ If you wish to run the unit and functional tests that come with Rake:
11
+
12
+ * +cd+ into the top project directory of rake.
13
+ * Install gem dependency using bundler:
14
+
15
+ bundle install # Install bundler, minitest and rdoc
16
+
17
+ * Type one of the following:
18
+
19
+ rake # If you have run rake's tests
20
+
21
+ = Issues and Bug Reports
22
+
23
+ Feel free to submit commits or feature requests. If you send a patch,
24
+ remember to update the corresponding unit tests. In fact, I prefer
25
+ new feature to be submitted in the form of new unit tests.
26
+
27
+ For other information, feel free to ask on the ruby-talk mailing list.
28
+
29
+ If you have found a bug in rake please try with the latest version of rake
30
+ before filing an issue. Also check History.rdoc for bug fixes that may have
31
+ addressed your issue.
32
+
33
+ When submitting pull requests please check the rake Travis-CI page for test
34
+ failures:
35
+
36
+ https://travis-ci.org/ruby/rake
@@ -0,0 +1,3 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
@@ -0,0 +1,2247 @@
1
+ === 12.0.0
2
+
3
+ ==== Compatibility Changes
4
+
5
+ * Remove arguments on clear #157 by Jesse Bowes
6
+ * Removed `rake/contrib` packages. These are extracted to `rake-contrib` gem.
7
+ * Removed to deprecated warnings for `last\_comment`.
8
+
9
+ ==== Enhancements:
10
+
11
+ * Re-use trace option on `cleanup` task. #164 by Brian Henderson
12
+ * Actions adore keyword arguments #174 by Josh Cheek
13
+ * Rake::TaskArguments#key? alias of #has_key? #175 by Paul Annesley
14
+
15
+ === 11.3.0 / 2016-09-20
16
+
17
+ ==== Enhancements:
18
+
19
+ * Remove to reference `Fixnum` constant. Pull request #160 by nobu
20
+
21
+ === 11.2.2 / 2016-06-12
22
+
23
+ ==== Bug fixes
24
+
25
+ * Fix unexpected behavior with multiple dependencies on Rake::TestTask
26
+
27
+ === 11.2.1 / 2016-06-12
28
+
29
+ ==== Bug fixes
30
+
31
+ * Fix regression of dependencies handling on Rake::TestTask. Report #139
32
+
33
+ === 11.2.0 / 2016-06-11
34
+
35
+ ==== Bug fixes
36
+
37
+ * Fix unexpected cut-out behavior on task description using triple dots
38
+ and exclamation. Report #106 from Stephan Kämper and Pull request #134 by Lee
39
+ * Fix empty argument assignment with `with_defaults` option. Pull request #135
40
+ by bakunyo
41
+ * Ignore to use `hwprefs` on Darwin platform. Use sysctl now. Report #128
42
+
43
+ ==== Enhancements
44
+
45
+ * Spawn options for sh Pull equest #138 by Eric Hodel.
46
+ * Allow to specify dependencies(prerequisites) for Rake::TestTask
47
+ Pull request #117 by Tim Maslyuchenko
48
+ * Use Bundler task instead of hoe for gem release.
49
+ * Remove explicitly load to rubygems for Ruby 1.8.
50
+ * Unify to declare `Rake::VERSION`.
51
+ * Support xz format for PackageTask.
52
+
53
+ === 11.1.2 / 2016-03-28
54
+
55
+ ==== Bug fixes
56
+
57
+ * Remove `-W` option when Rake::TestTask#verbose enabled. It's misunderstanding
58
+ specification change with Rake 11. Partly revert #67
59
+
60
+ === 11.1.1 / 2016-03-14
61
+
62
+ ==== Bug fixes
63
+
64
+ * Use `-W` instead of `--verbose` when Rake::TestTask#verbose enabled.
65
+ JRuby doesn't have `--verbose` option.
66
+
67
+ === 11.1.0 / 2016-03-11
68
+
69
+ ==== Compatibility Changes
70
+
71
+ * Revert to remove `last\_comment`. It will remove Rake 12.
72
+
73
+ === 11.0.1 / 2016-03-09
74
+
75
+ ==== Bug fixes
76
+
77
+ * Fixed packaging manifest.
78
+
79
+ === 11.0.0 / 2016-03-09
80
+
81
+ ==== Bug fixes
82
+
83
+ * Correctly handle bad encoding in exception messages. Pull request #113
84
+ by Tomer Brisker
85
+ * Fix verbose option at TestTask. Pull request #67 by Mike Blumtritt
86
+
87
+ ==== Enhancements
88
+
89
+ * Make FileList#exclude more analogous to FileList#include.
90
+ * Use IO.open instead of Open3.popen3 for CPU counter.
91
+ * Make Rake::Task#already_invoked publicly accessible.
92
+ Pull request #93 by Joe Rafaniello
93
+ * Lookup prerequisites with same name outside of scope instead of
94
+ matching self. Pull request #96 by Sandy Vanderbleek
95
+ * Make FileList#pathmap behave like String#pathmap.
96
+ Pull request #61 by Daniel Tamai
97
+ * Add fetch method to task arguments.
98
+ Pull request #12 by Chris Keathley
99
+ * Use ruby warnings by default. Pull request #97 by Harold Giménez
100
+
101
+ ==== Compatibility Changes
102
+
103
+ * Removed to support Ruby 1.8.x
104
+ * Removed constant named `RAKEVERSION`
105
+ * Removed Rake::AltSystem
106
+ * Removed Rake::RubyForgePublisher
107
+ * Removed Rake::TaskManager#last\_comment. Use last\_description.
108
+ * Removed Rake::TaskLib#paste
109
+ * Removed Top-level SshDirPublisher, SshFreshDirPublisher, SshFilePublisher
110
+ and CompositePublisher from lib/rake/contrib/publisher.rb
111
+ * Removed "rake/runtest.rb"
112
+
113
+ === 10.5.0 / 2016-01-13
114
+
115
+ ==== Enhancements
116
+
117
+ * Removed monkey patching for Ruby 1.8. Pull request #46 by Pablo Herrero.
118
+ * Inheritance class of Rake::FileList returns always self class.
119
+ Pull request #74 by Thomas Scholz
120
+
121
+ === 10.4.2 / 2014-12-02
122
+
123
+ ==== Bug fixes
124
+
125
+ * Rake no longer edits ARGV. This allows you to re-exec rake from a rake
126
+ task. Pull requset #9 by Matt Palmer.
127
+ * Documented how Rake::DSL#desc handles sentences in task descriptions.
128
+ Issue #7 by Raza Sayed.
129
+ * Fixed test error on 1.9.3 with legacy RubyGems. Issue #8 by Matt Palmer.
130
+ * Deleted duplicated History entry. Pull request #10 by Yuji Yamamoto.
131
+
132
+ === 10.4.1 / 2014-12-01
133
+
134
+ ==== Bug fixes
135
+
136
+ * Reverted fix for #277 as it caused numerous issues for rake users.
137
+ rails/spring issue #366 by Gustavo Dutra.
138
+
139
+ === 10.4.0 / 2014-11-22
140
+
141
+ ==== Enhancements
142
+
143
+ * Upgraded to minitest 5. Pull request #292 by Teo Ljungberg.
144
+ * Added support for Pathname in rake tasks. Pull request #271 by Randy
145
+ Coulman.
146
+ * Rake now ignores falsy dependencies which allows for easier programmatic
147
+ creation of tasks. Pull request #273 by Manav.
148
+ * Rake no longer edits ARGV. This allows you to re-exec rake from a rake
149
+ task. Issue #277 by Matt Palmer.
150
+ * Etc.nprocessors is used for counting the number of CPUs.
151
+
152
+ ==== Bug fixes
153
+
154
+ * Updated rake manpage. Issue #283 by Nathan Long, pull request #291 by
155
+ skittleys.
156
+ * Add Rake::LATE to allow rebuilding of files that depend on deleted files.
157
+ Bug #286, pull request #287 by David Grayson.
158
+ * Fix relinking of files when repackaging. Bug #276 by Muenze.
159
+ * Fixed some typos. Pull request #280 by Jed Northridge.
160
+ * Try counting CPUs via cpuinfo if host_os was not matched. Pull request
161
+ #282 by Edouard B.
162
+
163
+ === 10.3.2 / 2014-05-15
164
+
165
+ ==== Bug fixes
166
+
167
+ * Rake no longer infinitely loops when showing exception causes that refer to
168
+ each other. Bug #272 by Chris Bandy.
169
+ * Fixed documentation typos. Bug #275 by Jake Worth.
170
+
171
+ === 10.3.1 / 2014-04-17
172
+
173
+ ==== Bug fixes
174
+
175
+ * Really stop reporting an error when cleaning already-deleted files. Pull
176
+ request #269 by Randy Coulman
177
+ * Fixed infinite loop when cleaning already-deleted files on windows.
178
+
179
+ === 10.3 / 2014-04-15
180
+
181
+ ==== Enhancements
182
+
183
+ * Added --build-all option to rake which treats all file prerequisites as
184
+ out-of-date. Pull request #254 by Andrew Gilbert.
185
+ * Added Rake::NameSpace#scope. Issue #263 by Jon San Miguel.
186
+
187
+ ==== Bug fixes
188
+
189
+ * Suppress org.jruby package files in rake error messages for JRuby users.
190
+ Issue #213 by Charles Nutter.
191
+ * Fixed typo, removed extra "h". Pull request #267 by Hsing-Hui Hsu.
192
+ * Rake no longer reports an error when cleaning already-deleted files. Pull
193
+ request #266 by Randy Coulman.
194
+ * Consume stderr while determining CPU count to avoid hang. Issue #268 by
195
+ Albert Sun.
196
+
197
+ === 10.2.2 / 2014-03-27
198
+
199
+ ==== Bug fixes
200
+
201
+ * Restored Ruby 1.8.7 compatibility
202
+
203
+ === 10.2.1 / 2014-03-25
204
+
205
+ ==== Bug fixes
206
+
207
+ * File tasks including a ':' are now top-level tasks again. Issue #262 by
208
+ Josh Holtrop.
209
+ * Use sysctl for CPU count for all BSDs. Pull request #261 by Joshua Stein.
210
+ * Fixed CPU detection for unknown platforms.
211
+
212
+ === 10.2.0 / 2014-03-24
213
+
214
+ ==== Enhancements
215
+
216
+ * Rake now requires Ruby 1.9 or newer. For me, this is a breaking change, but
217
+ it seems that Jim planned to release it with Rake 10.2. See also pull
218
+ request #247 by Philip Arndt.
219
+ * Rake now allows you to declare tasks under a namespace like:
220
+
221
+ task 'a:b' do ... end
222
+
223
+ Pull request #232 by Judson Lester.
224
+ * Task#source defaults to the first prerequisite in non-rule tasks. Pull
225
+ request #215 by Avdi Grimm.
226
+ * Rake now automatically rebuilds and reloads imported files. Pull request
227
+ #209 by Randy Coulman.
228
+ * The rake task arguments can contain escaped commas. Pull request #214 by
229
+ Filip Hrbek.
230
+ * Rake now prints the exception class on errors. Patch #251 by David Cornu.
231
+
232
+ ==== Bug fixes
233
+
234
+ * Fixed typos. Pull request #256 by Valera Rozuvan, #250 via Jake Worth, #260
235
+ by Zachary Scott.
236
+ * Fixed documentation for calling tasks with arguments. Pull request #235 by
237
+ John Varghese.
238
+ * Clarified `rake -f` usage message. Pull request #252 by Marco Pfatschbacher.
239
+ * Fixed a test failure on windows. Pull request #231 by Hiroshi Shirosaki.
240
+ * Fixed corrupted rake.1.gz. Pull request #225 by Michel Boaventura.
241
+ * Fixed bug in can\_detect\_signals? in test. Patch from #243 by Alexey
242
+ Borzenkov.
243
+
244
+ === 10.1.1
245
+
246
+ * Use http://github.com/jimweirich/rake instead of http://rake.rubyforge.org for
247
+ canonical project url.
248
+
249
+ === 10.1.0
250
+
251
+ ==== Changes
252
+
253
+ ===== New Features
254
+
255
+ * Add support for variable length task argument lists. If more actual
256
+ arguments are supplied than named arguments, then the extra
257
+ arguments values will be in args.extras.
258
+
259
+ * Application name is not displayed in the help banner. (Previously
260
+ "rake" was hardcoded, now rake-based applications can display their
261
+ own names).
262
+
263
+ ===== Bug Fixes
264
+
265
+ Bug fixes include:
266
+
267
+ * Fix backtrace suppression issues.
268
+
269
+ * Rules now explicit get task arguments passed to them.
270
+
271
+ * Rename FileList#exclude? to FileList#exclude\_from\_list? to avoid
272
+ conflict with new Rails method.
273
+
274
+ * Clean / Clobber tasks now report failure to remove files.
275
+
276
+ * Plus heaps of internal code cleanup.
277
+
278
+ ==== Thanks
279
+
280
+ As usual, it was input from users that drove a lot of these changes.
281
+ The following people contributed patches, made suggestions or made
282
+ otherwise helpful comments. Thanks to ...
283
+
284
+ * Michael Nikitochkin (general code cleanup)
285
+ * Vipul A M (general code cleanup)
286
+ * Dennis Bell (variable length task argument lists)
287
+ * Jacob Swanner (rules arguments)
288
+ * Rafael Rosa Fu (documentation typo)
289
+ * Stuart Nelson (install.rb fixes)
290
+ * Lee Hambley (application name in help banner)
291
+
292
+ -- Jim Weirich
293
+
294
+ === 10.0.3
295
+
296
+ "Jim, when will Rake reach version 1.0?"
297
+
298
+ Over the past several years I've been asked that question at
299
+ conferences, panels and over twitter. Due to historical reasons (or
300
+ maybe just plain laziness) Rake has (incorrectly) been treating the
301
+ second digit of the version as the major release number. So in my head
302
+ Rake was already at version 9.
303
+
304
+ Well, it's time to fix things. This next version of Rake drops old,
305
+ crufty, backwards compatibility hacks such as top level constants, DSL
306
+ methods defined in Object and numerous other features that are just no
307
+ longer desired. It's also time to drop the leading zero from the
308
+ version number as well and call this new version of rake what it
309
+ really is: Version 10.
310
+
311
+ So, welcome to Rake 10.0!
312
+
313
+ Rake 10 is actually feature identical to the latest version of Rake 9
314
+ (that would be the version spelled 0.9.3), *except* that Rake 10 drops
315
+ all the sundry deprecated features that have accumulated over the years.
316
+
317
+ If your Rakefile is up to date and current with all the new features
318
+ of Rake 10, you are ready to go. If your Rakefile still uses a few
319
+ deprecated feeatures, feel free to use Rake 9 (0.9.3) with the same
320
+ feature set. Just be aware that future features will be in Rake 10
321
+ family line.
322
+
323
+ ==== Changes
324
+
325
+ As mentioned above, there are no new features in Rake 10. However,
326
+ there are a number of features missing:
327
+
328
+ * Classic namespaces are now gone. Rake is no longer able to reflect
329
+ the options settings in the global variables ($rakefile, $show\_tasks,
330
+ $show\_prereqs, $trace, $dryrun and $silent). The
331
+ <tt>--classic-namespace</tt> option is no longer supported.
332
+
333
+ * Global constants are no longer supported. This includes
334
+ <tt>Task</tt>, <tt>FileTask</tt>, <tt>FileCreationTask</tt> and
335
+ <tt>RakeApp</tt>). The constant missing hook to warn about using
336
+ global rake constants has been removed.
337
+
338
+ * The Rake DSL methods (task, file, directory, etc) are in their own
339
+ module (Rake::DSL). The stub versions of these methods (that printed
340
+ warnings) in Object have been removed. However, the DSL methods are
341
+ added to the top-level <tt>main</tt> object. Since <tt>main</tt> is
342
+ not in the inheritance tree, the presence of the DSL methods in main
343
+ should be low impact on other libraries.
344
+
345
+ If you want to use the Rake DSL commands from your own code, just
346
+ include <tt>Rake::DSL</tt> into your own classes and modules.
347
+
348
+ * The deprecated syntax for task arguments (the one using
349
+ <tt>:needs</tt>) has been removed.
350
+
351
+ * The <tt>--reduce-compat</tt> flag has been removed (it's not needed
352
+ anymore).
353
+
354
+ * The deprecated <tt>rake/sys.rb</tt> library has been removed.
355
+
356
+ * The deprecated <tt>rake/rdoctask.rb</tt> library has been removed.
357
+ RDoc supplies its own rake task now.
358
+
359
+ * The deprecated <tt>rake/gempackagetask.rb</tt> library has been
360
+ removed. Gem supplies its own package task now.
361
+
362
+ There is one small behavioral change:
363
+
364
+ * Non-file tasks now always report the current time as their time
365
+ stamp. This is different from the previous behavior where non-file
366
+ tasks reported current time only if there were no prerequisites, and
367
+ the max prerequisite timestamp otherwise. This lead to inconsistent
368
+ and surprising behavior when adding prerequisites to tasks that in
369
+ turn were prequisites to file tasks. The new behavior is more
370
+ consistent and predictable.
371
+
372
+ ==== Changes (from 0.9.3, 0.9.4, 0.9.5)
373
+
374
+ Since Rake 10 includes the changes from the last version of Rake 9,
375
+ we'll repeat the changes for versions 0.9.3 through 0.9.5 here.
376
+
377
+ ===== New Features (in 0.9.3)
378
+
379
+ * Multitask tasks now use a thread pool. Use -j to limit the number of
380
+ available threads.
381
+
382
+ * Use -m to turn regular tasks into multitasks (use at your own risk).
383
+
384
+ * You can now do "Rake.add_rakelib 'dir'" in your Rakefile to
385
+ programatically add rake task libraries.
386
+
387
+ * You can specific backtrace suppression patterns (see
388
+ --supress-backtrace)
389
+
390
+ * Directory tasks can now take prerequisites and actions
391
+
392
+ * Use --backtrace to request a full backtrace without the task trace.
393
+
394
+ * You can say "--backtrace=stdout" and "--trace=stdout" to route trace
395
+ output to standard output rather than standard error.
396
+
397
+ * Optional 'phony' target (enable with 'require 'rake/phony'") for
398
+ special purpose builds.
399
+
400
+ * Task#clear now clears task comments as well as actions and
401
+ prerequisites. Task#clear_comment will specifically target comments.
402
+
403
+ * The --all option will force -T and -D to consider all the tasks,
404
+ with and without descriptions.
405
+
406
+ ===== Bug Fixes (in 0.9.3)
407
+
408
+ * Semi-colons in windows rakefile paths now work.
409
+
410
+ * Improved Control-C support when invoking multiple test suites.
411
+
412
+ * egrep method now reads files in text mode (better support for
413
+ Windows)
414
+
415
+ * Better deprecation line number reporting.
416
+
417
+ * The -W option now works with all tasks, whether they have a
418
+ description or not.
419
+
420
+ * File globs in rake should not be sorted alphabetically, independent
421
+ of file system and platform.
422
+
423
+ * Numerous internal improvements.
424
+
425
+ * Documentation typos and fixes.
426
+
427
+ ===== Bug Fixes (in 0.9.4)
428
+
429
+ * Exit status with failing tests is not correctly set to non-zero.
430
+
431
+ * Simplified syntax for phony task (for older versions of RDoc).
432
+
433
+ * Stand alone FileList usage gets glob function (without loading in
434
+ extra dependencies)
435
+
436
+ ===== Bug Fixes (in 0.9.5)
437
+
438
+ * --trace and --backtrace no longer swallow following task names.
439
+
440
+ ==== Thanks
441
+
442
+ As usual, it was input from users that drove a lot of these changes. The
443
+ following people contributed patches, made suggestions or made
444
+ otherwise helpful comments. Thanks to ...
445
+
446
+ * Aaron Patterson
447
+ * Dylan Smith
448
+ * Jo Liss
449
+ * Jonas Pfenniger
450
+ * Kazuki Tsujimoto
451
+ * Michael Bishop
452
+ * Michael Elufimov
453
+ * NAKAMURA Usaku
454
+ * Ryan Davis
455
+ * Sam Grönblom
456
+ * Sam Phippen
457
+ * Sergio Wong
458
+ * Tay Ray Chuan
459
+ * grosser
460
+ * quix
461
+
462
+ Also, many thanks to Eric Hodel for assisting with getting this release
463
+ out the door.
464
+
465
+ -- Jim Weirich
466
+
467
+ === 10.0.2
468
+
469
+ ==== Changes
470
+
471
+ ===== Bug Fixes
472
+
473
+ * --trace and --backtrace no longer swallow following task names.
474
+
475
+ ==== Thanks
476
+
477
+ As usual, it was input from users that drove a lot of these changes. The
478
+ following people contributed patches, made suggestions or made
479
+ otherwise helpful comments. Thanks to ...
480
+
481
+ * Aaron Patterson
482
+ * Dylan Smith
483
+ * Jo Liss
484
+ * Jonas Pfenniger
485
+ * Kazuki Tsujimoto
486
+ * Michael Bishop
487
+ * Michael Elufimov
488
+ * NAKAMURA Usaku
489
+ * Ryan Davis
490
+ * Sam Grönblom
491
+ * Sam Phippen
492
+ * Sergio Wong
493
+ * Tay Ray Chuan
494
+ * grosser
495
+ * quix
496
+
497
+ Also, many thanks to Eric Hodel for assisting with getting this release
498
+ out the door.
499
+
500
+ -- Jim Weirich
501
+
502
+ === 10.0.1
503
+
504
+ ==== Changes
505
+
506
+ ===== Bug Fixes
507
+
508
+ * Exit status with failing tests is not correctly set to non-zero.
509
+
510
+ * Simplified syntax for phony task (for older versions of RDoc).
511
+
512
+ * Stand alone FileList usage gets glob function (without loading in
513
+ extra dependencies)
514
+
515
+ ==== Thanks
516
+
517
+ As usual, it was input from users that drove a lot of these changes. The
518
+ following people contributed patches, made suggestions or made
519
+ otherwise helpful comments. Thanks to ...
520
+
521
+ * Aaron Patterson
522
+ * Dylan Smith
523
+ * Jo Liss
524
+ * Jonas Pfenniger
525
+ * Kazuki Tsujimoto
526
+ * Michael Bishop
527
+ * Michael Elufimov
528
+ * NAKAMURA Usaku
529
+ * Ryan Davis
530
+ * Sam Grönblom
531
+ * Sam Phippen
532
+ * Sergio Wong
533
+ * Tay Ray Chuan
534
+ * grosser
535
+ * quix
536
+
537
+ Also, many thanks to Eric Hodel for assisting with getting this release
538
+ out the door.
539
+
540
+ -- Jim Weirich
541
+
542
+ === 10.0.0
543
+
544
+ "Jim, when will Rake reach version 1.0?"
545
+
546
+ Over the past several years I've been asked that question at
547
+ conferences, panels and over twitter. Due to historical reasons (or
548
+ maybe just plain laziness) Rake has (incorrectly) been treating the
549
+ second digit of the version as the major release number. So in my head
550
+ Rake was already at version 9.
551
+
552
+ Well, it's time to fix things. This next version of Rake drops old,
553
+ crufty, backwards compatibility hacks such as top level constants, DSL
554
+ methods defined in Object and numerous other features that are just no
555
+ longer desired. It's also time to drop the leading zero from the
556
+ version number as well and call this new version of rake what it
557
+ really is: Version 10.
558
+
559
+ So, welcome to Rake 10.0!
560
+
561
+ Rake 10 is actually feature identical to the latest version of Rake 9
562
+ (that would be the version spelled 0.9.3), *except* that Rake 10 drops
563
+ all the sundry deprecated features that have accumulated over the years.
564
+
565
+ If your Rakefile is up to date and current with all the new features
566
+ of Rake 10, you are ready to go. If your Rakefile still uses a few
567
+ deprecated feeatures, feel free to use Rake 9 (0.9.3) with the same
568
+ feature set. Just be aware that future features will be in Rake 10
569
+ family line.
570
+
571
+ ==== Changes in 10.0
572
+
573
+ As mentioned above, there are no new features in Rake 10. However,
574
+ there are a number of features missing:
575
+
576
+ * Classic namespaces are now gone. Rake is no longer able to reflect
577
+ the options settings in the global variables ($rakefile, $show\_tasks,
578
+ $show\_prereqs, $trace, $dryrun and $silent). The
579
+ <tt>--classic-namespace</tt> option is no longer supported.
580
+
581
+ * Global constants are no longer supported. This includes
582
+ <tt>Task</tt>, <tt>FileTask</tt>, <tt>FileCreationTask</tt> and
583
+ <tt>RakeApp</tt>). The constant missing hook to warn about using
584
+ global rake constants has been removed.
585
+
586
+ * The Rake DSL methods (task, file, directory, etc) are in their own
587
+ module (Rake::DSL). The stub versions of these methods (that printed
588
+ warnings) in Object have been removed. However, the DSL methods are
589
+ added to the top-level <tt>main</tt> object. Since <tt>main</tt> is
590
+ not in the inheritance tree, the presence of the DSL methods in main
591
+ should be low impact on other libraries.
592
+
593
+ If you want to use the Rake DSL commands from your own code, just
594
+ include <tt>Rake::DSL</tt> into your own classes and modules.
595
+
596
+ * The deprecated syntax for task arguments (the one using
597
+ <tt>:needs</tt>) has been removed.
598
+
599
+ * The <tt>--reduce-compat</tt> flag has been removed (it's not needed
600
+ anymore).
601
+
602
+ * The deprecated <tt>rake/sys.rb</tt> library has been removed.
603
+
604
+ * The deprecated <tt>rake/rdoctask.rb</tt> library has been removed.
605
+ RDoc supplies its own rake task now.
606
+
607
+ * The deprecated <tt>rake/gempackagetask.rb</tt> library has been
608
+ removed. Gem supplies its own package task now.
609
+
610
+ There is one small behavioral change:
611
+
612
+ * Non-file tasks now always report the current time as their time
613
+ stamp. This is different from the previous behavior where non-file
614
+ tasks reported current time only if there were no prerequisites, and
615
+ the max prerequisite timestamp otherwise. This lead to inconsistent
616
+ and surprising behavior when adding prerequisites to tasks that in
617
+ turn were prequisites to file tasks. The new behavior is more
618
+ consistent and predictable.
619
+
620
+ ==== Changes (from 0.9.3)
621
+
622
+ Since Rake 10 includes the changes from the last version of Rake 9,
623
+ we'll repeat the changes for version 0.9.3 here.
624
+
625
+ ===== New Features
626
+
627
+ * Multitask tasks now use a thread pool. Use -j to limit the number of
628
+ available threads.
629
+
630
+ * Use -m to turn regular tasks into multitasks (use at your own risk).
631
+
632
+ * You can now do "Rake.add_rakelib 'dir'" in your Rakefile to
633
+ programatically add rake task libraries.
634
+
635
+ * You can specific backtrace suppression patterns (see
636
+ --supress-backtrace)
637
+
638
+ * Directory tasks can now take prerequisites and actions
639
+
640
+ * Use --backtrace to request a full backtrace without the task trace.
641
+
642
+ * You can say "--backtrace=stdout" and "--trace=stdout" to route trace
643
+ output to standard output rather than standard error.
644
+
645
+ * Optional 'phony' target (enable with 'require 'rake/phony'") for
646
+ special purpose builds.
647
+
648
+ * Task#clear now clears task comments as well as actions and
649
+ prerequisites. Task#clear_comment will specifically target comments.
650
+
651
+ * The --all option will force -T and -D to consider all the tasks,
652
+ with and without descriptions.
653
+
654
+ ===== Bug Fixes
655
+
656
+ * Semi-colons in windows rakefile paths now work.
657
+
658
+ * Improved Control-C support when invoking multiple test suites.
659
+
660
+ * egrep method now reads files in text mode (better support for
661
+ Windows)
662
+
663
+ * Better deprecation line number reporting.
664
+
665
+ * The -W option now works with all tasks, whether they have a
666
+ description or not.
667
+
668
+ * File globs in rake should not be sorted alphabetically, independent
669
+ of file system and platform.
670
+
671
+ * Numerous internal improvements.
672
+
673
+ * Documentation typos and fixes.
674
+
675
+
676
+ ==== Thanks
677
+
678
+ As usual, it was input from users that drove a lot of these changes. The
679
+ following people contributed patches, made suggestions or made
680
+ otherwise helpful comments. Thanks to ...
681
+
682
+ * Aaron Patterson
683
+ * Dylan Smith
684
+ * Jo Liss
685
+ * Jonas Pfenniger
686
+ * Kazuki Tsujimoto
687
+ * Michael Bishop
688
+ * Michael Elufimov
689
+ * NAKAMURA Usaku
690
+ * Ryan Davis
691
+ * Sam Grönblom
692
+ * Sam Phippen
693
+ * Sergio Wong
694
+ * Tay Ray Chuan
695
+ * grosser
696
+ * quix
697
+
698
+ Also, many thanks to Eric Hodel for assisting with getting this release
699
+ out the door.
700
+
701
+ -- Jim Weirich
702
+
703
+ === 0.9.6
704
+
705
+ Rake version 0.9.6 contains a number of fixes mainly for merging
706
+ Rake into the Ruby source tree and fixing tests.
707
+
708
+ ==== Changes
709
+
710
+ ===== Bug Fixes (0.9.6)
711
+
712
+ * Better trace output when using a multi-threaded Rakefile.
713
+ * Arg parsing is now consistent for tasks and multitasks.
714
+ * Skip exit code test in versions of Ruby that don't support it well.
715
+
716
+ Changes for better integration with the Ruby source tree:
717
+
718
+ * Fix version literal for Ruby source tree build.
719
+ * Better loading of libraries for testing in Ruby build.
720
+ * Use the ruby version provided by Ruby's tests.
721
+
722
+ ==== Thanks
723
+
724
+ As usual, it was input from users that drove a alot of these changes. The
725
+ following people either contributed patches, made suggestions or made
726
+ otherwise helpful comments. Thanks to ...
727
+
728
+ * Aaron Patterson
729
+ * Dylan Smith
730
+ * Jo Liss
731
+ * Jonas Pfenniger
732
+ * Kazuki Tsujimoto
733
+ * Michael Bishop
734
+ * Michael Elufimov
735
+ * NAKAMURA Usaku
736
+ * Ryan Davis
737
+ * Sam Grönblom
738
+ * Sam Phippen
739
+ * Sergio Wong
740
+ * Tay Ray Chuan
741
+ * grosser
742
+ * quix
743
+
744
+ Also, many thanks to Eric Hodel for assisting with getting this release
745
+ out the door.
746
+
747
+ -- Jim Weirich
748
+
749
+ === 0.9.5
750
+
751
+ Rake version 0.9.5 contains a number of bug fixes.
752
+
753
+ ==== Changes
754
+
755
+ ===== Bug Fixes (0.9.5)
756
+
757
+ * --trace and --backtrace no longer swallow following task names.
758
+
759
+ ==== Thanks
760
+
761
+ As usual, it was input from users that drove a alot of these changes. The
762
+ following people either contributed patches, made suggestions or made
763
+ otherwise helpful comments. Thanks to ...
764
+
765
+ * Aaron Patterson
766
+ * Dylan Smith
767
+ * Jo Liss
768
+ * Jonas Pfenniger
769
+ * Kazuki Tsujimoto
770
+ * Michael Bishop
771
+ * Michael Elufimov
772
+ * NAKAMURA Usaku
773
+ * Ryan Davis
774
+ * Sam Grönblom
775
+ * Sam Phippen
776
+ * Sergio Wong
777
+ * Tay Ray Chuan
778
+ * grosser
779
+ * quix
780
+
781
+ Also, many thanks to Eric Hodel for assisting with getting this release
782
+ out the door.
783
+
784
+ -- Jim Weirich
785
+
786
+ === 0.9.4
787
+
788
+ Rake version 0.9.4 contains a number of bug fixes.
789
+
790
+ ==== Changes
791
+
792
+ ===== Bug Fixes (0.9.4)
793
+
794
+ * Exit status with failing tests is not correctly set to non-zero.
795
+
796
+ * Simplified syntax for phony task (for older versions of RDoc).
797
+
798
+ * Stand alone FileList usage gets glob function (without loading in
799
+ extra dependencies)
800
+
801
+ ==== Thanks
802
+
803
+ As usual, it was input from users that drove a alot of these changes. The
804
+ following people either contributed patches, made suggestions or made
805
+ otherwise helpful comments. Thanks to ...
806
+
807
+ * Aaron Patterson
808
+ * Dylan Smith
809
+ * Jo Liss
810
+ * Jonas Pfenniger
811
+ * Kazuki Tsujimoto
812
+ * Michael Bishop
813
+ * Michael Elufimov
814
+ * NAKAMURA Usaku
815
+ * Ryan Davis
816
+ * Sam Grönblom
817
+ * Sam Phippen
818
+ * Sergio Wong
819
+ * Tay Ray Chuan
820
+ * grosser
821
+ * quix
822
+
823
+ Also, many thanks to Eric Hodel for assisting with getting this release
824
+ out the door.
825
+
826
+ -- Jim Weirich
827
+
828
+ === 0.9.3
829
+
830
+ Rake version 0.9.3 contains some new, backwards compatible features and
831
+ a number of bug fixes.
832
+
833
+ ==== Changes
834
+
835
+ ===== New Features
836
+
837
+ * Multitask tasks now use a thread pool. Use -j to limit the number of
838
+ available threads.
839
+
840
+ * Use -m to turn regular tasks into multitasks (use at your own risk).
841
+
842
+ * You can now do "Rake.add_rakelib 'dir'" in your Rakefile to
843
+ programatically add rake task libraries.
844
+
845
+ * You can specific backtrace suppression patterns (see
846
+ --supress-backtrace)
847
+
848
+ * Directory tasks can now take prerequisites and actions
849
+
850
+ * Use --backtrace to request a full backtrace without the task trace.
851
+
852
+ * You can say "--backtrace=stdout" and "--trace=stdout" to route trace
853
+ output to standard output rather than standard error.
854
+
855
+ * Optional 'phony' target (enable with 'require 'rake/phony'") for
856
+ special purpose builds.
857
+
858
+ * Task#clear now clears task comments as well as actions and
859
+ prerequisites. Task#clear_comment will specifically target comments.
860
+
861
+ * The --all option will force -T and -D to consider all the tasks,
862
+ with and without descriptions.
863
+
864
+ ===== Bug Fixes
865
+
866
+ * Semi-colons in windows rakefile paths now work.
867
+
868
+ * Improved Control-C support when invoking multiple test suites.
869
+
870
+ * egrep method now reads files in text mode (better support for
871
+ Windows)
872
+
873
+ * Better deprecation line number reporting.
874
+
875
+ * The -W option now works with all tasks, whether they have a
876
+ description or not.
877
+
878
+ * File globs in rake should not be sorted alphabetically, independent
879
+ of file system and platform.
880
+
881
+ * Numerous internal improvements.
882
+
883
+ * Documentation typos and fixes.
884
+
885
+ ==== Thanks
886
+
887
+ As usual, it was input from users that drove a alot of these changes. The
888
+ following people either contributed patches, made suggestions or made
889
+ otherwise helpful comments. Thanks to ...
890
+
891
+ * Aaron Patterson
892
+ * Dylan Smith
893
+ * Jo Liss
894
+ * Jonas Pfenniger
895
+ * Kazuki Tsujimoto
896
+ * Michael Bishop
897
+ * Michael Elufimov
898
+ * NAKAMURA Usaku
899
+ * Ryan Davis
900
+ * Sam Grönblom
901
+ * Sam Phippen
902
+ * Sergio Wong
903
+ * Tay Ray Chuan
904
+ * grosser
905
+ * quix
906
+
907
+ Also, many thanks to Eric Hodel for assisting with getting this release
908
+ out the door.
909
+
910
+ -- Jim Weirich
911
+
912
+ === Rake 0.9.2.2
913
+
914
+ Rake version 0.9.2.2 is mainly bug fixes.
915
+
916
+ ==== Changes
917
+
918
+ * The rake test loader now removes arguments it has processed. Issue #51
919
+ * Rake::TaskArguments now responds to #values\_at
920
+ * RakeFileUtils.verbose_flag = nil silences output the same as 0.8.7
921
+ * Rake tests are now directory-independent
922
+ * Rake tests are no longer require flexmock
923
+ * Commands constant is no longer polluting top level namespace.
924
+ * Show only the interesting portion of the backtrace by default (James M. Lawrence).
925
+ * Added --reduce-compat option to remove backward compatible DSL hacks (James M. Lawrence).
926
+
927
+ ==== Thanks
928
+
929
+ As usual, it was input from users that drove a alot of these changes. The
930
+ following people either contributed patches, made suggestions or made
931
+ otherwise helpful comments. Thanks to ...
932
+
933
+ * James M. Lawrence (quix)
934
+ * Roger Pack
935
+ * Cezary Baginski
936
+ * Sean Scot August Moon
937
+ * R.T. Lechow
938
+ * Alex Chaffee
939
+ * James Tucker
940
+ * Matthias Lüdtke
941
+ * Santiago Pastorino
942
+
943
+ Also, bit thanks to Eric Hodel for assisting with getting this release
944
+ out the door (where "assisting" includes, but is not by any means
945
+ limited to, "pushing" me to get it done).
946
+
947
+ -- Jim Weirich
948
+
949
+ === 0.9.2
950
+
951
+ Rake version 0.9.2 has a few small fixes. See below for details.
952
+
953
+ ==== Changes
954
+
955
+ * Support for Ruby 1.8.6 was fixed.
956
+ * Global DSL warnings now honor --no-deprecate
957
+
958
+ ==== Thanks
959
+
960
+ As usual, it was input from users that drove a alot of these changes. The
961
+ following people either contributed patches, made suggestions or made
962
+ otherwise helpful comments. Thanks to ...
963
+
964
+ * James M. Lawrence (quix)
965
+ * Roger Pack
966
+ * Cezary Baginski
967
+ * Sean Scot August Moon
968
+ * R.T. Lechow
969
+ * Alex Chaffee
970
+ * James Tucker
971
+ * Matthias Lüdtke
972
+ * Santiago Pastorino
973
+
974
+ Also, bit thanks to Eric Hodel for assisting with getting this release
975
+ out the door (where "assisting" includes, but is not by any means
976
+ limited to, "pushing" me to get it done).
977
+
978
+ -- Jim Weirich
979
+
980
+ === 0.9.1
981
+
982
+ Rake version 0.9.1 has a number of bug fixes and enhancments (see
983
+ below for more details). Additionally, the internals have be slightly
984
+ restructured and improved.
985
+
986
+ ==== Changes
987
+
988
+ Rake 0.9.1 adds back the global DSL methods, but with deprecation
989
+ messages. This allows Rake 0.9.1 to be used with older rakefiles with
990
+ warning messages.
991
+
992
+ ==== Thanks
993
+
994
+ As usual, it was input from users that drove a alot of these changes. The
995
+ following people either contributed patches, made suggestions or made
996
+ otherwise helpful comments. Thanks to ...
997
+
998
+ * James M. Lawrence (quix)
999
+ * Roger Pack
1000
+ * Cezary Baginski
1001
+ * Sean Scot August Moon
1002
+ * R.T. Lechow
1003
+ * Alex Chaffee
1004
+ * James Tucker
1005
+ * Matthias Lüdtke
1006
+ * Santiago Pastorino
1007
+
1008
+ Also, bit thanks to Eric Hodel for assisting with getting this release
1009
+ out the door (where "assisting" includes, but is not by any means
1010
+ limited to, "pushing" me to get it done).
1011
+
1012
+ -- Jim Weirich
1013
+
1014
+ === 0.9.0
1015
+
1016
+ Rake version 0.9.0 has a number of bug fixes and enhancments (see
1017
+ below for more details). Additionally, the internals have be slightly
1018
+ restructured and improved.
1019
+
1020
+ ==== Changes
1021
+
1022
+ ===== New Features / Enhancements / Bug Fixes in Version 0.9.0
1023
+
1024
+ * Rake now warns when the deprecated :needs syntax used (and suggests
1025
+ the proper syntax in the warning).
1026
+
1027
+ * Moved Rake DSL commands to top level ruby object 'main'. Rake DSL
1028
+ commands are no longer private methods in Object. (Suggested by
1029
+ James M. Lawrence/quix)
1030
+
1031
+ * Rake now uses case-insensitive comparisons to find the Rakefile on Windows.
1032
+ Based on patch by Roger Pack.
1033
+
1034
+ * Rake now requires (instead of loads) files in the test task. Patch by Cezary
1035
+ Baginski.
1036
+
1037
+ * Fixed typos. Patches by Sean Scot August Moon and R.T. Lechow.
1038
+
1039
+ * Rake now prints the Rakefile directory only when it's different from the
1040
+ current directory. Patch by Alex Chaffee.
1041
+
1042
+ * Improved rakefile_location discovery on Windows. Patch by James Tucker.
1043
+
1044
+ * Rake now recognizes "Windows Server" as a windows system. Patch by Matthias
1045
+ Lüdtke
1046
+
1047
+ * Rake::RDocTask is deprecated. Use RDoc::Task from RDoc 2.4.2+ (require
1048
+ 'rdoc/task')
1049
+
1050
+ * Rake::GemPackageTask is deprecated. Use Gem::PackageTask (require
1051
+ 'rubygems/package\_task')
1052
+
1053
+ * Rake now outputs various messages to $stderr instead of $stdout.
1054
+
1055
+ * Rake no longer emits warnings for Config. Patch by Santiago Pastorino.
1056
+
1057
+ * Removed Rake's DSL methods from the top level scope. If you need to
1058
+ call 'task :xzy' in your code, include Rake::DSL into your class, or
1059
+ put the code in a Rake::DSL.environment do ... end block.
1060
+
1061
+ * Split rake.rb into individual files.
1062
+
1063
+ * Support for the --where (-W) flag for showing where a task is defined.
1064
+
1065
+ * Fixed quoting in test task.
1066
+ (http://onestepback.org/redmine/issues/show/44,
1067
+ http://www.pivotaltracker.com/story/show/1223138)
1068
+
1069
+ * Fixed the silent option parsing problem.
1070
+ (http://onestepback.org/redmine/issues/show/47)
1071
+
1072
+ * Fixed :verbose=>false flag on sh and ruby commands.
1073
+
1074
+ * Rake command line options may be given by default in a RAKEOPT
1075
+ environment variable.
1076
+
1077
+ * Errors in Rake will now display the task invocation chain in effect
1078
+ at the time of the error.
1079
+
1080
+ * Accepted change by warnickr to not expand test patterns in shell
1081
+ (allowing more files in the test suite).
1082
+
1083
+ * Fixed that file tasks did not perform prereq lookups in scope
1084
+ (Redmine #57).
1085
+
1086
+ ==== Thanks
1087
+
1088
+ As usual, it was input from users that drove a alot of these changes. The
1089
+ following people either contributed patches, made suggestions or made
1090
+ otherwise helpful comments. Thanks to ...
1091
+
1092
+ * James M. Lawrence (quix)
1093
+ * Roger Pack
1094
+ * Cezary Baginski
1095
+ * Sean Scot August Moon
1096
+ * R.T. Lechow
1097
+ * Alex Chaffee
1098
+ * James Tucker
1099
+ * Matthias Lüdtke
1100
+ * Santiago Pastorino
1101
+
1102
+ Also, bit thanks to Eric Hodel for assisting with getting this release
1103
+ out the door (where "assisting" includes, but is not by any means
1104
+ limited to, "pushing" me to get it done).
1105
+
1106
+ -- Jim Weirich
1107
+
1108
+
1109
+ === 0.8.7
1110
+
1111
+ Rake version 0.8.5 introduced greatly improved support for executing
1112
+ commands on Windows. The "sh" command now has the same semantics on
1113
+ Windows that it has on Unix based platforms.
1114
+
1115
+ Rake version 0.8.6 includes minor fixes the the RDoc generation.
1116
+ Rake version 0.8.7 includes a minor fix for JRuby running on windows.
1117
+
1118
+ ==== Changes
1119
+
1120
+ ===== New Features / Enhancements in Version 0.8.5
1121
+
1122
+ * Improved implementation of the Rake system command for Windows.
1123
+ (patch from James M. Lawrence/quix)
1124
+
1125
+ * Support for Ruby 1.9's improved system command. (patch from James
1126
+ M. Lawrence/quix)
1127
+
1128
+ * Rake now includes the configured extension when invoking an
1129
+ executable (Config::CONFIG['EXEEXT])
1130
+
1131
+ ===== Bug Fixes in Version 0.8.5
1132
+
1133
+ * Environment variable keys are now correctly cased (it matters in
1134
+ some implementations).
1135
+
1136
+ ==== Thanks
1137
+
1138
+ As usual, it was input from users that drove a alot of these changes. The
1139
+ following people either contributed patches, made suggestions or made
1140
+ otherwise helpful comments. Thanks to ...
1141
+
1142
+ * Charles Nutter
1143
+
1144
+ -- Jim Weirich
1145
+
1146
+ === 0.8.6
1147
+
1148
+ Rake version 0.8.5 introduced greatly improved support for executing
1149
+ commands on Windows. The "sh" command now has the same semantics on
1150
+ Windows that it has on Unix based platforms.
1151
+
1152
+ Rake version 0.8.5 includes minor fixes the the RDoc generation.
1153
+
1154
+ ==== Thanks
1155
+
1156
+ As usual, it was input from users that drove a alot of these changes. The
1157
+ following people either contributed patches, made suggestions or made
1158
+ otherwise helpful comments. Thanks to ...
1159
+
1160
+ * James M. Lawrence/quix
1161
+ * Luis Lavena
1162
+
1163
+ -- Jim Weirich
1164
+
1165
+ === 0.8.5
1166
+
1167
+ Rake version 0.8.5 is a new release of Rake with greatly improved
1168
+ support for executing commands on Windows. The "sh" command now has
1169
+ the same semantics on Windows that it has on Unix based platforms.
1170
+
1171
+ ==== Changes
1172
+
1173
+ ===== New Features / Enhancements in Version 0.8.5
1174
+
1175
+ * Improved implementation of the Rake system command for Windows.
1176
+ (patch from James M. Lawrence/quix)
1177
+
1178
+ * Support for Ruby 1.9's improved system command. (patch from James
1179
+ M. Lawrence/quix)
1180
+
1181
+ * Rake now includes the configured extension when invoking an
1182
+ executable (Config::CONFIG['EXEEXT])
1183
+
1184
+ ===== Bug Fixes in Version 0.8.5
1185
+
1186
+ * Environment variable keys are now correctly cased (it matters in
1187
+ some implementations).
1188
+
1189
+ ==== Thanks
1190
+
1191
+ As usual, it was input from users that drove a alot of these changes. The
1192
+ following people either contributed patches, made suggestions or made
1193
+ otherwise helpful comments. Thanks to ...
1194
+
1195
+ * James M. Lawrence/quix
1196
+ * Luis Lavena
1197
+
1198
+ -- Jim Weirich
1199
+
1200
+ === 0.8.4
1201
+
1202
+ Rake version 0.8.4 is a bug-fix release of rake.
1203
+
1204
+ NOTE: The version of Rake that comes with Ruby 1.9 has diverged
1205
+ slightly from the core Rake code base. Rake 0.8.4 will work
1206
+ with Ruby 1.9, but is not a strict upgrade for the Rake that
1207
+ comes with Ruby 1.9. A (near) future release of Rake will unify
1208
+ those two codebases.
1209
+
1210
+ ==== Letter Writing Campaign
1211
+
1212
+ Thanks to Aaron Patterson (@tenderlove) and Eric Hodel (@drbrain) for
1213
+ their encouraging support in organizing a letter writing campaign to
1214
+ lobby for the "Warning Free" release of rake 0.8.4. A special callout
1215
+ goes to Jonathan D. Lord, Sr (Dr. Wingnut) whose postcard was the
1216
+ first to actually reach me. (see
1217
+ http://tenderlovemaking.com/2009/02/26/we-need-a-new-version-of-rake/
1218
+ for details)
1219
+
1220
+ ==== Changes
1221
+
1222
+ ===== New Features / Enhancements in Version 0.8.4
1223
+
1224
+ * Case is preserved on rakefile names. (patch from James
1225
+ M. Lawrence/quix)
1226
+
1227
+ * Improved Rakefile case insensitivity testing (patch from Luis
1228
+ Lavena).
1229
+
1230
+ * Windows system dir search order is now: HOME, HOMEDRIVE + HOMEPATH,
1231
+ APPDATA, USERPROFILE (patch from Luis Lavena)
1232
+
1233
+ * MingGW is now recognized as a windows platform. (patch from Luis
1234
+ Lavena)
1235
+
1236
+ ===== Bug Fixes in Version 0.8.4
1237
+
1238
+ * Removed reference to manage_gem to fix the warning produced by the
1239
+ gem package task.
1240
+
1241
+ * Fixed stray ARGV option problem that was interfering with
1242
+ Test::Unit::Runner. (patch from Pivotal Labs)
1243
+
1244
+ ===== Infrastructure Improvements in Version 0.8.4
1245
+
1246
+ * Numerous fixes to the windows test suite (patch from Luis Lavena).
1247
+
1248
+ * Improved Rakefile case insensitivity testing (patch from Luis
1249
+ Lavena).
1250
+
1251
+ * Better support for windows paths in the test task (patch from Simon
1252
+ Chiang/bahuvrihi)
1253
+
1254
+ ==== Thanks
1255
+
1256
+ As usual, it was input from users that drove a alot of these changes. The
1257
+ following people either contributed patches, made suggestions or made
1258
+ otherwise helpful comments. Thanks to ...
1259
+
1260
+ * James M. Lawrence/quix
1261
+ * Luis Lavena
1262
+ * Pivotal Labs
1263
+ * Simon Chiang/bahuvrihi
1264
+
1265
+ -- Jim Weirich
1266
+
1267
+ === 0.8.3
1268
+
1269
+ Rake version 0.8.3 is a bug-fix release of rake.
1270
+
1271
+ ==== Changes
1272
+
1273
+ ===== Bug Fixes in Version 0.8.3
1274
+
1275
+ * Enhanced the system directory detection in windows. We now check
1276
+ HOMEDRIVE/HOMEPATH and USERPROFILE if APPDATA isn't found. (Patch
1277
+ supplied by James Tucker). Rake no long aborts if it can't find the
1278
+ directory.
1279
+
1280
+ * Added fix to handle ruby installations in directories with spaces in
1281
+ their name.
1282
+
1283
+ ==== Thanks
1284
+
1285
+ As usual, it was input from users that drove a alot of these changes. The
1286
+ following people either contributed patches, made suggestions or made
1287
+ otherwise helpful comments. Thanks to ...
1288
+
1289
+ * Edwin Pratomo
1290
+ * Gavin Stark
1291
+ * Adam Q. Salter
1292
+ * Adam Majer
1293
+ * Emanuel Indermühle
1294
+ * Ittay Dror
1295
+ * Bheeshmar Redheendran (for spending an afternoon with me debugging
1296
+ windows issues)
1297
+
1298
+ -- Jim Weirich
1299
+
1300
+
1301
+ === 0.8.2
1302
+
1303
+ Rake version 0.8.2 is a new release of rake that includes a number of
1304
+ new features and numerous bug fixes.
1305
+
1306
+ ==== Changes
1307
+
1308
+ ===== New Features in Version 0.8.2
1309
+
1310
+ * Switched from getoptlong to optparse (patches supplied by Edwin
1311
+ Pratomo).
1312
+
1313
+ * The -T option will now attempt to dynamically sense the size of the
1314
+ terminal. The -T output will only self-truncate if the output is a
1315
+ tty. However, if RAKE_COLUMNS is explicitly set, it will be honored
1316
+ in any case. (Patch provided by Gavin Stark).
1317
+
1318
+ * The following public methods have been added to rake task objects:
1319
+
1320
+ * task.clear -- Clear both the prerequisites and actions of the
1321
+ target rake task.
1322
+ * task.clear_prerequisites -- Clear all the existing prerequisites
1323
+ from the target rake task.
1324
+ * task.clear_actions -- Clear all the existing actions from the
1325
+ target rake task.
1326
+ * task.reenable -- Re-enable a task, allowing its actions to be
1327
+ executed again if the task is invoked.
1328
+
1329
+ * Changed RDoc test task to have no default template. This makes it
1330
+ easier for the tempate to pick up the template from the environment.
1331
+
1332
+ * Default values for task arguments can easily be specified with the
1333
+ :with_defaults method. (Idea for default argument merging supplied
1334
+ by (Adam Q. Salter)
1335
+
1336
+ ===== Bug Fixes in Version 0.8.2
1337
+
1338
+ * Fixed bug in package task so that it will include the subdir
1339
+ directory in the package for testing. (Bug found by Adam Majer)
1340
+
1341
+ * Fixed filename dependency order bug in test\_inspect\_pending and
1342
+ test\_to\_s\_pending. (Bug found by Adam Majer)
1343
+
1344
+ * Fixed check for file utils options to make them immune to the
1345
+ symbol/string differences. (Patch supplied by Edwin Pratomo)
1346
+
1347
+ * Fixed bug with rules involving multiple source, where only the first
1348
+ dependency of a rule has any effect (Patch supplied by Emanuel
1349
+ Indermühle)
1350
+
1351
+ * FileList#clone and FileList#dup have better sematics w.r.t. taint
1352
+ and freeze.
1353
+
1354
+ * Changed from using Mutex to Monitor. Evidently Mutex causes thread
1355
+ join errors when Ruby is compiled with -disable-pthreads. (Patch
1356
+ supplied by Ittay Dror)
1357
+
1358
+ * Fixed bug in makefile parser that had problems with extra spaces in
1359
+ file task names. (Patch supplied by Ittay Dror)
1360
+
1361
+ ==== Other changes in Version 0.8.2
1362
+
1363
+ * Added ENV var to rake's own Rakefile to prevent OS X from including
1364
+ extended attribute junk in the rake package tar file. (Bug found by
1365
+ Adam Majer)
1366
+
1367
+ * Added a performance patch for reading large makefile dependency
1368
+ files. (Patch supplied by Ittay Dror)
1369
+
1370
+ ==== Task Argument Examples
1371
+
1372
+ Prior to version 0.8.0, rake was only able to handle command line
1373
+ arguments of the form NAME=VALUE that were passed into Rake via the
1374
+ ENV hash. Many folks had asked for some kind of simple command line
1375
+ arguments, perhaps using "--" to separate regular task names from
1376
+ argument values on the command line. The problem is that there was no
1377
+ easy way to associate positional arguments on the command line with
1378
+ different tasks. Suppose both tasks :a and :b expect a command line
1379
+ argument: does the first value go with :a? What if :b is run first?
1380
+ Should it then get the first command line argument.
1381
+
1382
+ Rake 0.8.0 solves this problem by explicitly passing values directly
1383
+ to the tasks that need them. For example, if I had a release task
1384
+ that required a version number, I could say:
1385
+
1386
+ rake release[0.8.2]
1387
+
1388
+ And the string "0.8.2" will be passed to the :release task. Multiple
1389
+ arguments can be passed by separating them with a comma, for example:
1390
+
1391
+ rake name[john,doe]
1392
+
1393
+ Just a few words of caution. The rake task name and its arguments
1394
+ need to be a single command line argument to rake. This generally
1395
+ means no spaces. If spaces are needed, then the entire rake +
1396
+ argument string should be quoted. Something like this:
1397
+
1398
+ rake "name[billy bob, smith]"
1399
+
1400
+ (Quoting rules vary between operating systems and shells, so make sure
1401
+ you consult the proper docs for your OS/shell).
1402
+
1403
+ ===== Tasks that Expect Parameters
1404
+
1405
+ Parameters are only given to tasks that are setup to expect them. In
1406
+ order to handle named parameters, the task declaration syntax for
1407
+ tasks has been extended slightly.
1408
+
1409
+ For example, a task that needs a first name and last name might be
1410
+ declared as:
1411
+
1412
+ task :name, :first_name, :last_name
1413
+
1414
+ The first argument is still the name of the task (:name in this case).
1415
+ The next to argumements are the names of the parameters expected by
1416
+ :name (:first_name and :last_name in the example).
1417
+
1418
+ To access the values of the paramters, the block defining the task
1419
+ behaviour can now accept a second parameter:
1420
+
1421
+ task :name, :first_name, :last_name do |t, args|
1422
+ puts "First name is #{args.first_name}"
1423
+ puts "Last name is #{args.last_name}"
1424
+ end
1425
+
1426
+ The first argument of the block "t" is always bound to the current
1427
+ task object. The second argument "args" is an open-struct like object
1428
+ that allows access to the task arguments. Extra command line
1429
+ arguments to a task are ignored. Missing command line arguments are
1430
+ given the nil value.
1431
+
1432
+ ==== Thanks
1433
+
1434
+ As usual, it was input from users that drove a alot of these changes. The
1435
+ following people either contributed patches, made suggestions or made
1436
+ otherwise helpful comments. Thanks to ...
1437
+
1438
+ * Edwin Pratomo
1439
+ * Gavin Stark
1440
+ * Adam Q. Salter
1441
+ * Adam Majer
1442
+ * Emanuel Indermühle
1443
+ * Ittay Dror
1444
+ * Bheeshmar Redheendran (for spending an afternoon with me debugging
1445
+ windows issues)
1446
+
1447
+ -- Jim Weirich
1448
+
1449
+ === 0.8.0/0.8.1
1450
+
1451
+ Rake version 0.8.0 is a new release of rake that includes serveral new
1452
+ features.
1453
+
1454
+ ==== Changes
1455
+
1456
+ ===== New Features in Version 0.8.0
1457
+
1458
+ * Tasks can now receive command line parameters. See the examples
1459
+ below for more details.
1460
+
1461
+ * Comments are limited to 80 columns on output, but full comments can
1462
+ be seen by using the -D parameter. (feature suggested by Jamis
1463
+ Buck).
1464
+
1465
+ * Explicit exit(n) calls will now set the exit status to n. (patch
1466
+ provided by Stephen Touset).
1467
+
1468
+ * Rake is now compatible with Ruby 1.9.
1469
+
1470
+ Version 0.8.1 is a minor update that includes additional Ruby 1.9
1471
+ compatibility fixes.
1472
+
1473
+ ==== Task Argument Examples
1474
+
1475
+ Prior to version 0.8.0, rake was only able to handle command line
1476
+ arguments of the form NAME=VALUE that were passed into Rake via the
1477
+ ENV hash. Many folks had asked for some kind of simple command line
1478
+ arguments, perhaps using "--" to separate regular task names from
1479
+ argument values on the command line. The problem is that there was no
1480
+ easy way to associate positional arguments on the command line with
1481
+ different tasks. Suppose both tasks :a and :b expect a command line
1482
+ argument: does the first value go with :a? What if :b is run first?
1483
+ Should it then get the first command line argument.
1484
+
1485
+ Rake 0.8.0 solves this problem by explicitly passing values directly
1486
+ to the tasks that need them. For example, if I had a release task
1487
+ that required a version number, I could say:
1488
+
1489
+ rake release[0.8.0]
1490
+
1491
+ And the string "0.8.0" will be passed to the :release task. Multiple
1492
+ arguments can be passed by separating them with a comma, for example:
1493
+
1494
+ rake name[john,doe]
1495
+
1496
+ Just a few words of caution. The rake task name and its arguments
1497
+ need to be a single command line argument to rake. This generally
1498
+ means no spaces. If spaces are needed, then the entire rake +
1499
+ argument string should be quoted. Something like this:
1500
+
1501
+ rake "name[billy bob, smith]"
1502
+
1503
+ (Quoting rules vary between operating systems and shells, so make sure
1504
+ you consult the proper docs for your OS/shell).
1505
+
1506
+ ===== Tasks that Expect Parameters
1507
+
1508
+ Parameters are only given to tasks that are setup to expect them. In
1509
+ order to handle named parameters, the task declaration syntax for
1510
+ tasks has been extended slightly.
1511
+
1512
+ For example, a task that needs a first name and last name might be
1513
+ declared as:
1514
+
1515
+ task :name, :first_name, :last_name
1516
+
1517
+ The first argument is still the name of the task (:name in this case).
1518
+ The next to argumements are the names of the parameters expected by
1519
+ :name (:first_name and :last_name in the example).
1520
+
1521
+ To access the values of the paramters, the block defining the task
1522
+ behaviour can now accept a second parameter:
1523
+
1524
+ task :name, :first_name, :last_name do |t, args|
1525
+ puts "First name is #{args.first_name}"
1526
+ puts "Last name is #{args.last_name}"
1527
+ end
1528
+
1529
+ The first argument of the block "t" is always bound to the current
1530
+ task object. The second argument "args" is an open-struct like object
1531
+ that allows access to the task arguments. Extra command line
1532
+ arguments to a task are ignored. Missing command line arguments are
1533
+ given the nil value.
1534
+
1535
+ ==== Thanks
1536
+
1537
+ As usual, it was input from users that drove a alot of these changes. The
1538
+ following people either contributed patches, made suggestions or made
1539
+ otherwise helpful comments. Thanks to ...
1540
+
1541
+ * Jamis Buck (for comment formatting suggestions)
1542
+ * Stephen Touset (for exit status patch).
1543
+
1544
+ -- Jim Weirich
1545
+
1546
+
1547
+ === 0.7.3
1548
+
1549
+ Rake version 0.7.3 is a minor release that includes some refactoring to better
1550
+ support custom Rake applications.
1551
+
1552
+ ==== Changes
1553
+
1554
+ ===== New Features in Version 0.7.3
1555
+
1556
+ * Added the +init+ and +top_level+ methods to make the creation of custom Rake applications a bit easier. E.g.
1557
+
1558
+ gem 'rake', ">= 0.7.3"
1559
+ require 'rake'
1560
+
1561
+ Rake.application.init('myrake')
1562
+
1563
+ task :default do
1564
+ something_interesting
1565
+ end
1566
+
1567
+ Rake.application.top_level
1568
+
1569
+ ==== Thanks
1570
+
1571
+ As usual, it was input from users that drove a alot of these changes. The
1572
+ following people either contributed patches, made suggestions or made
1573
+ otherwise helpful comments. Thanks to ...
1574
+
1575
+ -- Jim Weirich
1576
+
1577
+
1578
+ === 0.7.2
1579
+
1580
+
1581
+ Version 0.7.2 supplies a bug fix and a few minor enhancements. In
1582
+ particular, the new version fixes an incompatibility with the soon to
1583
+ be released Ruby 1.8.6. We strongly recommend upgrading to Rake 0.7.2
1584
+ in order to be compatible with the new version of Ruby.
1585
+
1586
+ ==== Changes
1587
+
1588
+ ===== Bug Fixes in 0.7.2
1589
+
1590
+ There are quite a number of bug fixes in the new 0.7.2 version of
1591
+ Rake:
1592
+
1593
+ * Removed dependency on internal fu_xxx functions from FileUtils.
1594
+
1595
+ * Error messages are now send to stderr rather than stdout (from
1596
+ Payton Quackenbush).
1597
+
1598
+ * Better error handling on invalid command line arguments (from Payton
1599
+ Quackenbush).
1600
+
1601
+ * Fixed some bugs where the application object was going to the global
1602
+ appliation instead of using its own data.
1603
+
1604
+ * Fixed the method name leak from FileUtils (bug found by Glenn
1605
+ Vanderburg).
1606
+
1607
+ * Added test for noop, bad_option and verbose flags to sh command.
1608
+
1609
+ * Added a description to the gem task in GemPackageTask.
1610
+
1611
+ * Fixed a bug when rules have multiple prerequisites (patch by Joel
1612
+ VanderWerf)
1613
+
1614
+ * Added the handful of RakeFileUtils to the private method as well.
1615
+
1616
+ ===== New Features in 0.7.2
1617
+
1618
+ The following new features are available in Rake version 0.7.2:
1619
+
1620
+ * Added square and curly bracket patterns to FileList#include (Tilman
1621
+ Sauerbeck).
1622
+
1623
+ * FileLists can now pass a block to FileList#exclude to exclude files
1624
+ based on calculated values.
1625
+
1626
+ * Added plain filename support to rule dependents (suggested by Nobu
1627
+ Nakada).
1628
+
1629
+ * Added pathmap support to rule dependents. In other words, if a
1630
+ pathmap format (beginning with a '%') is given as a Rake rule
1631
+ dependent, then the name of the depend will be the name of the
1632
+ target with the pathmap format applied.
1633
+
1634
+ * Added a 'tasks' method to a namespace to get a list of tasks
1635
+ associated with the namespace.
1636
+
1637
+ * Added tar_command and zip_command options to the Package task.
1638
+
1639
+ * The clean task will no longer delete 'core' if it is a directory.
1640
+
1641
+ ===== Internal Rake Improvements
1642
+
1643
+ The following changes will are mainly internal improvements and
1644
+ refactorings and have little effect on the end user. But they may be
1645
+ of interest to the general public.
1646
+
1647
+ * Added rcov task and updated unit testing for better code coverage.
1648
+
1649
+ * Added a 'shame' task to the Rakefile.
1650
+
1651
+ * Added rake_extension to handle detection of extension collisions.
1652
+
1653
+ * Added a protected 'require "rubygems"' to test/test_application to
1654
+ unbreak cruisecontrol.rb.
1655
+
1656
+ * Removed rake\_dup. Now we just simply rescue a bad dup.
1657
+
1658
+ * Refactored the FileList reject logic to remove duplication.
1659
+
1660
+ * Removed if \_\_FILE\_\_ at the end of the rake.rb file.
1661
+
1662
+ ==== Thanks
1663
+
1664
+ As usual, it was input from users that drove a alot of these changes.
1665
+ The following people either contributed patches, made suggestions or
1666
+ made otherwise helpful comments. Thanks to ...
1667
+
1668
+ * Payton Quackenbush -- For several error handling improvements.
1669
+
1670
+ * Glenn Vanderburg -- For finding and fixing the method name leak from
1671
+ FileUtils.
1672
+
1673
+ * Joel VanderWerf -- for finding and fixing a bug in the handling of
1674
+ multiple prerequisites.
1675
+
1676
+ * Tilman Sauerbeck -- For some enhancing FileList to support more
1677
+ advanced file globbing.
1678
+
1679
+ * Nobu Nakada -- For suggesting plain file name support to rule dependents.
1680
+
1681
+ -- Jim Weirich
1682
+
1683
+ === 0.7.1
1684
+
1685
+ Version 0.7.1 supplies a bug fix and a few minor enhancements.
1686
+
1687
+ ==== Changes
1688
+
1689
+ ===== Bug Fixes in 0.7.1
1690
+
1691
+ * Changes in the exception reported for the FileUtils.ln caused
1692
+ safe_ln to fail with a NotImplementedError. Rake 0.7.1 will now
1693
+ catch that error or any StandardError and properly fall back to
1694
+ using +cp+.
1695
+
1696
+ ===== New Features in 0.7.1
1697
+
1698
+ * You can filter the results of the --task option by supplying an
1699
+ optional regular expression. This allows the user to easily find a
1700
+ particular task name in a long list of possible names.
1701
+
1702
+ * Transforming procs in a rule may now return a list of prerequisites.
1703
+ This allows more flexible rule formation.
1704
+
1705
+ * FileList and String now support a +pathmap+ melthod that makes the
1706
+ transforming paths a bit easier. See the API docs for +pathmap+ for
1707
+ details.
1708
+
1709
+ * The -f option without a value will disable the search for a
1710
+ Rakefile. This allows the Rakefile to be defined entirely in a
1711
+ library (and loaded with the -r option). The current working
1712
+ directory is not changed when this is done.
1713
+
1714
+ ==== Thanks
1715
+
1716
+ As usual, it was input from users that drove a alot of these changes.
1717
+ The following people either contributed patches, made suggestions or
1718
+ made otherwise helpful comments. Thanks to ...
1719
+
1720
+ * James Britt and Assaph Mehr for reporting and helping to debug the
1721
+ safe_ln issue.
1722
+
1723
+ -- Jim Weirich
1724
+
1725
+
1726
+ === 0.7.0
1727
+
1728
+ These changes for Rake have been brewing for a long time. Here they
1729
+ are, I hope you enjoy them.
1730
+
1731
+ ==== Changes
1732
+
1733
+ ===== New Features
1734
+
1735
+ * Name space support for task names (see below).
1736
+ * Prerequisites can be executed in parallel (see below).
1737
+ * Added safe_ln support for openAFS (via Ludvig Omholt).
1738
+ * RDoc defaults to internal (in-process) invocation. The old behavior
1739
+ is still available by setting the +external+ flag to true.
1740
+ * Rakefiles are now loaded with the expanded path to prevent
1741
+ accidental polution from the Ruby load path.
1742
+ * Task objects my now be used in prerequisite lists directly.
1743
+ * Task objects (in addition to task names) may now be included in the
1744
+ prerequisite list of a task.
1745
+ * Internals cleanup and refactoring.
1746
+
1747
+ ===== Bug Fixes
1748
+
1749
+ * Compatibility fixes for Ruby 1.8.4 FileUtils changes.
1750
+
1751
+ ===== Namespaces
1752
+
1753
+ Tasks can now be nested inside their own namespaces. Tasks within one
1754
+ namespace will not accidently interfer with tasks named in a different
1755
+ namespace.
1756
+
1757
+ For example:
1758
+
1759
+ namespace "main" do
1760
+ task :build do
1761
+ # Build the main program
1762
+ end
1763
+ end
1764
+
1765
+ namespace "samples" do
1766
+ task :build do
1767
+ # Build the sample programs
1768
+ end
1769
+ end
1770
+
1771
+ task :build_all => ["main:build", "samples:build"]
1772
+
1773
+ Even though both tasks are named :build, they are separate tasks in
1774
+ their own namespaces. The :build_all task (defined in the toplevel
1775
+ namespace) references both build tasks in its prerequisites.
1776
+
1777
+ You may invoke each of the individual build tasks with the following
1778
+ commands:
1779
+
1780
+ rake main:build
1781
+ rake samples:build
1782
+
1783
+ Or invoke both via the :build_all command:
1784
+
1785
+ rake build_all
1786
+
1787
+ Namespaces may be nested arbitrarily. Since the name of file tasks
1788
+ correspond to the name of a file in the external file system,
1789
+ FileTasks are not affected by the namespaces.
1790
+
1791
+ See the Rakefile format documentation (in the Rake API documents) for
1792
+ more information.
1793
+
1794
+ ===== Parallel Tasks
1795
+
1796
+ Sometimes you have several tasks that can be executed in parallel. By
1797
+ specifying these tasks as prerequisites to a +multitask+ task.
1798
+
1799
+ In the following example the tasks copy\_src, copy\_doc and copy\_bin
1800
+ will all execute in parallel in their own thread.
1801
+
1802
+ multitask :copy_files => [:copy_src, :copy_doc, :copy_bin] do
1803
+ puts "All Copies Complete"
1804
+ end
1805
+
1806
+ ==== Thanks
1807
+
1808
+ As usual, it was input from users that drove a alot of these changes.
1809
+ The following people either contributed patches, made suggestions or
1810
+ made otherwise helpful comments. Thanks to ...
1811
+
1812
+ * Doug Young (inspriation for the parallel task)
1813
+ * David Heinemeier Hansson (for --trace message enhancement and for
1814
+ pushing for namespace support).
1815
+ * Ludvig Omholt (for the openAFS fix)
1816
+
1817
+ -- Jim Weirich
1818
+
1819
+ === 0.6.1
1820
+
1821
+ * Rebuilt 0.6.0 gem without signing.
1822
+
1823
+ === 0.6.0
1824
+
1825
+ Its time for some long requested enhancements and lots of bug fixes
1826
+ ... And a whole new web page.
1827
+
1828
+ ==== New Web Page
1829
+
1830
+ The primary documentation for rake has moved from the RubyForge based
1831
+ wiki to its own Hieraki based web site. Constant spam on the wiki
1832
+ made it a difficult to keep clean. The new site will be easier to
1833
+ update and organize.
1834
+
1835
+ Check out the new documentation at: http://docs.rubyrake.org
1836
+
1837
+ We will be adding new documentation to the site as time goes on.
1838
+
1839
+ In addition to the new docs page, make sure you check out Martin
1840
+ Fowlers article on rake at http://martinfowler.com/articles/rake.html
1841
+
1842
+ ==== Changes
1843
+
1844
+ ===== New Features
1845
+
1846
+ * Multiple prerequisites on Rake rules now allowed. However, keep the
1847
+ following in mind:
1848
+
1849
+ 1. All the prerequisites of a rule must be available before a rule
1850
+ is triggered, where "enabled" means (a) an existing file, (b) a
1851
+ defined rule, or (c) another rule which also must be
1852
+ trigger-able.
1853
+ 2. Rules are checked in order of definition, so it is important to
1854
+ order your rules properly. If a file can be created by two
1855
+ different rules, put the more specific rule first (otherwise the
1856
+ more general rule will trigger first and the specific one will
1857
+ never be triggered).
1858
+ 3. The <tt>source</tt> method now returns the name of the first
1859
+ prerequisite listed in the rule. <tt>sources</tt> returns the
1860
+ names of all the rule prerequisites, ordered as they are defined
1861
+ in the rule. If the task has other prerequisites not defined in
1862
+ the rule (but defined in an explicit task definition), then they
1863
+ will _not_ be included in the sources list.
1864
+
1865
+ * FileLists may now use the egrep command. This popular enhancement
1866
+ is now a core part of the FileList object. If you want to get a
1867
+ list of all your to-dos, fixmes and TBD comments, add the following
1868
+ to your Rakefile.
1869
+
1870
+ desc "Look for TODO and FIXME tags in the code"
1871
+ task :todo do
1872
+ FileList['**/*.rb'].egrep /#.*(FIXME|TODO|TBD)/
1873
+ end
1874
+
1875
+ * The <tt>investigation</tt> method was added to task object to dump
1876
+ out some important values. This makes it a bit easier to debug Rake
1877
+ tasks.
1878
+
1879
+ For example, if you are having problems with a particular task, just
1880
+ print it out:
1881
+
1882
+ task :huh do
1883
+ puts Rake::Task['huh'].investigation
1884
+ end
1885
+
1886
+ * The Rake::TestTask class now supports a "ruby\_opts" option to pass
1887
+ arbitrary ruby options to a test subprocess.
1888
+
1889
+ ===== Some Incompatibilities
1890
+
1891
+ * When using the <tt>ruby</tt> command to start a Ruby subprocess, the
1892
+ Ruby interpreter that is currently running rake is used by default.
1893
+ This makes it easier to use rake in an environment with multiple
1894
+ ruby installation. (Previously, the first ruby command found in the
1895
+ PATH was used).
1896
+
1897
+ If you wish to chose a different Ruby interpreter, you can
1898
+ explicitly choose the interpreter via the <tt>sh</tt> command.
1899
+
1900
+ * The major rake classes (Task, FileTask, FileCreationTask, RakeApp)
1901
+ have been moved out of the toplevel scope and are now accessible as
1902
+ Rake::Task, Rake::FileTask, Rake::FileCreationTask and
1903
+ Rake::Application. If your Rakefile
1904
+ directly references any one of these tasks, you may:
1905
+
1906
+ 1. Update your Rakefile to use the new classnames
1907
+ 2. Use the --classic-namespace option on the rake command to get the
1908
+ old behavior,
1909
+ 3. Add <code>require 'rake/classic_namespace'</code> to the
1910
+ Rakefile to get the old behavior.
1911
+
1912
+ <tt>rake</tt> will print a rather annoying warning whenever a
1913
+ deprecated class name is referenced without enabling classic
1914
+ namespace.
1915
+
1916
+ ===== Bug Fixes
1917
+
1918
+ * Several unit tests and functional tests were fixed to run better
1919
+ under windows.
1920
+
1921
+ * Directory tasks are now a specialized version of a File task. A
1922
+ directory task will only be triggered if it doesn't exist. It will
1923
+ not be triggered if it is out of date w.r.t. any of its
1924
+ prerequisites.
1925
+
1926
+ * Fixed a bug in the Rake::GemPackageTask class so that the gem now
1927
+ properly contains the platform name.
1928
+
1929
+ * Fixed a bug where a prerequisite on a <tt>file</tt> task would cause
1930
+ an exception if the prerequisite did not exist.
1931
+
1932
+ ==== Thanks
1933
+
1934
+ As usual, it was input from users that drove a alot of these changes.
1935
+ The following people either contributed patches, made suggestions or
1936
+ made otherwise helpful comments. Thanks to ...
1937
+
1938
+ * Greg Fast (better ruby_opt test options)
1939
+ * Kelly Felkins (requested by better namespace support)
1940
+ * Martin Fowler (suggested Task.investigation)
1941
+ * Stuart Jansen (send initial patch for multiple prerequisites).
1942
+ * Masao Mutch (better support for non-ruby Gem platforms)
1943
+ * Philipp Neubeck (patch for file task exception fix)
1944
+
1945
+ -- Jim Weirich
1946
+
1947
+ === 0.5.4
1948
+
1949
+ Time for some minor bug fixes and small enhancements
1950
+
1951
+ ==== Changes
1952
+
1953
+ Here are the changes for version 0.5.4 ...
1954
+
1955
+ * Added double quotes to the test runner. This allows the location of
1956
+ the tests (and runner) to be in a directory path that contains
1957
+ spaces (e.g. "C:/Program Files/ruby/bin").
1958
+ * Added .svn to default ignore list. Now subversion project metadata
1959
+ is automatically ignored by Rake's FileList.
1960
+ * Updated FileList#include to support nested arrays and filelists.
1961
+ FileLists are flat lists of file names. Using a FileList in an
1962
+ include will flatten out the nested file names.
1963
+
1964
+ == Thanks
1965
+
1966
+ As usual, it was input from users that drove a alot of these changes.
1967
+ Thanks to ...
1968
+
1969
+ * Tilman Sauerbeck for the nested FileList suggestion.
1970
+ * Josh Knowles for pointing out the spaces in directory name problem.
1971
+
1972
+ -- Jim Weirich
1973
+
1974
+ === 0.5.3
1975
+
1976
+ Although it has only been two weeks since the last release, we have
1977
+ enough updates to the Rake program to make it time for another
1978
+ release.
1979
+
1980
+ ==== Changes
1981
+
1982
+ Here are the changes for version 0.5.3 ...
1983
+
1984
+ * FileLists have been extensively changed so that they mimic the
1985
+ behavior of real arrays even more closely. In particular,
1986
+ operations on FileLists that return a new collection (e.g. collect,
1987
+ reject) will now return a FileList rather than an array. In
1988
+ addition, several places where FileLists were not properly expanded
1989
+ before use have been fixed.
1990
+ * A method (+ext+) to simplify the handling of file extensions was
1991
+ added to String and to Array.
1992
+ * The 'testrb' script in test/unit tends to silently swallow syntax
1993
+ errors in test suites. Because of that, the default test loader is
1994
+ now a rake-provided script. You can still use 'testrb' by setting
1995
+ the loader flag in the test task to :testrb. (See the API documents
1996
+ for TestTask for all the loader flag values).
1997
+ * FileUtil methods (e.g. cp, mv, install) are now declared to be
1998
+ private. This will cut down on the interference with user defined
1999
+ methods of the same name.
2000
+ * Fixed the verbose flag in the TestTask so that the test code is
2001
+ controlled by the flag. Also shortened up some failure messages.
2002
+ (Thanks to Tobias Luetke for the suggestion).
2003
+ * Rules will now properly detect a task that can generate a source
2004
+ file. Previously rules would only consider source files that were
2005
+ already present.
2006
+ * Added an +import+ command that allows Rake to dynamically import
2007
+ dependendencies into a running Rake session. The +import+ command
2008
+ can run tasks to update the dependency file before loading them.
2009
+ Dependency files can be in rake or make format, allowing rake to
2010
+ work with tools designed to generate dependencies for make.
2011
+
2012
+ ==== Thanks
2013
+
2014
+ As usual, it was input from users that drove a alot of these changes.
2015
+ Thanks to ...
2016
+
2017
+ * Brian Gernhardt for the rules fix (especially for the patience to
2018
+ explain the problem to me until I got what he was talking about).
2019
+ * Stefan Lang for pointing out problems in the dark corners of the
2020
+ FileList implementation.
2021
+ * Alexey Verkhovsky pointing out the silently swallows syntax errors
2022
+ in tests.
2023
+ * Tobias Luetke for beautifying the test task output.
2024
+ * Sam Roberts for some of the ideas behind dependency loading.
2025
+
2026
+ -- Jim Weirich
2027
+
2028
+
2029
+ === 0.5.0
2030
+
2031
+ It has been a long time in coming, but we finally have a new version
2032
+ of Rake available.
2033
+
2034
+ ==== Changes
2035
+
2036
+ * Fixed documentation that was lacking the Rake module name (Tilman
2037
+ Sauerbeck).
2038
+ * Added tar.gz and tar.bz2 support to package task (Tilman Sauerbeck).
2039
+ * Recursive rules are now supported (Tilman Sauerbeck).
2040
+ * Added warning option for the Test Task (requested by Eric Hodel).
2041
+ * The jamis rdoc template is only used if it exists.
2042
+ * Added fix for Ruby 1.8.2 test/unit and rails problem.
2043
+ * Added contributed rake man file (Jani Monoses).
2044
+ * Added Brian Candler's fix for problems in --trace and --dry-run
2045
+ mode.
2046
+
2047
+ ==== Thanks
2048
+
2049
+ Lots of people provided input to this release. Thanks to Tilman
2050
+ Sauerbeck for numerous patches, documentation fixes and suggestions.
2051
+ And for also pushing me to get this release out. Also, thanks to
2052
+ Brian Candler for the finding and fixing --trace/dry-run fix. That
2053
+ was an obscure bug. Also to Eric Hodel for some good suggestions.
2054
+
2055
+ -- Jim Weirich
2056
+
2057
+ === 0.4.15
2058
+
2059
+ ==== Changes
2060
+
2061
+ Version 0.4.15 is a bug fix update for the Ruby 1.8.2 compatibility
2062
+ changes. This release includes:
2063
+
2064
+ * Fixed a bug that prevented the TESTOPTS flag from working with the
2065
+ revised for 1.8.2 test task.
2066
+ * Updated the docs on --trace to indicate that it also enables a full
2067
+ backtrace on errors.
2068
+ * Several fixes for new warnings generated.
2069
+
2070
+ ==== Mini-Roadmap
2071
+
2072
+ I will continue to issue Rake updates in the 0.4.xx series as new
2073
+ Ruby-1.8.2 issues become manifest. Once the codebase stabilizes, I
2074
+ will release a 0.5.0 version incorporating all the changes. If you
2075
+ are not using Ruby-1.8.2 and wish to avoid version churn, I recommend
2076
+ staying with a release prior to Rake-0.4.14.
2077
+
2078
+ === 0.4.14
2079
+
2080
+ Version 0.4.14 is a compatibility fix to allow Rake's test task to
2081
+ work under Ruby 1.8.2. A change in the Test::Unit autorun feature
2082
+ prevented Rake from running any tests. This release fixes the
2083
+ problem.
2084
+
2085
+ Rake 0.4.14 is the recommended release for anyone using Ruby 1.8.2.
2086
+
2087
+ === 0.4.13
2088
+
2089
+ * Fixed the dry-run flag so it is operating again.
2090
+ * Multiple arguments to sh and ruby commands will not be interpreted
2091
+ by the shell (patch provided by Jonathan Paisley).
2092
+
2093
+ === 0.4.12
2094
+
2095
+ * Added --silent (-s) to suppress the (in directory) rake message.
2096
+
2097
+ === 0.4.11
2098
+
2099
+ * Changed the "don't know how to rake" message (finally)
2100
+ * Changes references to a literal "Rakefile" to reference the global
2101
+ variable $rakefile (which contains the actual name of the rakefile).
2102
+
2103
+ === 0.4.10
2104
+
2105
+ * Added block support to the "sh" command, allowing users to take
2106
+ special actions on the result of the system call. E.g.
2107
+
2108
+ sh "shell_command" do |ok, res|
2109
+ puts "Program returned #{res.exitstatus}" if ! ok
2110
+ end
2111
+
2112
+ === 0.4.9
2113
+
2114
+ * Switched to Jamis Buck's RDoc template.
2115
+ * Removed autorequire from Rake's gem spec. This prevents the Rake
2116
+ libraries from loading while using rails.
2117
+
2118
+ === 0.4.8
2119
+
2120
+ * Added support for .rb versions of Rakefile.
2121
+ * Removed \\\n's from test task.
2122
+ * Fixed Ruby 1.9 compatibility issue with FileList.
2123
+
2124
+ === 0.4.7
2125
+
2126
+ * Fixed problem in FileList that caused Ruby 1.9 to go into infinite
2127
+ recursion. Since to_a was removed from Object, it does not need to
2128
+ added back into the list of methods to rewrite in FileList. (Thanks
2129
+ to Kent Sibilev for pointing this out).
2130
+
2131
+ === 0.4.6
2132
+ * Removed test version of ln in FileUtils that prevented safe_ln from
2133
+ using ln.
2134
+
2135
+ === 0.4.5
2136
+ * Upgraded comments in TestTask.
2137
+ * FileList to_s and inspect now automatically resolve pending changes.
2138
+ * FileList#exclude properly returns the FileList.
2139
+
2140
+ === 0.4.4
2141
+ * Fixed initialization problem with @comment.
2142
+ * Now using multi -r technique in TestTask. Switch Rakefile back to
2143
+ using the built-in test task macros because the rake runtime is no
2144
+ longer needed.
2145
+ * Added 'TEST=filename' and 'TESTOPTS=options' to the Test Task
2146
+ macros.
2147
+ * Allow a +test_files+ attribute in test tasks. This allows more
2148
+ flexibility in specifying test files.
2149
+
2150
+ === 0.4.3
2151
+ * Fixed Comment leakage.
2152
+
2153
+ === 0.4.2
2154
+ * Added safe_ln that falls back to a copy if a file link is not supported.
2155
+ * Package builder now uses safe\_ln.
2156
+
2157
+ === 0.4.1
2158
+ * Task comments are now additive, combined with "/".
2159
+ * Works with (soon to be released) rubygems 0.6.2 (or 0.7.0)
2160
+
2161
+ === 0.4.0
2162
+ * FileList now uses deferred loading. The file system is not searched
2163
+ until the first call that needs the file names.
2164
+ * VAR=VALUE options are now accepted on the command line and are
2165
+ treated like environment variables. The values may be tested in a
2166
+ Rakefile by referencing ENV['VAR'].
2167
+ * File.mtime is now used (instead of File.new().mtime).
2168
+
2169
+ === 0.3.2.x
2170
+
2171
+ * Removed some hidden dependencies on rubygems. Tests now will test
2172
+ gems only if they are installed.
2173
+ * Removed Sys from some example files. I believe that is that last
2174
+ reference to Sys outside of the contrib area.
2175
+ * Updated all copyright notices to include 2004.
2176
+
2177
+ === 0.3.2
2178
+
2179
+ * GEM Installation now works with the application stub.
2180
+
2181
+ === 0.3.1
2182
+
2183
+ * FileLists now automatically ignore CVS, .bak, !
2184
+ * GEM Installation now works.
2185
+
2186
+ === 0.3.0
2187
+
2188
+ Promoted 0.2.10.
2189
+
2190
+ === 0.2.10
2191
+ General
2192
+
2193
+ * Added title to Rake's rdocs
2194
+ * Contrib packages are no longer included in the documentation.
2195
+
2196
+ RDoc Issues
2197
+
2198
+ * Removed default for the '--main' option
2199
+ * Fixed rendering of the rdoc options
2200
+ * Fixed clean/clobber confusion with rerdoc
2201
+ * 'title' attribute added
2202
+
2203
+ Package Task Library Issues
2204
+
2205
+ * Version (or explicit :noversion) is required.
2206
+ * +package_file+ attribute is now writable
2207
+
2208
+ FileList Issues
2209
+
2210
+ * Dropped bang version of exclude. Now using ant-like include/exclude semantics.
2211
+ * Enabled the "yield self" idiom in FileList#initialize.
2212
+
2213
+ === 0.2.9
2214
+
2215
+ This version contains numerous changes as the RubyConf.new(2003)
2216
+ presentation was being prepared. The changes include:
2217
+
2218
+ * The monolithic rubyapp task library is in the process of being
2219
+ dropped in favor of lighter weight task libraries.
2220
+
2221
+ === 0.2.7
2222
+
2223
+ * Added "desc" for task descriptions.
2224
+ * -T will now display tasks with descriptions.
2225
+ * -P will display tasks and prerequisites.
2226
+ * Dropped the Sys module in favor of the 1.8.x FileUtils module. Sys
2227
+ is still supported in the contrib area.
2228
+
2229
+ === 0.2.6
2230
+
2231
+ * Moved to RubyForge
2232
+
2233
+ === 0.2.5
2234
+
2235
+ * Switched to standard ruby app builder.
2236
+ * Added no_match option to file matcher.
2237
+
2238
+ === 0.2.4
2239
+
2240
+ * Fixed indir, which neglected to actually change directories.
2241
+
2242
+ === 0.2.3
2243
+
2244
+ * Added rake module for a help target
2245
+ * Added 'for\_files' to Sys
2246
+ * Added a $rakefile constant
2247
+ * Added test for selecting proper rule with multiple targets.