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
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