win32-api 1.5.3-universal-mingw32 → 1.6.0-universal-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (358) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +174 -169
  3. data/Gemfile +4 -0
  4. data/Gemfile.lock +24 -0
  5. data/README +129 -131
  6. data/Rakefile +185 -182
  7. data/appveyor.yml +42 -0
  8. data/ext/win32/api.c +1092 -1092
  9. data/lib/win32/api.rb +14 -8
  10. data/lib/win32/ruby21_32/win32/api.so +0 -0
  11. data/lib/win32/ruby21_64/win32/api.so +0 -0
  12. data/lib/win32/ruby22_32/win32/api.so +0 -0
  13. data/lib/win32/ruby22_64/win32/api.so +0 -0
  14. data/lib/win32/ruby23_32/win32/api.so +0 -0
  15. data/lib/win32/ruby23_64/win32/api.so +0 -0
  16. data/lib/win32/ruby2_32/win32/api.so +0 -0
  17. data/lib/win32/ruby2_64/win32/api.so +0 -0
  18. data/test/test_win32_api.rb +145 -145
  19. data/vendor/bundle/ruby/2.2.0/bin/devkit +23 -0
  20. data/vendor/bundle/ruby/2.2.0/bin/devkit.bat +6 -0
  21. data/vendor/bundle/ruby/2.2.0/bin/rake +23 -0
  22. data/vendor/bundle/ruby/2.2.0/bin/rake.bat +6 -0
  23. data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/CHANGELOG +55 -0
  24. data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/LICENSE +339 -0
  25. data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/README.md +73 -0
  26. data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/Rakefile +8 -0
  27. data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/colorize.gemspec +35 -0
  28. data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize.rb +12 -0
  29. data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize/class_methods.rb +116 -0
  30. data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize/instance_methods.rb +135 -0
  31. data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/test/test_colorize.rb +161 -0
  32. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Gemfile +4 -0
  33. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/LICENSE.txt +22 -0
  34. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/README.md +34 -0
  35. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Rakefile +1 -0
  36. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Rspec-example-matchers.txt +184 -0
  37. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/bin/devkit +87 -0
  38. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/devkit.gemspec +27 -0
  39. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit.rb +18 -0
  40. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/core.rb +53 -0
  41. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/identity.rb +78 -0
  42. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/ssh_identity.rb +53 -0
  43. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/version.rb +3 -0
  44. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/core_spec.rb +46 -0
  45. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/identity_spec.rb +1 -0
  46. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/ssh_identity_spec.rb +1 -0
  47. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit_spec.rb +5 -0
  48. data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/spec_helper.rb +8 -0
  49. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/AUTHORS +3 -0
  50. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/COPYING +339 -0
  51. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Changelog.md +415 -0
  52. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Gemfile +9 -0
  53. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/INSTALL +59 -0
  54. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/LICENSE +7 -0
  55. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/README.rdoc +74 -0
  56. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Rakefile +30 -0
  57. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/TODO +6 -0
  58. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/ansi_colors.rb +38 -0
  59. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/asking_for_arrays.rb +18 -0
  60. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/basic_usage.rb +75 -0
  61. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/color_scheme.rb +32 -0
  62. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/get_character.rb +12 -0
  63. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/limit.rb +12 -0
  64. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/menus.rb +65 -0
  65. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/overwrite.rb +19 -0
  66. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/page_and_wrap.rb +322 -0
  67. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/password.rb +7 -0
  68. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/repeat_entry.rb +21 -0
  69. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/trapping_eof.rb +22 -0
  70. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/using_readline.rb +17 -0
  71. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/highline.gemspec +37 -0
  72. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline.rb +1048 -0
  73. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/color_scheme.rb +134 -0
  74. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/compatibility.rb +16 -0
  75. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/import.rb +41 -0
  76. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/menu.rb +381 -0
  77. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/question.rb +480 -0
  78. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/simulate.rb +48 -0
  79. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/style.rb +192 -0
  80. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/version.rb +4 -0
  81. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/setup.rb +1360 -0
  82. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/highline.css +65 -0
  83. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/images/logo.png +0 -0
  84. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/index.html +58 -0
  85. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/string_methods.rb +32 -0
  86. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_color_scheme.rb +96 -0
  87. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_highline.rb +1402 -0
  88. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_import.rb +52 -0
  89. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_menu.rb +439 -0
  90. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_simulator.rb +23 -0
  91. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_string_highline.rb +38 -0
  92. data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_style.rb +578 -0
  93. data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/BSDL +22 -0
  94. data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/COPYING +57 -0
  95. data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/Gemfile +9 -0
  96. data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/LEGAL +4 -0
  97. data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/README.rdoc +19 -0
  98. data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/Rakefile +16 -0
  99. data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/benchmarks/bm_yhpg.rb +59 -0
  100. data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/benchmarks/helper.rb +8 -0
  101. data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert.rb +338 -0
  102. data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert/enable_tracepoint_events.rb +82 -0
  103. data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert/version.rb +3 -0
  104. data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/power_assert.gemspec +23 -0
  105. data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/test/helper.rb +10 -0
  106. data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/test/test_power_assert.rb +512 -0
  107. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/CONTRIBUTING.rdoc +38 -0
  108. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/History.rdoc +719 -0
  109. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/MIT-LICENSE +21 -0
  110. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/Manifest.txt +154 -0
  111. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/README.rdoc +157 -0
  112. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/Rakefile +82 -0
  113. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/bin/rake +33 -0
  114. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/command_line_usage.rdoc +158 -0
  115. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/Rakefile1 +38 -0
  116. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/Rakefile2 +35 -0
  117. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/a.c +6 -0
  118. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/b.c +6 -0
  119. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/main.c +11 -0
  120. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/glossary.rdoc +42 -0
  121. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/jamis.rb +591 -0
  122. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/proto_rake.rdoc +127 -0
  123. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rake.1 +141 -0
  124. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rakefile.rdoc +624 -0
  125. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rational.rdoc +151 -0
  126. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.4.14.rdoc +23 -0
  127. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.4.15.rdoc +35 -0
  128. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.0.rdoc +53 -0
  129. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.3.rdoc +78 -0
  130. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.4.rdoc +46 -0
  131. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.6.0.rdoc +141 -0
  132. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.0.rdoc +119 -0
  133. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.1.rdoc +59 -0
  134. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.2.rdoc +121 -0
  135. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.3.rdoc +47 -0
  136. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.0.rdoc +114 -0
  137. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.2.rdoc +165 -0
  138. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.3.rdoc +112 -0
  139. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.4.rdoc +147 -0
  140. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.5.rdoc +53 -0
  141. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.6.rdoc +37 -0
  142. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.7.rdoc +55 -0
  143. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.0.rdoc +112 -0
  144. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.1.rdoc +52 -0
  145. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  146. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.2.rdoc +49 -0
  147. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.3.rdoc +102 -0
  148. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.4.rdoc +60 -0
  149. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.5.rdoc +55 -0
  150. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.6.rdoc +64 -0
  151. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.0.rdoc +178 -0
  152. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.1.rdoc +58 -0
  153. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.2.rdoc +53 -0
  154. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.3.rdoc +191 -0
  155. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.1.0.rdoc +61 -0
  156. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake.rb +73 -0
  157. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/application.rb +787 -0
  158. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/backtrace.rb +23 -0
  159. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/clean.rb +76 -0
  160. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/cloneable.rb +16 -0
  161. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/compositepublisher.rb +21 -0
  162. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/ftptools.rb +137 -0
  163. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/sshpublisher.rb +60 -0
  164. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/cpu_counter.rb +120 -0
  165. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/default_loader.rb +14 -0
  166. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/dsl_definition.rb +194 -0
  167. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/early_time.rb +21 -0
  168. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_creation_task.rb +24 -0
  169. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_list.rb +436 -0
  170. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_task.rb +46 -0
  171. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_utils.rb +123 -0
  172. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/invocation_chain.rb +56 -0
  173. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/invocation_exception_mixin.rb +16 -0
  174. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/late_time.rb +17 -0
  175. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/linked_list.rb +111 -0
  176. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/loaders/makefile.rb +53 -0
  177. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/multi_task.rb +13 -0
  178. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/name_space.rb +38 -0
  179. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/packagetask.rb +199 -0
  180. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/phony.rb +15 -0
  181. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/private_reader.rb +20 -0
  182. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/promise.rb +99 -0
  183. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/pseudo_status.rb +29 -0
  184. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rake_module.rb +38 -0
  185. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rake_test_loader.rb +22 -0
  186. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
  187. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/scope.rb +42 -0
  188. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task.rb +391 -0
  189. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_argument_error.rb +7 -0
  190. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_arguments.rb +102 -0
  191. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_manager.rb +316 -0
  192. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/tasklib.rb +11 -0
  193. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/testtask.rb +204 -0
  194. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/thread_history_display.rb +48 -0
  195. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/thread_pool.rb +163 -0
  196. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/trace_output.rb +22 -0
  197. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/version.rb +7 -0
  198. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/win32.rb +50 -0
  199. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/rakelib/test_times.rake +25 -0
  200. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/file_creation.rb +34 -0
  201. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/helper.rb +134 -0
  202. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/support/rakefile_definitions.rb +476 -0
  203. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/support/ruby_runner.rb +34 -0
  204. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_private_reader.rb +42 -0
  205. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake.rb +40 -0
  206. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_application.rb +659 -0
  207. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_application_options.rb +468 -0
  208. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_backtrace.rb +119 -0
  209. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_clean.rb +61 -0
  210. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_cpu_counter.rb +68 -0
  211. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_definitions.rb +84 -0
  212. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_directory_task.rb +76 -0
  213. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_dsl.rb +40 -0
  214. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_early_time.rb +31 -0
  215. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_creation_task.rb +56 -0
  216. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_list.rb +687 -0
  217. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_list_path_map.rb +15 -0
  218. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_task.rb +197 -0
  219. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_utils.rb +318 -0
  220. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_ftp_file.rb +74 -0
  221. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_functional.rb +484 -0
  222. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_invocation_chain.rb +64 -0
  223. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_late_time.rb +18 -0
  224. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_linked_list.rb +84 -0
  225. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_makefile_loader.rb +46 -0
  226. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_multi_task.rb +64 -0
  227. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_name_space.rb +57 -0
  228. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_package_task.rb +79 -0
  229. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map.rb +168 -0
  230. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map_explode.rb +34 -0
  231. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map_partial.rb +18 -0
  232. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_pseudo_status.rb +21 -0
  233. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_rake_test_loader.rb +20 -0
  234. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_reduce_compat.rb +26 -0
  235. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_require.rb +40 -0
  236. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_rules.rb +388 -0
  237. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_scope.rb +44 -0
  238. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task.rb +430 -0
  239. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_argument_parsing.rb +119 -0
  240. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_arguments.rb +134 -0
  241. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_manager.rb +178 -0
  242. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_manager_argument_resolution.rb +19 -0
  243. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_with_arguments.rb +172 -0
  244. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_test_task.rb +130 -0
  245. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_thread_pool.rb +145 -0
  246. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_top_level_functions.rb +71 -0
  247. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_win32.rb +72 -0
  248. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_thread_history_display.rb +101 -0
  249. data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_trace_output.rb +52 -0
  250. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/COPYING +64 -0
  251. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/GPL +339 -0
  252. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/LGPL +502 -0
  253. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/PSFL +271 -0
  254. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/README.md +101 -0
  255. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/Rakefile +71 -0
  256. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test-unit.rb +34 -0
  257. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit.rb +505 -0
  258. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/assertion-failed-error.rb +25 -0
  259. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/assertions.rb +2218 -0
  260. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/attribute-matcher.rb +26 -0
  261. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/attribute.rb +158 -0
  262. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/auto-runner-loader.rb +17 -0
  263. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/autorunner.rb +536 -0
  264. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/code-snippet-fetcher.rb +58 -0
  265. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector.rb +73 -0
  266. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/descendant.rb +19 -0
  267. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/dir.rb +108 -0
  268. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/load.rb +202 -0
  269. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/objectspace.rb +34 -0
  270. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/xml.rb +249 -0
  271. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/color-scheme.rb +198 -0
  272. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/color.rb +134 -0
  273. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/data.rb +262 -0
  274. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/diff.rb +746 -0
  275. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/error.rb +158 -0
  276. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/exception-handler.rb +82 -0
  277. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/failure.rb +169 -0
  278. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/fault-location-detector.rb +100 -0
  279. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/fixture.rb +295 -0
  280. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/notification.rb +136 -0
  281. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/omission.rb +195 -0
  282. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/pending.rb +154 -0
  283. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/priority.rb +192 -0
  284. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/console.rb +59 -0
  285. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/emacs.rb +8 -0
  286. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/xml.rb +15 -0
  287. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/test-suite-creator.rb +89 -0
  288. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testcase.rb +811 -0
  289. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testresult.rb +132 -0
  290. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testsuite.rb +175 -0
  291. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/console/outputlevel.rb +15 -0
  292. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/console/testrunner.rb +693 -0
  293. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/emacs/testrunner.rb +49 -0
  294. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunner.rb +53 -0
  295. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunnermediator.rb +114 -0
  296. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunnerutilities.rb +41 -0
  297. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/xml/testrunner.rb +224 -0
  298. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/backtracefilter.rb +59 -0
  299. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/method-owner-finder.rb +28 -0
  300. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/observable.rb +90 -0
  301. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/output.rb +31 -0
  302. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/procwrapper.rb +48 -0
  303. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/version.rb +5 -0
  304. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/adder.rb +13 -0
  305. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/subtracter.rb +12 -0
  306. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_adder.rb +20 -0
  307. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_subtracter.rb +20 -0
  308. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_user.rb +23 -0
  309. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test-descendant.rb +178 -0
  310. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test-load.rb +442 -0
  311. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test_dir.rb +406 -0
  312. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test_objectspace.rb +100 -0
  313. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header-label.csv +3 -0
  314. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header-label.tsv +3 -0
  315. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header.csv +3 -0
  316. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header.tsv +3 -0
  317. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/no-header.csv +2 -0
  318. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/no-header.tsv +2 -0
  319. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/plus.csv +3 -0
  320. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/run-test.rb +22 -0
  321. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-assertions.rb +2160 -0
  322. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-attribute-matcher.rb +38 -0
  323. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-attribute.rb +123 -0
  324. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-code-snippet.rb +37 -0
  325. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-color-scheme.rb +82 -0
  326. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-color.rb +47 -0
  327. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-data.rb +303 -0
  328. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-diff.rb +518 -0
  329. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-emacs-runner.rb +60 -0
  330. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-error.rb +26 -0
  331. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-failure.rb +33 -0
  332. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-fault-location-detector.rb +163 -0
  333. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-fixture.rb +713 -0
  334. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-notification.rb +33 -0
  335. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-omission.rb +81 -0
  336. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-pending.rb +70 -0
  337. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-priority.rb +173 -0
  338. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-case.rb +1171 -0
  339. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-result.rb +113 -0
  340. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-suite-creator.rb +97 -0
  341. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-suite.rb +150 -0
  342. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/testunit-test-util.rb +31 -0
  343. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/ui/test_testrunmediator.rb +20 -0
  344. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test-method-owner-finder.rb +38 -0
  345. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test-output.rb +11 -0
  346. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_backtracefilter.rb +52 -0
  347. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_observable.rb +102 -0
  348. data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_procwrapper.rb +36 -0
  349. data/vendor/bundle/ruby/2.2.0/specifications/colorize-0.7.7.gemspec +38 -0
  350. data/vendor/bundle/ruby/2.2.0/specifications/devkit-0.1.0.gemspec +46 -0
  351. data/vendor/bundle/ruby/2.2.0/specifications/highline-1.7.8.gemspec +37 -0
  352. data/vendor/bundle/ruby/2.2.0/specifications/power_assert-0.3.0.gemspec +41 -0
  353. data/vendor/bundle/ruby/2.2.0/specifications/rake-11.1.2.gemspec +43 -0
  354. data/vendor/bundle/ruby/2.2.0/specifications/test-unit-3.1.9.gemspec +47 -0
  355. data/win32-api.gemspec +27 -27
  356. metadata +345 -5
  357. data/lib/win32/ruby18/win32/api.so +0 -0
  358. data/lib/win32/ruby19/win32/api.so +0 -0
