warbler 1.4.10 → 2.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +12 -29
  3. data/Gemfile +1 -12
  4. data/History.txt +5 -7
  5. data/Mavenfile +1 -2
  6. data/README.rdoc +51 -53
  7. data/Rakefile +7 -13
  8. data/ext/JarMain.java +12 -58
  9. data/ext/WarMain.java +13 -41
  10. data/ext/WarblerJar.java +8 -12
  11. data/lib/warbler.rb +0 -1
  12. data/lib/warbler/config.rb +11 -2
  13. data/lib/warbler/gems.rb +9 -9
  14. data/lib/warbler/jar.rb +2 -4
  15. data/lib/warbler/rake_helper.rb +0 -7
  16. data/lib/warbler/traits.rb +0 -1
  17. data/lib/warbler/traits/bundler.rb +12 -12
  18. data/lib/warbler/traits/gemspec.rb +12 -22
  19. data/lib/warbler/traits/rails.rb +5 -5
  20. data/lib/warbler/traits/war.rb +2 -7
  21. data/lib/warbler/version.rb +1 -1
  22. data/lib/warbler/web_server.rb +4 -16
  23. data/lib/warbler/zip_support.rb +3 -21
  24. data/lib/warbler_jar.jar +0 -0
  25. data/pom.xml +23 -6
  26. data/spec/drb_default_id_conv.rb +48 -50
  27. data/spec/sample_bundler/Gemfile +1 -1
  28. data/spec/sample_bundler/vendor/bundle/jruby/{1.8 → 2.2.0}/bin/rake +7 -3
  29. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/cache/rake-10.4.2.gem +0 -0
  30. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/.autotest +7 -0
  31. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/.gemtest +0 -0
  32. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/.rubocop.yml +27 -0
  33. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/.togglerc +7 -0
  34. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/CONTRIBUTING.rdoc +34 -0
  35. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/History.rdoc +651 -0
  36. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/MIT-LICENSE +21 -0
  37. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/Manifest.txt +166 -0
  38. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/README.rdoc +140 -0
  39. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/Rakefile +81 -0
  40. data/spec/sample_bundler/vendor/bundle/{ruby/1.8/gems/rake-0.8.7 → jruby/2.2.0/gems/rake-10.4.2}/bin/rake +5 -3
  41. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake.rb +79 -0
  42. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/alt_system.rb +110 -0
  43. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/application.rb +790 -0
  44. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/backtrace.rb +23 -0
  45. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/clean.rb +76 -0
  46. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/cloneable.rb +16 -0
  47. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/.document +1 -0
  48. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/compositepublisher.rb +21 -0
  49. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/ftptools.rb +137 -0
  50. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/publisher.rb +81 -0
  51. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  52. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/sshpublisher.rb +61 -0
  53. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/sys.rb +4 -0
  54. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/cpu_counter.rb +125 -0
  55. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/default_loader.rb +14 -0
  56. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/dsl_definition.rb +201 -0
  57. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/early_time.rb +21 -0
  58. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/core.rb +25 -0
  59. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/module.rb +2 -0
  60. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/pathname.rb +25 -0
  61. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/string.rb +173 -0
  62. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/time.rb +16 -0
  63. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_creation_task.rb +24 -0
  64. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_list.rb +428 -0
  65. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_task.rb +46 -0
  66. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_utils.rb +128 -0
  67. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb +144 -0
  68. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/gempackagetask.rb +4 -0
  69. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/invocation_chain.rb +56 -0
  70. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/invocation_exception_mixin.rb +16 -0
  71. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/late_time.rb +17 -0
  72. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/linked_list.rb +103 -0
  73. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/loaders/makefile.rb +40 -0
  74. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/multi_task.rb +13 -0
  75. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/name_space.rb +38 -0
  76. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/packagetask.rb +199 -0
  77. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/pathmap.rb +3 -0
  78. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/phony.rb +15 -0
  79. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/private_reader.rb +20 -0
  80. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/promise.rb +99 -0
  81. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/pseudo_status.rb +29 -0
  82. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/rake_module.rb +38 -0
  83. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/rake_test_loader.rb +22 -0
  84. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/rdoctask.rb +4 -0
  85. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ruby182_test_unit_fix.rb +29 -0
  86. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
  87. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/runtest.rb +27 -0
  88. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/scope.rb +42 -0
  89. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/task.rb +383 -0
  90. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/task_argument_error.rb +7 -0
  91. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/task_arguments.rb +98 -0
  92. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/task_manager.rb +310 -0
  93. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/tasklib.rb +24 -0
  94. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/testtask.rb +212 -0
  95. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/thread_history_display.rb +48 -0
  96. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/thread_pool.rb +164 -0
  97. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/trace_output.rb +22 -0
  98. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/version.rb +7 -0
  99. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/win32.rb +56 -0
  100. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/rakelib/publish.rake +20 -0
  101. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/rakelib/test_times.rake +25 -0
  102. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/file_creation.rb +34 -0
  103. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/helper.rb +130 -0
  104. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/support/rakefile_definitions.rb +478 -0
  105. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/support/ruby_runner.rb +34 -0
  106. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_private_reader.rb +42 -0
  107. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake.rb +40 -0
  108. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_application.rb +643 -0
  109. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_application_options.rb +466 -0
  110. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_backtrace.rb +119 -0
  111. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_clean.rb +61 -0
  112. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_cpu_counter.rb +68 -0
  113. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_definitions.rb +84 -0
  114. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_directory_task.rb +76 -0
  115. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_dsl.rb +40 -0
  116. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_early_time.rb +31 -0
  117. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_extension.rb +59 -0
  118. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_file_creation_task.rb +56 -0
  119. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_file_list.rb +655 -0
  120. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_file_list_path_map.rb +8 -0
  121. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_file_task.rb +197 -0
  122. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_file_utils.rb +309 -0
  123. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_ftp_file.rb +74 -0
  124. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_functional.rb +482 -0
  125. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_invocation_chain.rb +64 -0
  126. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_late_time.rb +18 -0
  127. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_linked_list.rb +84 -0
  128. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_makefile_loader.rb +46 -0
  129. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_multi_task.rb +64 -0
  130. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_name_space.rb +57 -0
  131. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_package_task.rb +79 -0
  132. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_path_map.rb +168 -0
  133. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_path_map_explode.rb +34 -0
  134. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_path_map_partial.rb +18 -0
  135. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_pathname_extensions.rb +15 -0
  136. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_pseudo_status.rb +21 -0
  137. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_rake_test_loader.rb +20 -0
  138. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_reduce_compat.rb +26 -0
  139. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_require.rb +40 -0
  140. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_rules.rb +388 -0
  141. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_scope.rb +44 -0
  142. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task.rb +393 -0
  143. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_argument_parsing.rb +119 -0
  144. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_arguments.rb +127 -0
  145. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_lib.rb +9 -0
  146. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_manager.rb +178 -0
  147. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_manager_argument_resolution.rb +19 -0
  148. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_with_arguments.rb +172 -0
  149. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_test_task.rb +146 -0
  150. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_thread_pool.rb +145 -0
  151. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_top_level_functions.rb +71 -0
  152. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_win32.rb +72 -0
  153. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_thread_history_display.rb +101 -0
  154. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_trace_output.rb +52 -0
  155. data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/specifications/rake-10.4.2.gemspec +43 -0
  156. data/spec/sample_jar/sample_jar.gemspec +1 -2
  157. data/spec/spec_helper.rb +2 -8
  158. data/spec/warbler/bundler_spec.rb +11 -22
  159. data/spec/warbler/config_spec.rb +0 -3
  160. data/spec/warbler/jar_spec.rb +3 -77
  161. data/spec/warbler/task_spec.rb +5 -6
  162. data/spec/warbler/web_server_spec.rb +2 -2
  163. data/warble.rb +4 -4
  164. data/warbler.gemspec +8 -8
  165. metadata +451 -64
  166. data/lib/warbler/bundler_helper.rb +0 -22
  167. data/lib/warbler/traits/merb.rb +0 -35
  168. data/spec/sample_bundler/vendor/bundle/jruby/1.8/cache/rake-0.8.7.gem +0 -0
  169. data/spec/sample_bundler/vendor/bundle/jruby/1.8/gems/rake-0.8.7/bin/rake +0 -31
  170. data/spec/sample_bundler/vendor/bundle/jruby/1.8/gems/rake-0.8.7/lib/rake.rb +0 -2506
  171. data/spec/sample_bundler/vendor/bundle/jruby/1.8/specifications/rake-0.8.7.gemspec +0 -31
  172. data/spec/sample_bundler/vendor/bundle/jruby/1.9/bin/rake +0 -19
  173. data/spec/sample_bundler/vendor/bundle/jruby/1.9/cache/rake-0.8.7.gem +0 -0
  174. data/spec/sample_bundler/vendor/bundle/jruby/1.9/gems/rake-0.8.7/bin/rake +0 -31
  175. data/spec/sample_bundler/vendor/bundle/jruby/1.9/gems/rake-0.8.7/lib/rake.rb +0 -2506
  176. data/spec/sample_bundler/vendor/bundle/jruby/1.9/specifications/rake-0.8.7.gemspec +0 -30
  177. data/spec/sample_bundler/vendor/bundle/ruby/1.8/bin/rake +0 -19
  178. data/spec/sample_bundler/vendor/bundle/ruby/1.8/cache/rake-0.8.7.gem +0 -0
  179. data/spec/sample_bundler/vendor/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb +0 -2506
  180. data/spec/sample_bundler/vendor/bundle/ruby/1.8/specifications/rake-0.8.7.gemspec +0 -30
  181. data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/bin/rake +0 -19
  182. data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/cache/rake-0.8.7.gem +0 -0
  183. data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/gems/rake-0.8.7/bin/rake +0 -31
  184. data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb +0 -2506
  185. data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/specifications/rake-0.8.7.gemspec +0 -30
  186. data/spec/sample_jar/sbin/sample_jar +0 -5
