warbler 1.4.10 → 2.0.0.pre1

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 (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
data/ext/WarMain.java CHANGED
@@ -6,6 +6,7 @@
6
6
  */
7
7
 
8
8
  import java.lang.reflect.Method;
9
+ import java.lang.reflect.Constructor;
9
10
  import java.io.InputStream;
10
11
  import java.io.ByteArrayInputStream;
11
12
  import java.io.SequenceInputStream;
@@ -63,7 +64,6 @@ public class WarMain extends JarMain {
63
64
  static final String MAIN = "/" + WarMain.class.getName().replace('.', '/') + ".class";
64
65
  static final String WEBSERVER_PROPERTIES = "/WEB-INF/webserver.properties";
65
66
  static final String WEBSERVER_JAR = "/WEB-INF/webserver.jar";
66
- static final String WEBSERVER_CONFIG = "/WEB-INF/webserver.xml";
67
67
 
68
68
  /**
69
69
  * jruby arguments, consider the following command :
@@ -140,26 +140,20 @@ public class WarMain extends JarMain {
140
140
  if ( is != null ) props.load(is);
141
141
  } catch (Exception e) { }
142
142
 
143
- String port = getSystemProperty("warbler.port", getENV("PORT"));
143
+ String port = System.getProperty("warbler.port", System.getenv("PORT"));
144
144
  port = port == null ? "8080" : port;
145
- String host = getSystemProperty("warbler.host", "0.0.0.0");
146
- String webserverConfig = getSystemProperty("warbler.webserver_config", getENV("WARBLER_WEBSERVER_CONFIG"));
147
- String embeddedWebserverConfig = new URI("jar", entryPath(WEBSERVER_CONFIG), null).toURL().toString();
148
- webserverConfig = webserverConfig == null ? embeddedWebserverConfig : webserverConfig;
149
- for ( Map.Entry entry : props.entrySet() ) {
145
+ for (Map.Entry entry : props.entrySet()) {
150
146
  String val = (String) entry.getValue();
151
147
  val = val.replace("{{warfile}}", archive).
152
148
  replace("{{port}}", port).
153
- replace("{{host}}", host).
154
- replace("{{config}}", webserverConfig).
155
149
  replace("{{webroot}}", webroot.getAbsolutePath());
156
150
  entry.setValue(val);
157
151
  }
158
152
 
159
153
  if (props.getProperty("props") != null) {
160
154
  String[] propsToSet = props.getProperty("props").split(",");
161
- for ( String key : propsToSet ) {
162
- setSystemProperty(key, props.getProperty(key));
155
+ for (String key : propsToSet) {
156
+ System.setProperty(key, props.getProperty(key));
163
157
  }
164
158
  }
165
159
 
@@ -241,7 +235,7 @@ public class WarMain extends JarMain {
241
235
 
242
236
  invokeMethod(scriptingContainer, "setArgv", (Object) executableArgv);
243
237
  invokeMethod(scriptingContainer, "setCurrentDirectory", extractRoot.getAbsolutePath());
244
- initJRubyScriptingEnv(scriptingContainer, jars);
238
+ initJRubyScriptingEnv(scriptingContainer);
245
239
 
246
240
  final Object provider = invokeMethod(scriptingContainer, "getProvider");
247
241
  final Object rubyInstanceConfig = invokeMethod(provider, "getRubyInstanceConfig");
@@ -257,6 +251,8 @@ public class WarMain extends JarMain {
257
251
  invokeMethod(rubyInstanceConfig, "processArguments", (Object) arguments);
258
252
 
259
253
  Object runtime = invokeMethod(scriptingContainer, "getRuntime");
254
+
255
+ debug("loading resource: " + executablePath);
260
256
  Object executableInput =
261
257
  new SequenceInputStream(new ByteArrayInputStream(executableScriptEnvPrefix().getBytes()),
262
258
  (InputStream) invokeMethod(rubyInstanceConfig, "getScriptSource"));
@@ -317,36 +313,12 @@ public class WarMain extends JarMain {
317
313
  "end";
318
314
  }
319
315
 
320
- protected void initJRubyScriptingEnv(Object scriptingContainer, final URL[] jars) throws Exception {
321
- String jrubyStdlibJar = "";
322
- String bcpkixJar = "";
323
- String bcprovJar = "";
324
- for (URL url : jars) {
325
- if (url.toString().matches("file:/.*jruby-stdlib-.*jar")) {
326
- jrubyStdlibJar = url.toString();
327
- debug("using jruby-stdlib: " + jrubyStdlibJar);
328
- } else if (url.toString().matches("file:/.*bcpkix-jdk15on-.*jar")) {
329
- bcpkixJar = url.toString();
330
- debug("using bcpkix: " + bcpkixJar);
331
- } else if (url.toString().matches("file:/.*bcprov-jdk15on-.*jar")) {
332
- bcprovJar = url.toString();
333
- debug("using bcprov: " + bcprovJar);
334
- }
335
- }
316
+ protected void initJRubyScriptingEnv(Object scriptingContainer) throws Exception {
317
+ // for some reason, the container needs to run a scriptlet in order for it
318
+ // to be able to find the gem executables later
319
+ invokeMethod(scriptingContainer, "runScriptlet", "SCRIPTING_CONTAINER_INITIALIZED=true");
336
320
 
337
- invokeMethod(scriptingContainer, "runScriptlet", "" +
338
- "ruby = RUBY_VERSION.match(/^\\d\\.\\d/)[0] \n" +
339
- "jruby_major_version = JRUBY_VERSION.match(/^\\d\\.\\d/)[0].to_f \n" +
340
- "jruby_minor_version = JRUBY_VERSION.split('.')[2].to_i\n" +
341
- "$: << \"" + jrubyStdlibJar + "!/META-INF/jruby.home/lib/ruby/#{ruby}/site_ruby\"\n" +
342
- "$: << \"" + jrubyStdlibJar + "!/META-INF/jruby.home/lib/ruby/shared\"\n" +
343
- "$: << \"" + jrubyStdlibJar + "!/META-INF/jruby.home/lib/ruby/#{ruby}\"\n" +
344
- "if jruby_major_version >= 1.7 and jruby_minor_version < 13\n" +
345
- " require \"" + bcpkixJar + "\".gsub('file:', '') unless \"" + bcpkixJar + "\".empty?\n" +
346
- " require \"" + bcprovJar + "\".gsub('file:', '') unless \"" + bcprovJar + "\".empty?\n" +
347
- "end");
348
-
349
- invokeMethod(scriptingContainer, "setHomeDirectory", "classpath:/META-INF/jruby.home");
321
+ invokeMethod(scriptingContainer, "setHomeDirectory", "uri:classloader:/META-INF/jruby.home");
350
322
  }
351
323
 
352
324
  @Override
data/ext/WarblerJar.java CHANGED
@@ -118,20 +118,16 @@ public class WarblerJar {
118
118
  path = value.convertToString().getUnicodeValue();
119
119
  }
120
120
 
121
+ InputStream inFile = getStream(path, null);
121
122
  try {
122
- InputStream inFile = getStream(path, null);
123
- try {
124
- zip.putNextEntry(new ZipEntry(entryName));
125
- byte[] buf = new byte[16384];
126
- int bytesRead;
127
- while ((bytesRead = inFile.read(buf)) != -1) {
128
- zip.write(buf, 0, bytesRead);
129
- }
130
- } finally {
131
- close(inFile);
123
+ zip.putNextEntry(new ZipEntry(entryName));
124
+ byte[] buf = new byte[16384];
125
+ int bytesRead;
126
+ while ((bytesRead = inFile.read(buf)) != -1) {
127
+ zip.write(buf, 0, bytesRead);
132
128
  }
133
- } catch (IOException e) {
134
- System.err.println("File not found; " + path + " not in archive");
129
+ } finally {
130
+ close(inFile);
135
131
  }
136
132
  }
137
133
  }
data/lib/warbler.rb CHANGED
@@ -34,7 +34,6 @@ require 'warbler/executable_helper'
34
34
  require 'warbler/rake_helper'
35
35
  require 'warbler/pathmap_helper'
36
36
  require 'warbler/platform_helper'
37
- require 'warbler/bundler_helper'
38
37
  require 'warbler/task'
39
38
  require 'warbler/application'
40
39
  require 'warbler/web_server'
@@ -242,8 +242,17 @@ module Warbler
242
242
  end
243
243
  end
244
244
 
245
- alias_method :war_name, :jar_name
246
- alias_method :war_name=, :jar_name=
245
+ # Deprecated
246
+ def war_name
247
+ $stderr.puts "config.war_name deprecated; replace with config.jar_name" #:nocov:
248
+ jar_name #:nocov:
249
+ end
250
+
251
+ # Deprecated
252
+ def war_name=(w)
253
+ $stderr.puts "config.war_name deprecated; replace with config.jar_name" #:nocov:
254
+ self.jar_name = w #:nocov:
255
+ end
247
256
 
248
257
  private
249
258
  def warbler_vendor_excludes(warbler_home)
data/lib/warbler/gems.rb CHANGED
@@ -43,19 +43,16 @@ module Warbler
43
43
  end
44
44
 
45
45
  def specs(gem_dependencies)
46
- @specs ||= map { |gem, version| find_single_gem_files(gem_dependencies, gem, version) }.flatten.compact
46
+ @specs ||= map{|gem, version| find_single_gem_files(gem_dependencies, gem, version) }.flatten.compact
47
47
  end
48
48
 
49
49
  private
50
50
 
51
51
  # Add a single gem to WEB-INF/gems
52
52
  def find_single_gem_files(gem_dependencies, gem_pattern, version = nil)
53
- gem_spec_class = Gem::Specification
54
- gem_spec_class = Gem::BasicSpecification if Gem.const_defined?(:BasicSpecification)
55
- # Gem::Specification < Gem::BasicSpecification (since RGs 2.1)
56
53
  case gem_pattern
57
- when gem_spec_class
58
- return BundlerHelper.to_spec(gem_pattern)
54
+ when Gem::Specification
55
+ return gem_pattern
59
56
  when Gem::Dependency
60
57
  gem = gem_pattern
61
58
  else
@@ -65,11 +62,14 @@ module Warbler
65
62
  return nil if gem.respond_to?(:type) and gem.type != :runtime
66
63
 
67
64
  # Deal with deprecated Gem.source_index and #search
68
- matched = gem.respond_to?(:to_spec) ? [ gem.to_spec ] : Gem.source_index.search(gem)
65
+ matched = gem.respond_to?(:to_spec) ? [gem.to_spec] : Gem.source_index.search(gem)
69
66
  fail "gem '#{gem}' not installed" if matched.empty?
70
67
  spec = matched.last
71
- return spec unless gem_dependencies
72
- [spec] + spec.dependencies.map { |gem| find_single_gem_files(gem_dependencies, gem) }
68
+ if gem_dependencies
69
+ [spec] + spec.dependencies.map{|gem| find_single_gem_files(gem_dependencies, gem) }
70
+ else
71
+ spec
72
+ end
73
73
  end
74
74
 
75
75
  end
data/lib/warbler/jar.rb CHANGED
@@ -158,7 +158,7 @@ module Warbler
158
158
  end
159
159
  rm_f path
160
160
  ensure_directory_entries
161
- puts "Creating #{path}" unless silent?
161
+ puts "Creating #{path}"
162
162
  if Warbler::Config === config_or_path
163
163
  @files.delete("#{config_or_path.jar_name}/#{path}")
164
164
  end
@@ -290,10 +290,8 @@ module Warbler
290
290
  zipfile.mkdir(entry.dup) # in case it's frozen rubyzip 0.9.6.1 workaround
291
291
  elsif File.symlink?(src)
292
292
  zipfile.get_output_stream(entry) { |f| f << File.read(src) }
293
- elsif File.exist?(src)
294
- zipfile.add(entry, src)
295
293
  else
296
- $stderr.puts "File not found; #{entry.inspect} not in archive"
294
+ zipfile.add(entry, src)
297
295
  end
298
296
  end
299
297
  end
@@ -25,12 +25,5 @@ module Warbler
25
25
  base.extend Rake::FileUtilsExt
26
26
  end
27
27
  end
28
-
29
- private
30
-
31
- def silent?
32
- Rake.application.options.silent rescue nil
33
- end
34
-
35
28
  end
36
29
  end
@@ -115,7 +115,6 @@ end
115
115
  require 'warbler/traits/jar'
116
116
  require 'warbler/traits/war'
117
117
  require 'warbler/traits/rails'
118
- require 'warbler/traits/merb'
119
118
  require 'warbler/traits/rack'
120
119
  require 'warbler/traits/bundler'
121
120
  require 'warbler/traits/jbundler'
@@ -12,7 +12,6 @@ module Warbler
12
12
  class Bundler
13
13
  include Trait
14
14
  include PathmapHelper
15
- include BundlerHelper
16
15
 
17
16
  def self.detect?
18
17
  File.exist?(ENV['BUNDLE_GEMFILE'] || "Gemfile")
@@ -23,29 +22,30 @@ module Warbler
23
22
  end
24
23
 
25
24
  def before_configure
26
- config.bundler ||= true
27
- config.bundle_without = ['development', 'test', 'assets']
25
+ config.bundler = true
26
+ config.bundle_without = ["development", "test", "assets"]
28
27
  end
29
28
 
30
29
  def after_configure
31
30
  add_bundler_gems if config.bundler
32
31
  end
33
32
 
34
- def add_bundler_gems; require 'bundler'
35
- # config.gems.clear allow to add `config.gems` on top of those bundled
33
+ def add_bundler_gems
34
+ require 'bundler'
35
+ config.gems.clear
36
36
  config.gem_dependencies = false # Bundler takes care of these
37
- config.bundler = {} if config.bundler == true
37
+ config.bundler = {}
38
38
 
39
39
  bundler_specs.each do |spec|
40
- spec = to_spec(spec)
41
40
  # Bundler HAX -- fixup bad #loaded_from attribute in fake
42
41
  # bundler gemspec from bundler/source.rb
43
- if spec.name == 'bundler'
42
+ if spec.name == "bundler"
44
43
  full_gem_path = Pathname.new(spec.full_gem_path)
45
- while ! full_gem_path.join('bundler.gemspec').exist?
44
+
45
+ while !full_gem_path.join('bundler.gemspec').exist?
46
46
  full_gem_path = full_gem_path.dirname
47
47
  # if at top of the path, meaning we cannot find bundler.gemspec, abort.
48
- if full_gem_path.to_s =~ /^[\.\/]$/
48
+ if full_gem_path.to_s=~/^[\.\/]$/
49
49
  $stderr.puts("warning: Unable to detect bundler spec under '#{spec.full_gem_path}'' and is sub-dirs")
50
50
  exit
51
51
  end
@@ -139,8 +139,8 @@ module Warbler
139
139
  definition = ::Bundler.definition
140
140
  all = definition.specs.to_a
141
141
  requested = definition.specs_for(definition.groups - bundle_without).to_a
142
- excluded_git_specs = (all - requested).select { |spec| ::Bundler::Source::Git === spec.source }
143
- excluded_git_specs.each { |spec| spec.groups << :warbler_excluded }
142
+ excluded_git_specs = (all - requested).select {|spec| ::Bundler::Source::Git === spec.source }
143
+ excluded_git_specs.each {|spec| spec.groups << :warbler_excluded }
144
144
  requested + excluded_git_specs
145
145
  end
146
146
 
@@ -18,17 +18,18 @@ module Warbler
18
18
  !Dir['*.gemspec'].empty?
19
19
  end
20
20
 
21
- def before_configure; require 'yaml'
21
+ def before_configure
22
22
  @spec_file = Dir['*.gemspec'].first
23
- @spec = File.open(@spec_file) { |f| Gem::Specification.from_yaml(f) } rescue Gem::Specification.load(@spec_file)
24
- @spec.runtime_dependencies.each { |g| config.gems << g }
23
+ require 'yaml'
24
+ @spec = File.open(@spec_file) {|f| Gem::Specification.from_yaml(f) } rescue Gem::Specification.load(@spec_file)
25
+ @spec.runtime_dependencies.each {|g| config.gems << g }
25
26
  config.dirs = []
26
- config.compiled_ruby_files = @spec.files.select { |f| f =~ /\.rb$/ }
27
+ config.compiled_ruby_files = @spec.files.select {|f| f =~ /\.rb$/}
27
28
  end
28
29
 
29
30
  def after_configure
30
31
  @spec.require_paths.each do |p|
31
- add_init_load_path( config.pathmaps.application.inject(p) { |pm,x| pm.pathmap(x) } )
32
+ add_init_load_path(config.pathmaps.application.inject(p) {|pm,x| pm.pathmap(x)})
32
33
  end
33
34
  end
34
35
 
@@ -53,24 +54,13 @@ module Warbler
53
54
  end
54
55
 
55
56
  def default_executable
56
- if ! @spec.executables.empty?
57
- exe_script = @spec.executables.first
58
- exe_path = File.join(@spec.bindir, exe_script) # bin/script
59
- if File.exists?(exe_path)
60
- exe_path
61
- elsif File.exists?("bin/#{exe_script}") # compatibility
62
- "bin/#{exe_script}" # ... should probably remove this
63
- else
64
- raise "no `#{exe_script}` executable script found"
65
- end
66
- elsif exe_path = Dir['bin/*'].sort.first
67
- warn "no executables found in #{@spec_file}, using #{exe_path}"
68
- exe_path
69
- elsif exe_path = Dir['exe/*'].sort.first
70
- warn "no executables found in #{@spec_file}, using #{exe_path}"
71
- exe_path
57
+ if !@spec.executables.empty?
58
+ "bin/#{@spec.executables.first}"
72
59
  else
73
- raise "no executable script found"
60
+ exe = Dir['bin/*'].sort.first
61
+ raise "No executable script found" unless exe
62
+ warn "No default executable found in #{@spec_file}, using #{exe}"
63
+ exe
74
64
  end
75
65
  end
76
66
 
@@ -12,7 +12,7 @@ module Warbler
12
12
  include Trait
13
13
 
14
14
  def self.detect?
15
- File.exist?('config/environment.rb')
15
+ File.exist?("config/environment.rb")
16
16
  end
17
17
 
18
18
  def self.requirements
@@ -24,15 +24,15 @@ module Warbler
24
24
  config.webxml.rails.env = ENV['RAILS_ENV'] || 'production'
25
25
 
26
26
  return unless Warbler.framework_detection
27
- return false unless task = Warbler.project_application.lookup('environment')
27
+ return false unless task = Warbler.project_application.lookup("environment")
28
28
 
29
29
  task.invoke rescue nil
30
30
  return false unless defined?(::Rails)
31
31
 
32
- config.dirs << 'tmp' if File.directory?('tmp')
32
+ config.dirs << "tmp" if File.directory?("tmp")
33
33
  config.webxml.booter = :rails
34
- unless (defined?(::Rails.vendor_rails?) && ::Rails.vendor_rails?) || File.directory?('vendor/rails')
35
- config.gems['rails'] = ::Rails::VERSION::STRING unless Bundler.detect?
34
+ unless (defined?(::Rails.vendor_rails?) && ::Rails.vendor_rails?) || File.directory?("vendor/rails")
35
+ config.gems["rails"] = ::Rails::VERSION::STRING
36
36
  end
37
37
  if defined?(::Rails.configuration.gems)
38
38
  ::Rails.configuration.gems.each do |g|
@@ -18,7 +18,7 @@ module Warbler
18
18
  DEFAULT_GEM_PATH = '/WEB-INF/gems'
19
19
 
20
20
  def self.detect?
21
- Traits::Rails.detect? || Traits::Merb.detect? || Traits::Rack.detect?
21
+ Traits::Rails.detect? || Traits::Rack.detect?
22
22
  end
23
23
 
24
24
  def before_configure
@@ -134,8 +134,7 @@ module Warbler
134
134
  def move_jars_to_webinf_lib(jar, selector = nil)
135
135
  return unless selector # default is false
136
136
  selector = /.*/ if selector == true # move all if not a RegExp given
137
- default_jar_paths = default_jar_files
138
- default_jars = default_jar_paths.map { |file| File.basename(file) }
137
+ default_jars = default_jar_files.map { |file| File.basename(file) }
139
138
  jar.files.keys.select { |k| k =~ /^WEB-INF\/.*\.jar$/ }.each do |k|
140
139
  if k.start_with?('WEB-INF/lib/') # .jar already in WEB-INF/lib
141
140
  if default_jars.include? k.sub('WEB-INF/lib/', '')
@@ -145,8 +144,6 @@ module Warbler
145
144
  next
146
145
  end
147
146
  next unless selector =~ File.basename(k)
148
- # default jars might end up mapped twice as they're part of gems
149
- next if default_jar_paths.include?(jar.files[k])
150
147
  name = k.sub('WEB-INF', '')[1..-1].gsub(/[\/\\]/, '-')
151
148
  jar.files["WEB-INF/lib/#{name}"] = jar.files[k]
152
149
  jar.files[k] = empty_jar
@@ -183,8 +180,6 @@ module Warbler
183
180
  case self.booter
184
181
  when :rack
185
182
  "org.jruby.rack.RackServletContextListener"
186
- when :merb
187
- "org.jruby.rack.merb.MerbServletContextListener"
188
183
  else # :rails, default
189
184
  "org.jruby.rack.rails.RailsServletContextListener"
190
185
  end
@@ -6,5 +6,5 @@
6
6
  #++
7
7
 
8
8
  module Warbler
9
- VERSION = "1.4.10"
9
+ VERSION = "2.0.0.pre1"
10
10
  end
@@ -122,25 +122,13 @@ PROPS
122
122
 
123
123
  def add(jar)
124
124
  super
125
- jar.files["WEB-INF/webserver.xml"] ||= StringIO.new(<<-CONFIG)
126
- <?xml version="1.0"?>
127
- <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
128
-
129
- <Configure id="Server" class="org.eclipse.jetty.server.Server">
130
- </Configure>
131
- CONFIG
132
-
133
125
  jar.files["WEB-INF/webserver.properties"] = StringIO.new(<<-PROPS)
134
126
  mainclass = org.eclipse.jetty.runner.Runner
135
- args = args0,args1,args2,args3,args4,args5,args6
127
+ args = args0,args1,args2
136
128
  props = jetty.home
137
- args0 = --host
138
- args1 = {{host}}
139
- args2 = --port
140
- args3 = {{port}}
141
- args4 = --config
142
- args5 = {{config}}
143
- args6 = {{warfile}}
129
+ args0 = --port
130
+ args1 = {{port}}
131
+ args2 = {{warfile}}
144
132
  jetty.home = {{webroot}}
145
133
  PROPS
146
134
  end