@@ -0,0 +1,14 @@
1
+ module Rake
2
+
3
+ # Default Rakefile loader used by +import+.
4
+ class DefaultLoader
5
+
6
+ ##
7
+ # Loads a rakefile into the current application from +fn+
8
+
9
+ def load(fn)
10
+ Rake.load_rakefile(File.expand_path(fn))
11
+ end
12
+ end
13
+
14
+ end
@@ -0,0 +1,194 @@
1
+ # Rake DSL functions.
2
+ require 'rake/file_utils_ext'
3
+
4
+ module Rake
5
+
6
+ ##
7
+ # DSL is a module that provides #task, #desc, #namespace, etc. Use this
8
+ # when you'd like to use rake outside the top level scope.
9
+ #
10
+ # For a Rakefile you run from the command line this module is automatically
11
+ # included.
12
+
13
+ module DSL
14
+
15
+ #--
16
+ # Include the FileUtils file manipulation functions in the top
17
+ # level module, but mark them private so that they don't
18
+ # unintentionally define methods on other objects.
19
+ #++
20
+
21
+ include FileUtilsExt
22
+ private(*FileUtils.instance_methods(false))
23
+ private(*FileUtilsExt.instance_methods(false))
24
+
25
+ private
26
+
27
+ # :call-seq:
28
+ # task task_name
29
+ # task task_name: dependencies
30
+ # task task_name, arguments => dependencies
31
+ #
32
+ # Declare a basic task. The +task_name+ is always the first argument. If
33
+ # the task name contains a ":" it is defined in that namespace.
34
+ #
35
+ # The +dependencies+ may be a single task name or an Array of task names.
36
+ # The +argument+ (a single name) or +arguments+ (an Array of names) define
37
+ # the arguments provided to the task.
38
+ #
39
+ # The task, argument and dependency names may be either symbols or
40
+ # strings.
41
+ #
42
+ # A task with a single dependency:
43
+ #
44
+ # task clobber: %w[clean] do
45
+ # rm_rf "html"
46
+ # end
47
+ #
48
+ # A task with an argument and a dependency:
49
+ #
50
+ # task :package, [:version] => :test do |t, args|
51
+ # # ...
52
+ # end
53
+ #
54
+ # To invoke this task from the command line:
55
+ #
56
+ # $ rake package[1.2.3]
57
+ #
58
+ def task(*args, &block) # :doc:
59
+ Rake::Task.define_task(*args, &block)
60
+ end
61
+
62
+ # Declare a file task.
63
+ #
64
+ # Example:
65
+ # file "config.cfg" => ["config.template"] do
66
+ # open("config.cfg", "w") do |outfile|
67
+ # open("config.template") do |infile|
68
+ # while line = infile.gets
69
+ # outfile.puts line
70
+ # end
71
+ # end
72
+ # end
73
+ # end
74
+ #
75
+ def file(*args, &block) # :doc:
76
+ Rake::FileTask.define_task(*args, &block)
77
+ end
78
+
79
+ # Declare a file creation task.
80
+ # (Mainly used for the directory command).
81
+ def file_create(*args, &block)
82
+ Rake::FileCreationTask.define_task(*args, &block)
83
+ end
84
+
85
+ # Declare a set of files tasks to create the given directories on
86
+ # demand.
87
+ #
88
+ # Example:
89
+ # directory "testdata/doc"
90
+ #
91
+ def directory(*args, &block) # :doc:
92
+ result = file_create(*args, &block)
93
+ dir, _ = *Rake.application.resolve_args(args)
94
+ dir = Rake.from_pathname(dir)
95
+ Rake.each_dir_parent(dir) do |d|
96
+ file_create d do |t|
97
+ mkdir_p t.name unless File.exist?(t.name)
98
+ end
99
+ end
100
+ result
101
+ end
102
+
103
+ # Declare a task that performs its prerequisites in
104
+ # parallel. Multitasks does *not* guarantee that its prerequisites
105
+ # will execute in any given order (which is obvious when you think
106
+ # about it)
107
+ #
108
+ # Example:
109
+ # multitask deploy: %w[deploy_gem deploy_rdoc]
110
+ #
111
+ def multitask(*args, &block) # :doc:
112
+ Rake::MultiTask.define_task(*args, &block)
113
+ end
114
+
115
+ # Create a new rake namespace and use it for evaluating the given
116
+ # block. Returns a NameSpace object that can be used to lookup
117
+ # tasks defined in the namespace.
118
+ #
119
+ # Example:
120
+ #
121
+ # ns = namespace "nested" do
122
+ # # the "nested:run" task
123
+ # task :run
124
+ # end
125
+ # task_run = ns[:run] # find :run in the given namespace.
126
+ #
127
+ # Tasks can also be defined in a namespace by using a ":" in the task
128
+ # name:
129
+ #
130
+ # task "nested:test" do
131
+ # # ...
132
+ # end
133
+ #
134
+ def namespace(name=nil, &block) # :doc:
135
+ name = name.to_s if name.kind_of?(Symbol)
136
+ name = name.to_str if name.respond_to?(:to_str)
137
+ unless name.kind_of?(String) || name.nil?
138
+ raise ArgumentError, "Expected a String or Symbol for a namespace name"
139
+ end
140
+ Rake.application.in_namespace(name, &block)
141
+ end
142
+
143
+ # Declare a rule for auto-tasks.
144
+ #
145
+ # Example:
146
+ # rule '.o' => '.c' do |t|
147
+ # sh 'cc', '-o', t.name, t.source
148
+ # end
149
+ #
150
+ def rule(*args, &block) # :doc:
151
+ Rake::Task.create_rule(*args, &block)
152
+ end
153
+
154
+ # Describes the next rake task. Duplicate descriptions are discarded.
155
+ # Descriptions are shown with <code>rake -T</code> (up to the first
156
+ # sentence) and <code>rake -D</code> (the entire description).
157
+ #
158
+ # Example:
159
+ # desc "Run the Unit Tests"
160
+ # task test: [:build]
161
+ # # ... run tests
162
+ # end
163
+ #
164
+ def desc(description) # :doc:
165
+ Rake.application.last_description = description
166
+ end
167
+
168
+ # Import the partial Rakefiles +fn+. Imported files are loaded
169
+ # _after_ the current file is completely loaded. This allows the
170
+ # import statement to appear anywhere in the importing file, and yet
171
+ # allowing the imported files to depend on objects defined in the
172
+ # importing file.
173
+ #
174
+ # A common use of the import statement is to include files
175
+ # containing dependency declarations.
176
+ #
177
+ # See also the --rakelibdir command line option.
178
+ #
179
+ # Example:
180
+ # import ".depend", "my_rules"
181
+ #
182
+ def import(*fns) # :doc:
183
+ fns.each do |fn|
184
+ Rake.application.add_import(fn)
185
+ end
186
+ end
187
+ end
188
+ extend FileUtilsExt
189
+ end
190
+
191
+ # Extend the main object with the DSL commands. This allows top-level
192
+ # calls to task, etc. to work from a Rakefile without polluting the
193
+ # object inheritance tree.
194
+ self.extend Rake::DSL
@@ -0,0 +1,21 @@
1
+ module Rake
2
+
3
+ # EarlyTime is a fake timestamp that occurs _before_ any other time value.
4
+ class EarlyTime
5
+ include Comparable
6
+ include Singleton
7
+
8
+ ##
9
+ # The EarlyTime always comes before +other+!
10
+
11
+ def <=>(other)
12
+ -1
13
+ end
14
+
15
+ def to_s # :nodoc:
16
+ "<EARLY TIME>"
17
+ end
18
+ end
19
+
20
+ EARLY = EarlyTime.instance
21
+ end
@@ -0,0 +1,24 @@
1
+ require 'rake/file_task'
2
+ require 'rake/early_time'
3
+
4
+ module Rake
5
+
6
+ # A FileCreationTask is a file task that when used as a dependency will be
7
+ # needed if and only if the file has not been created. Once created, it is
8
+ # not re-triggered if any of its dependencies are newer, nor does trigger
9
+ # any rebuilds of tasks that depend on it whenever it is updated.
10
+ #
11
+ class FileCreationTask < FileTask
12
+ # Is this file task needed? Yes if it doesn't exist.
13
+ def needed?
14
+ ! File.exist?(name)
15
+ end
16
+
17
+ # Time stamp for file creation task. This time stamp is earlier
18
+ # than any other time stamp.
19
+ def timestamp
20
+ Rake::EARLY
21
+ end
22
+ end
23
+
24
+ end
@@ -0,0 +1,436 @@
1
+ require 'rake/cloneable'
2
+ require 'rake/file_utils_ext'
3
+ require 'rake/ext/string'
4
+
5
+ module Rake
6
+
7
+ ##
8
+ # A FileList is essentially an array with a few helper methods defined to
9
+ # make file manipulation a bit easier.
10
+ #
11
+ # FileLists are lazy. When given a list of glob patterns for possible files
12
+ # to be included in the file list, instead of searching the file structures
13
+ # to find the files, a FileList holds the pattern for latter use.
14
+ #
15
+ # This allows us to define a number of FileList to match any number of
16
+ # files, but only search out the actual files when then FileList itself is
17
+ # actually used. The key is that the first time an element of the
18
+ # FileList/Array is requested, the pending patterns are resolved into a real
19
+ # list of file names.
20
+ #
21
+ class FileList
22
+
23
+ include Cloneable
24
+
25
+ # == Method Delegation
26
+ #
27
+ # The lazy evaluation magic of FileLists happens by implementing all the
28
+ # array specific methods to call +resolve+ before delegating the heavy
29
+ # lifting to an embedded array object (@items).
30
+ #
31
+ # In addition, there are two kinds of delegation calls. The regular kind
32
+ # delegates to the @items array and returns the result directly. Well,
33
+ # almost directly. It checks if the returned value is the @items object
34
+ # itself, and if so will return the FileList object instead.
35
+ #
36
+ # The second kind of delegation call is used in methods that normally
37
+ # return a new Array object. We want to capture the return value of these
38
+ # methods and wrap them in a new FileList object. We enumerate these
39
+ # methods in the +SPECIAL_RETURN+ list below.
40
+
41
+ # List of array methods (that are not in +Object+) that need to be
42
+ # delegated.
43
+ ARRAY_METHODS = (Array.instance_methods - Object.instance_methods).
44
+ map { |n| n.to_s }
45
+
46
+ # List of additional methods that must be delegated.
47
+ MUST_DEFINE = %w[inspect <=>]
48
+
49
+ # List of methods that should not be delegated here (we define special
50
+ # versions of them explicitly below).
51
+ MUST_NOT_DEFINE = %w[to_a to_ary partition * <<]
52
+
53
+ # List of delegated methods that return new array values which need
54
+ # wrapping.
55
+ SPECIAL_RETURN = %w[
56
+ map collect sort sort_by select find_all reject grep
57
+ compact flatten uniq values_at
58
+ + - & |
59
+ ]
60
+
61
+ DELEGATING_METHODS = (ARRAY_METHODS + MUST_DEFINE - MUST_NOT_DEFINE).
62
+ map { |s| s.to_s }.sort.uniq
63
+
64
+ # Now do the delegation.
65
+ DELEGATING_METHODS.each do |sym|
66
+ if SPECIAL_RETURN.include?(sym)
67
+ ln = __LINE__ + 1
68
+ class_eval %{
69
+ def #{sym}(*args, &block)
70
+ resolve
71
+ result = @items.send(:#{sym}, *args, &block)
72
+ self.class.new.import(result)
73
+ end
74
+ }, __FILE__, ln
75
+ else
76
+ ln = __LINE__ + 1
77
+ class_eval %{
78
+ def #{sym}(*args, &block)
79
+ resolve
80
+ result = @items.send(:#{sym}, *args, &block)
81
+ result.object_id == @items.object_id ? self : result
82
+ end
83
+ }, __FILE__, ln
84
+ end
85
+ end
86
+
87
+ GLOB_PATTERN = %r{[*?\[\{]}
88
+
89
+ # Create a file list from the globbable patterns given. If you wish to
90
+ # perform multiple includes or excludes at object build time, use the
91
+ # "yield self" pattern.
92
+ #
93
+ # Example:
94
+ # file_list = FileList.new('lib/**/*.rb', 'test/test*.rb')
95
+ #
96
+ # pkg_files = FileList.new('lib/**/*') do |fl|
97
+ # fl.exclude(/\bCVS\b/)
98
+ # end
99
+ #
100
+ def initialize(*patterns)
101
+ @pending_add = []
102
+ @pending = false
103
+ @exclude_patterns = DEFAULT_IGNORE_PATTERNS.dup
104
+ @exclude_procs = DEFAULT_IGNORE_PROCS.dup
105
+ @items = []
106
+ patterns.each { |pattern| include(pattern) }
107
+ yield self if block_given?
108
+ end
109
+
110
+ # Add file names defined by glob patterns to the file list. If an array
111
+ # is given, add each element of the array.
112
+ #
113
+ # Example:
114
+ # file_list.include("*.java", "*.cfg")
115
+ # file_list.include %w( math.c lib.h *.o )
116
+ #
117
+ def include(*filenames)
118
+ # TODO: check for pending
119
+ filenames.each do |fn|
120
+ if fn.respond_to? :to_ary
121
+ include(*fn.to_ary)
122
+ else
123
+ @pending_add << Rake.from_pathname(fn)
124
+ end
125
+ end
126
+ @pending = true
127
+ self
128
+ end
129
+ alias :add :include
130
+
131
+ # Register a list of file name patterns that should be excluded from the
132
+ # list. Patterns may be regular expressions, glob patterns or regular
133
+ # strings. In addition, a block given to exclude will remove entries that
134
+ # return true when given to the block.
135
+ #
136
+ # Note that glob patterns are expanded against the file system. If a file
137
+ # is explicitly added to a file list, but does not exist in the file
138
+ # system, then an glob pattern in the exclude list will not exclude the
139
+ # file.
140
+ #
141
+ # Examples:
142
+ # FileList['a.c', 'b.c'].exclude("a.c") => ['b.c']
143
+ # FileList['a.c', 'b.c'].exclude(/^a/) => ['b.c']
144
+ #
145
+ # If "a.c" is a file, then ...
146
+ # FileList['a.c', 'b.c'].exclude("a.*") => ['b.c']
147
+ #
148
+ # If "a.c" is not a file, then ...
149
+ # FileList['a.c', 'b.c'].exclude("a.*") => ['a.c', 'b.c']
150
+ #
151
+ def exclude(*patterns, &block)
152
+ patterns.each do |pat|
153
+ if pat.respond_to? :to_ary
154
+ exclude(*pat.to_ary)
155
+ else
156
+ @exclude_patterns << Rake.from_pathname(pat)
157
+ end
158
+ end
159
+ @exclude_procs << block if block_given?
160
+ resolve_exclude unless @pending
161
+ self
162
+ end
163
+
164
+ # Clear all the exclude patterns so that we exclude nothing.
165
+ def clear_exclude
166
+ @exclude_patterns = []
167
+ @exclude_procs = []
168
+ self
169
+ end
170
+
171
+ # A FileList is equal through array equality.
172
+ def ==(array)
173
+ to_ary == array
174
+ end
175
+
176
+ # Return the internal array object.
177
+ def to_a
178
+ resolve
179
+ @items
180
+ end
181
+
182
+ # Return the internal array object.
183
+ def to_ary
184
+ to_a
185
+ end
186
+
187
+ # Lie about our class.
188
+ def is_a?(klass)
189
+ klass == Array || super(klass)
190
+ end
191
+ alias kind_of? is_a?
192
+
193
+ # Redefine * to return either a string or a new file list.
194
+ def *(other)
195
+ result = @items * other
196
+ case result
197
+ when Array
198
+ self.class.new.import(result)
199
+ else
200
+ result
201
+ end
202
+ end
203
+
204
+ def <<(obj)
205
+ resolve
206
+ @items << Rake.from_pathname(obj)
207
+ self
208
+ end
209
+
210
+ # Resolve all the pending adds now.
211
+ def resolve
212
+ if @pending
213
+ @pending = false
214
+ @pending_add.each do |fn| resolve_add(fn) end
215
+ @pending_add = []
216
+ resolve_exclude
217
+ end
218
+ self
219
+ end
220
+
221
+ def resolve_add(fn) # :nodoc:
222
+ case fn
223
+ when GLOB_PATTERN
224
+ add_matching(fn)
225
+ else
226
+ self << fn
227
+ end
228
+ end
229
+ private :resolve_add
230
+
231
+ def resolve_exclude # :nodoc:
232
+ reject! { |fn| excluded_from_list?(fn) }
233
+ self
234
+ end
235
+ private :resolve_exclude
236
+
237
+ # Return a new FileList with the results of running +sub+ against each
238
+ # element of the original list.
239
+ #
240
+ # Example:
241
+ # FileList['a.c', 'b.c'].sub(/\.c$/, '.o') => ['a.o', 'b.o']
242
+ #
243
+ def sub(pat, rep)
244
+ inject(self.class.new) { |res, fn| res << fn.sub(pat, rep) }
245
+ end
246
+
247
+ # Return a new FileList with the results of running +gsub+ against each
248
+ # element of the original list.
249
+ #
250
+ # Example:
251
+ # FileList['lib/test/file', 'x/y'].gsub(/\//, "\\")
252
+ # => ['lib\\test\\file', 'x\\y']
253
+ #
254
+ def gsub(pat, rep)
255
+ inject(self.class.new) { |res, fn| res << fn.gsub(pat, rep) }
256
+ end
257
+
258
+ # Same as +sub+ except that the original file list is modified.
259
+ def sub!(pat, rep)
260
+ each_with_index { |fn, i| self[i] = fn.sub(pat, rep) }
261
+ self
262
+ end
263
+
264
+ # Same as +gsub+ except that the original file list is modified.
265
+ def gsub!(pat, rep)
266
+ each_with_index { |fn, i| self[i] = fn.gsub(pat, rep) }
267
+ self
268
+ end
269
+
270
+ # Apply the pathmap spec to each of the included file names, returning a
271
+ # new file list with the modified paths. (See String#pathmap for
272
+ # details.)
273
+ def pathmap(spec=nil, &block)
274
+ collect { |fn| fn.pathmap(spec, &block) }
275
+ end
276
+
277
+ # Return a new FileList with <tt>String#ext</tt> method applied to
278
+ # each member of the array.
279
+ #
280
+ # This method is a shortcut for:
281
+ #
282
+ # array.collect { |item| item.ext(newext) }
283
+ #
284
+ # +ext+ is a user added method for the Array class.
285
+ def ext(newext='')
286
+ collect { |fn| fn.ext(newext) }
287
+ end
288
+
289
+ # Grep each of the files in the filelist using the given pattern. If a
290
+ # block is given, call the block on each matching line, passing the file
291
+ # name, line number, and the matching line of text. If no block is given,
292
+ # a standard emacs style file:linenumber:line message will be printed to
293
+ # standard out. Returns the number of matched items.
294
+ def egrep(pattern, *options)
295
+ matched = 0
296
+ each do |fn|
297
+ begin
298
+ open(fn, "r", *options) do |inf|
299
+ count = 0
300
+ inf.each do |line|
301
+ count += 1
302
+ if pattern.match(line)
303
+ matched += 1
304
+ if block_given?
305
+ yield fn, count, line
306
+ else
307
+ puts "#{fn}:#{count}:#{line}"
308
+ end
309
+ end
310
+ end
311
+ end
312
+ rescue StandardError => ex
313
+ $stderr.puts "Error while processing '#{fn}': #{ex}"
314
+ end
315
+ end
316
+ matched
317
+ end
318
+
319
+ # Return a new file list that only contains file names from the current
320
+ # file list that exist on the file system.
321
+ def existing
322
+ select { |fn| File.exist?(fn) }
323
+ end
324
+
325
+ # Modify the current file list so that it contains only file name that
326
+ # exist on the file system.
327
+ def existing!
328
+ resolve
329
+ @items = @items.select { |fn| File.exist?(fn) }
330
+ self
331
+ end
332
+
333
+ # FileList version of partition. Needed because the nested arrays should
334
+ # be FileLists in this version.
335
+ def partition(&block) # :nodoc:
336
+ resolve
337
+ result = @items.partition(&block)
338
+ [
339
+ self.class.new.import(result[0]),
340
+ self.class.new.import(result[1]),
341
+ ]
342
+ end
343
+
344
+ # Convert a FileList to a string by joining all elements with a space.
345
+ def to_s
346
+ resolve
347
+ self.join(' ')
348
+ end
349
+
350
+ # Add matching glob patterns.
351
+ def add_matching(pattern)
352
+ self.class.glob(pattern).each do |fn|
353
+ self << fn unless excluded_from_list?(fn)
354
+ end
355
+ end
356
+ private :add_matching
357
+
358
+ # Should the given file name be excluded from the list?
359
+ #
360
+ # NOTE: This method was formerly named "exclude?", but Rails
361
+ # introduced an exclude? method as an array method and setup a
362
+ # conflict with file list. We renamed the method to avoid
363
+ # confusion. If you were using "FileList#exclude?" in your user
364
+ # code, you will need to update.
365
+ def excluded_from_list?(fn)
366
+ return true if @exclude_patterns.any? do |pat|
367
+ case pat
368
+ when Regexp
369
+ fn =~ pat
370
+ when GLOB_PATTERN
371
+ flags = File::FNM_PATHNAME
372
+ # Ruby <= 1.9.3 does not support File::FNM_EXTGLOB
373
+ flags |= File::FNM_EXTGLOB if defined? File::FNM_EXTGLOB
374
+ File.fnmatch?(pat, fn, flags)
375
+ else
376
+ fn == pat
377
+ end
378
+ end
379
+ @exclude_procs.any? { |p| p.call(fn) }
380
+ end
381
+
382
+ DEFAULT_IGNORE_PATTERNS = [
383
+ /(^|[\/\\])CVS([\/\\]|$)/,
384
+ /(^|[\/\\])\.svn([\/\\]|$)/,
385
+ /\.bak$/,
386
+ /~$/
387
+ ]
388
+ DEFAULT_IGNORE_PROCS = [
389
+ proc { |fn| fn =~ /(^|[\/\\])core$/ && ! File.directory?(fn) }
390
+ ]
391
+
392
+ def import(array) # :nodoc:
393
+ @items = array
394
+ self
395
+ end
396
+
397
+ class << self
398
+ # Create a new file list including the files listed. Similar to:
399
+ #
400
+ # FileList.new(*args)
401
+ def [](*args)
402
+ new(*args)
403
+ end
404
+
405
+ # Get a sorted list of files matching the pattern. This method
406
+ # should be preferred to Dir[pattern] and Dir.glob(pattern) because
407
+ # the files returned are guaranteed to be sorted.
408
+ def glob(pattern, *args)
409
+ Dir.glob(pattern, *args).sort
410
+ end
411
+ end
412
+ end
413
+ end
414
+
415
+ module Rake
416
+ class << self
417
+
418
+ # Yield each file or directory component.
419
+ def each_dir_parent(dir) # :nodoc:
420
+ old_length = nil
421
+ while dir != '.' && dir.length != old_length
422
+ yield(dir)
423
+ old_length = dir.length
424
+ dir = File.dirname(dir)
425
+ end
426
+ end
427
+
428
+ # Convert Pathname and Pathname-like objects to strings;
429
+ # leave everything else alone
430
+ def from_pathname(path) # :nodoc:
431
+ path = path.to_path if path.respond_to?(:to_path)
432
+ path = path.to_str if path.respond_to?(:to_str)
433
+ path
434
+ end
435
+ end
436
+ end # module Rake