@@ -0,0 +1,23 @@
1
+ module Rake
2
+ module Backtrace # :nodoc: all
3
+ SYS_KEYS = RbConfig::CONFIG.keys.grep(/(?:[a-z]prefix|libdir)\z/)
4
+ SYS_PATHS = RbConfig::CONFIG.values_at(*SYS_KEYS).uniq +
5
+ [ File.join(File.dirname(__FILE__), "..") ]
6
+
7
+ SUPPRESSED_PATHS = SYS_PATHS.
8
+ map { |s| s.gsub("\\", "/") }.
9
+ map { |f| File.expand_path(f) }.
10
+ reject { |s| s.nil? || s =~ /^ *$/ }
11
+ SUPPRESSED_PATHS_RE = SUPPRESSED_PATHS.map { |f| Regexp.quote(f) }.join("|")
12
+ SUPPRESSED_PATHS_RE << "|^org\\/jruby\\/\\w+\\.java" if
13
+ Object.const_defined?(:RUBY_ENGINE) and RUBY_ENGINE == 'jruby'
14
+
15
+ SUPPRESS_PATTERN = %r!(\A(#{SUPPRESSED_PATHS_RE})|bin/rake:\d+)!i
16
+
17
+ def self.collapse(backtrace)
18
+ pattern = Rake.application.options.suppress_backtrace_pattern ||
19
+ SUPPRESS_PATTERN
20
+ backtrace.reject { |elem| elem =~ pattern }
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,76 @@
1
+ # The 'rake/clean' file defines two file lists (CLEAN and CLOBBER) and
2
+ # two rake tasks (:clean and :clobber).
3
+ #
4
+ # [:clean] Clean up the project by deleting scratch files and backup
5
+ # files. Add files to the CLEAN file list to have the :clean
6
+ # target handle them.
7
+ #
8
+ # [:clobber] Clobber all generated and non-source files in a project.
9
+ # The task depends on :clean, so all the clean files will
10
+ # be deleted as well as files in the CLOBBER file list.
11
+ # The intent of this task is to return a project to its
12
+ # pristine, just unpacked state.
13
+
14
+ require 'rake'
15
+
16
+ # :stopdoc:
17
+
18
+ module Rake
19
+ module Cleaner
20
+ extend FileUtils
21
+
22
+ module_function
23
+
24
+ def cleanup_files(file_names)
25
+ file_names.each do |file_name|
26
+ cleanup(file_name)
27
+ end
28
+ end
29
+
30
+ def cleanup(file_name, opts={})
31
+ begin
32
+ rm_r file_name, opts
33
+ rescue StandardError => ex
34
+ puts "Failed to remove #{file_name}: #{ex}" unless file_already_gone?(file_name)
35
+ end
36
+ end
37
+
38
+ def file_already_gone?(file_name)
39
+ return false if File.exist?(file_name)
40
+
41
+ path = file_name
42
+ prev = nil
43
+
44
+ while path = File.dirname(path)
45
+ return false if cant_be_deleted?(path)
46
+ break if [prev, "."].include?(path)
47
+ prev = path
48
+ end
49
+ true
50
+ end
51
+ private_class_method :file_already_gone?
52
+
53
+ def cant_be_deleted?(path_name)
54
+ File.exist?(path_name) &&
55
+ (!File.readable?(path_name) || !File.executable?(path_name))
56
+ end
57
+ private_class_method :cant_be_deleted?
58
+ end
59
+ end
60
+
61
+ CLEAN = ::Rake::FileList["**/*~", "**/*.bak", "**/core"]
62
+ CLEAN.clear_exclude.exclude { |fn|
63
+ fn.pathmap("%f").downcase == 'core' && File.directory?(fn)
64
+ }
65
+
66
+ desc "Remove any temporary products."
67
+ task :clean do
68
+ Rake::Cleaner.cleanup_files(CLEAN)
69
+ end
70
+
71
+ CLOBBER = ::Rake::FileList.new
72
+
73
+ desc "Remove any generated file."
74
+ task :clobber => [:clean] do
75
+ Rake::Cleaner.cleanup_files(CLOBBER)
76
+ end
@@ -0,0 +1,16 @@
1
+ module Rake
2
+ ##
3
+ # Mixin for creating easily cloned objects.
4
+
5
+ module Cloneable # :nodoc:
6
+ # The hook that is invoked by 'clone' and 'dup' methods.
7
+ def initialize_copy(source)
8
+ super
9
+ source.instance_variables.each do |var|
10
+ src_value = source.instance_variable_get(var)
11
+ value = src_value.clone rescue src_value
12
+ instance_variable_set(var, value)
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,21 @@
1
+ module Rake
2
+
3
+ # Manage several publishers as a single entity.
4
+ class CompositePublisher
5
+ def initialize
6
+ @publishers = []
7
+ end
8
+
9
+ # Add a publisher to the composite.
10
+ def add(pub)
11
+ @publishers << pub
12
+ end
13
+
14
+ # Upload all the individual publishers.
15
+ def upload
16
+ @publishers.each { |p| p.upload }
17
+ end
18
+ end
19
+
20
+ end
21
+
@@ -0,0 +1,137 @@
1
+ # = Tools for FTP uploading.
2
+ #
3
+ # This file is still under development and is not released for general
4
+ # use.
5
+
6
+ require 'date'
7
+ require 'net/ftp'
8
+ require 'rake/file_list'
9
+
10
+ module Rake # :nodoc:
11
+
12
+ class FtpFile # :nodoc: all
13
+ attr_reader :name, :size, :owner, :group, :time
14
+
15
+ def self.date
16
+ @date_class ||= Date
17
+ end
18
+
19
+ def self.time
20
+ @time_class ||= Time
21
+ end
22
+
23
+ def initialize(path, entry)
24
+ @path = path
25
+ @mode, _, @owner, @group, size, d1, d2, d3, @name = entry.split(' ')
26
+ @size = size.to_i
27
+ @time = determine_time(d1, d2, d3)
28
+ end
29
+
30
+ def path
31
+ File.join(@path, @name)
32
+ end
33
+
34
+ def directory?
35
+ @mode[0] == ?d
36
+ end
37
+
38
+ def mode
39
+ parse_mode(@mode)
40
+ end
41
+
42
+ def symlink?
43
+ @mode[0] == ?l
44
+ end
45
+
46
+ private # --------------------------------------------------------
47
+
48
+ def parse_mode(m)
49
+ result = 0
50
+ (1..9).each do |i|
51
+ result = 2 * result + ((m[i] == ?-) ? 0 : 1)
52
+ end
53
+ result
54
+ end
55
+
56
+ def determine_time(d1, d2, d3)
57
+ now = self.class.time.now
58
+ if /:/ !~ d3
59
+ result = Time.parse("#{d1} #{d2} #{d3}")
60
+ else
61
+ result = Time.parse("#{d1} #{d2} #{now.year} #{d3}")
62
+ result = Time.parse("#{d1} #{d2} #{now.year - 1} #{d3}") if
63
+ result > now
64
+ end
65
+ result
66
+ end
67
+ end
68
+
69
+ ##
70
+ # Manage the uploading of files to an FTP account.
71
+ class FtpUploader # :nodoc:
72
+
73
+ # Log uploads to standard output when true.
74
+ attr_accessor :verbose
75
+
76
+ class << FtpUploader
77
+ # Create an uploader and pass it to the given block as +up+.
78
+ # When the block is complete, close the uploader.
79
+ def connect(path, host, account, password)
80
+ up = self.new(path, host, account, password)
81
+ begin
82
+ yield(up)
83
+ ensure
84
+ up.close
85
+ end
86
+ end
87
+ end
88
+
89
+ # Create an FTP uploader targeting the directory +path+ on +host+
90
+ # using the given account and password. +path+ will be the root
91
+ # path of the uploader.
92
+ def initialize(path, host, account, password)
93
+ @created = Hash.new
94
+ @path = path
95
+ @ftp = Net::FTP.new(host, account, password)
96
+ makedirs(@path)
97
+ @ftp.chdir(@path)
98
+ end
99
+
100
+ # Create the directory +path+ in the uploader root path.
101
+ def makedirs(path)
102
+ route = []
103
+ File.split(path).each do |dir|
104
+ route << dir
105
+ current_dir = File.join(route)
106
+ if @created[current_dir].nil?
107
+ @created[current_dir] = true
108
+ $stderr.puts "Creating Directory #{current_dir}" if @verbose
109
+ @ftp.mkdir(current_dir) rescue nil
110
+ end
111
+ end
112
+ end
113
+
114
+ # Upload all files matching +wildcard+ to the uploader's root
115
+ # path.
116
+ def upload_files(wildcard)
117
+ FileList.glob(wildcard).each do |fn|
118
+ upload(fn)
119
+ end
120
+ end
121
+
122
+ # Close the uploader.
123
+ def close
124
+ @ftp.close
125
+ end
126
+
127
+ private # --------------------------------------------------------
128
+
129
+ # Upload a single file to the uploader's root path.
130
+ def upload(file)
131
+ $stderr.puts "Uploading #{file}" if @verbose
132
+ dir = File.dirname(file)
133
+ makedirs(dir)
134
+ @ftp.putbinaryfile(file, file) unless File.directory?(file)
135
+ end
136
+ end
137
+ end
@@ -0,0 +1,81 @@
1
+ # Copyright 2003-2010 by Jim Weirich (jim.weirich@gmail.com)
2
+ # All rights reserved.
3
+
4
+ # :stopdoc:
5
+
6
+ # Configuration information about an upload host system.
7
+ # name :: Name of host system.
8
+ # webdir :: Base directory for the web information for the
9
+ # application. The application name (APP) is appended to
10
+ # this directory before using.
11
+ # pkgdir :: Directory on the host system where packages can be
12
+ # placed.
13
+ HostInfo = Struct.new(:name, :webdir, :pkgdir)
14
+
15
+ # :startdoc:
16
+
17
+ # TODO: Move to contrib/sshpublisher
18
+ #--
19
+ # Manage several publishers as a single entity.
20
+ class CompositePublisher # :nodoc:
21
+ def initialize
22
+ @publishers = []
23
+ end
24
+
25
+ # Add a publisher to the composite.
26
+ def add(pub)
27
+ @publishers << pub
28
+ end
29
+
30
+ # Upload all the individual publishers.
31
+ def upload
32
+ @publishers.each { |p| p.upload }
33
+ end
34
+ end
35
+
36
+ # TODO: Remove in Rake 11, duplicated
37
+ #--
38
+ # Publish an entire directory to an existing remote directory using
39
+ # SSH.
40
+ class SshDirPublisher # :nodoc: all
41
+ def initialize(host, remote_dir, local_dir)
42
+ @host = host
43
+ @remote_dir = remote_dir
44
+ @local_dir = local_dir
45
+ end
46
+
47
+ def upload
48
+ run %{scp -rq #{@local_dir}/* #{@host}:#{@remote_dir}}
49
+ end
50
+ end
51
+
52
+ # TODO: Remove in Rake 11, duplicated
53
+ #--
54
+ # Publish an entire directory to a fresh remote directory using SSH.
55
+ class SshFreshDirPublisher < SshDirPublisher # :nodoc: all
56
+ def upload
57
+ run %{ssh #{@host} rm -rf #{@remote_dir}} rescue nil
58
+ run %{ssh #{@host} mkdir #{@remote_dir}}
59
+ super
60
+ end
61
+ end
62
+
63
+ # TODO: Remove in Rake 11, duplicated
64
+ #--
65
+ # Publish a list of files to an existing remote directory.
66
+ class SshFilePublisher # :nodoc: all
67
+ # Create a publisher using the give host information.
68
+ def initialize(host, remote_dir, local_dir, *files)
69
+ @host = host
70
+ @remote_dir = remote_dir
71
+ @local_dir = local_dir
72
+ @files = files
73
+ end
74
+
75
+ # Upload the local directory to the remote directory.
76
+ def upload
77
+ @files.each do |fn|
78
+ run %{scp -q #{@local_dir}/#{fn} #{@host}:#{@remote_dir}}
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,18 @@
1
+ # TODO: Remove in Rake 11
2
+
3
+ require 'rake/contrib/sshpublisher'
4
+
5
+ module Rake
6
+
7
+ class RubyForgePublisher < SshDirPublisher # :nodoc: all
8
+ attr_reader :project, :proj_id, :user
9
+
10
+ def initialize(projname, user)
11
+ super(
12
+ "#{user}@rubyforge.org",
13
+ "/var/www/gforge-projects/#{projname}",
14
+ "html")
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,61 @@
1
+ require 'rake/dsl_definition'
2
+ require 'rake/contrib/compositepublisher'
3
+
4
+ module Rake
5
+
6
+ # Publish an entire directory to an existing remote directory using
7
+ # SSH.
8
+ class SshDirPublisher
9
+ include Rake::DSL
10
+
11
+ # Creates an SSH publisher which will scp all files in +local_dir+ to
12
+ # +remote_dir+ on +host+
13
+
14
+ def initialize(host, remote_dir, local_dir)
15
+ @host = host
16
+ @remote_dir = remote_dir
17
+ @local_dir = local_dir
18
+ end
19
+
20
+ # Uploads the files
21
+
22
+ def upload
23
+ sh "scp", "-rq", "#{@local_dir}/*", "#{@host}:#{@remote_dir}"
24
+ end
25
+ end
26
+
27
+ # Publish an entire directory to a fresh remote directory using SSH.
28
+ class SshFreshDirPublisher < SshDirPublisher
29
+
30
+ # Uploads the files after removing the existing remote directory.
31
+
32
+ def upload
33
+ sh "ssh", @host, "rm", "-rf", @remote_dir rescue nil
34
+ sh "ssh", @host, "mkdir", @remote_dir
35
+ super
36
+ end
37
+ end
38
+
39
+ # Publish a list of files to an existing remote directory.
40
+ class SshFilePublisher
41
+ include Rake::DSL
42
+
43
+ # Creates an SSH publisher which will scp all +files+ in +local_dir+ to
44
+ # +remote_dir+ on +host+.
45
+
46
+ def initialize(host, remote_dir, local_dir, *files)
47
+ @host = host
48
+ @remote_dir = remote_dir
49
+ @local_dir = local_dir
50
+ @files = files
51
+ end
52
+
53
+ # Uploads the files
54
+
55
+ def upload
56
+ @files.each do |fn|
57
+ sh "scp", "-q", "#{@local_dir}/#{fn}", "#{@host}:#{@remote_dir}"
58
+ end
59
+ end
60
+ end
61
+ end