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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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