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.
- checksums.yaml +4 -4
- data/.travis.yml +12 -29
- data/Gemfile +1 -12
- data/History.txt +5 -7
- data/Mavenfile +1 -2
- data/README.rdoc +51 -53
- data/Rakefile +7 -13
- data/ext/JarMain.java +12 -58
- data/ext/WarMain.java +13 -41
- data/ext/WarblerJar.java +8 -12
- data/lib/warbler.rb +0 -1
- data/lib/warbler/config.rb +11 -2
- data/lib/warbler/gems.rb +9 -9
- data/lib/warbler/jar.rb +2 -4
- data/lib/warbler/rake_helper.rb +0 -7
- data/lib/warbler/traits.rb +0 -1
- data/lib/warbler/traits/bundler.rb +12 -12
- data/lib/warbler/traits/gemspec.rb +12 -22
- data/lib/warbler/traits/rails.rb +5 -5
- data/lib/warbler/traits/war.rb +2 -7
- data/lib/warbler/version.rb +1 -1
- data/lib/warbler/web_server.rb +4 -16
- data/lib/warbler/zip_support.rb +3 -21
- data/lib/warbler_jar.jar +0 -0
- data/pom.xml +23 -6
- data/spec/drb_default_id_conv.rb +48 -50
- data/spec/sample_bundler/Gemfile +1 -1
- data/spec/sample_bundler/vendor/bundle/jruby/{1.8 → 2.2.0}/bin/rake +7 -3
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/cache/rake-10.4.2.gem +0 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/.autotest +7 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/.gemtest +0 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/.rubocop.yml +27 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/.togglerc +7 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/CONTRIBUTING.rdoc +34 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/History.rdoc +651 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/MIT-LICENSE +21 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/Manifest.txt +166 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/README.rdoc +140 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/Rakefile +81 -0
- 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
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake.rb +79 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/alt_system.rb +110 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/application.rb +790 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/backtrace.rb +23 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/clean.rb +76 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/cloneable.rb +16 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/.document +1 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/compositepublisher.rb +21 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/ftptools.rb +137 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/publisher.rb +81 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/rubyforgepublisher.rb +18 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/sshpublisher.rb +61 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/contrib/sys.rb +4 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/cpu_counter.rb +125 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/default_loader.rb +14 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/dsl_definition.rb +201 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/early_time.rb +21 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/core.rb +25 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/module.rb +2 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/pathname.rb +25 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/string.rb +173 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ext/time.rb +16 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_creation_task.rb +24 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_list.rb +428 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_task.rb +46 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_utils.rb +128 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb +144 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/gempackagetask.rb +4 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/invocation_chain.rb +56 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/invocation_exception_mixin.rb +16 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/late_time.rb +17 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/linked_list.rb +103 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/loaders/makefile.rb +40 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/multi_task.rb +13 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/name_space.rb +38 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/packagetask.rb +199 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/pathmap.rb +3 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/phony.rb +15 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/private_reader.rb +20 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/promise.rb +99 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/pseudo_status.rb +29 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/rake_module.rb +38 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/rake_test_loader.rb +22 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/rdoctask.rb +4 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/ruby182_test_unit_fix.rb +29 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/runtest.rb +27 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/scope.rb +42 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/task.rb +383 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/task_argument_error.rb +7 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/task_arguments.rb +98 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/task_manager.rb +310 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/tasklib.rb +24 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/testtask.rb +212 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/thread_history_display.rb +48 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/thread_pool.rb +164 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/trace_output.rb +22 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/version.rb +7 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/lib/rake/win32.rb +56 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/rakelib/publish.rake +20 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/rakelib/test_times.rake +25 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/file_creation.rb +34 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/helper.rb +130 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/support/rakefile_definitions.rb +478 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/support/ruby_runner.rb +34 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_private_reader.rb +42 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake.rb +40 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_application.rb +643 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_application_options.rb +466 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_backtrace.rb +119 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_clean.rb +61 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_cpu_counter.rb +68 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_definitions.rb +84 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_directory_task.rb +76 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_dsl.rb +40 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_early_time.rb +31 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_extension.rb +59 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_file_creation_task.rb +56 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_file_list.rb +655 -0
- 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
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_file_task.rb +197 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_file_utils.rb +309 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_ftp_file.rb +74 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_functional.rb +482 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_invocation_chain.rb +64 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_late_time.rb +18 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_linked_list.rb +84 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_makefile_loader.rb +46 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_multi_task.rb +64 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_name_space.rb +57 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_package_task.rb +79 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_path_map.rb +168 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_path_map_explode.rb +34 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_path_map_partial.rb +18 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_pathname_extensions.rb +15 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_pseudo_status.rb +21 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_rake_test_loader.rb +20 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_reduce_compat.rb +26 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_require.rb +40 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_rules.rb +388 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_scope.rb +44 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task.rb +393 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_argument_parsing.rb +119 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_arguments.rb +127 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_lib.rb +9 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_manager.rb +178 -0
- 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
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_task_with_arguments.rb +172 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_test_task.rb +146 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_thread_pool.rb +145 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_top_level_functions.rb +71 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_rake_win32.rb +72 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_thread_history_display.rb +101 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/gems/rake-10.4.2/test/test_trace_output.rb +52 -0
- data/spec/sample_bundler/vendor/bundle/jruby/2.2.0/specifications/rake-10.4.2.gemspec +43 -0
- data/spec/sample_jar/sample_jar.gemspec +1 -2
- data/spec/spec_helper.rb +2 -8
- data/spec/warbler/bundler_spec.rb +11 -22
- data/spec/warbler/config_spec.rb +0 -3
- data/spec/warbler/jar_spec.rb +3 -77
- data/spec/warbler/task_spec.rb +5 -6
- data/spec/warbler/web_server_spec.rb +2 -2
- data/warble.rb +4 -4
- data/warbler.gemspec +8 -8
- metadata +451 -64
- data/lib/warbler/bundler_helper.rb +0 -22
- data/lib/warbler/traits/merb.rb +0 -35
- data/spec/sample_bundler/vendor/bundle/jruby/1.8/cache/rake-0.8.7.gem +0 -0
- data/spec/sample_bundler/vendor/bundle/jruby/1.8/gems/rake-0.8.7/bin/rake +0 -31
- data/spec/sample_bundler/vendor/bundle/jruby/1.8/gems/rake-0.8.7/lib/rake.rb +0 -2506
- data/spec/sample_bundler/vendor/bundle/jruby/1.8/specifications/rake-0.8.7.gemspec +0 -31
- data/spec/sample_bundler/vendor/bundle/jruby/1.9/bin/rake +0 -19
- data/spec/sample_bundler/vendor/bundle/jruby/1.9/cache/rake-0.8.7.gem +0 -0
- data/spec/sample_bundler/vendor/bundle/jruby/1.9/gems/rake-0.8.7/bin/rake +0 -31
- data/spec/sample_bundler/vendor/bundle/jruby/1.9/gems/rake-0.8.7/lib/rake.rb +0 -2506
- data/spec/sample_bundler/vendor/bundle/jruby/1.9/specifications/rake-0.8.7.gemspec +0 -30
- data/spec/sample_bundler/vendor/bundle/ruby/1.8/bin/rake +0 -19
- data/spec/sample_bundler/vendor/bundle/ruby/1.8/cache/rake-0.8.7.gem +0 -0
- data/spec/sample_bundler/vendor/bundle/ruby/1.8/gems/rake-0.8.7/lib/rake.rb +0 -2506
- data/spec/sample_bundler/vendor/bundle/ruby/1.8/specifications/rake-0.8.7.gemspec +0 -30
- data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/bin/rake +0 -19
- data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/cache/rake-0.8.7.gem +0 -0
- data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/gems/rake-0.8.7/bin/rake +0 -31
- data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb +0 -2506
- data/spec/sample_bundler/vendor/bundle/ruby/1.9.1/specifications/rake-0.8.7.gemspec +0 -30
- 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 =
|
143
|
+
String port = System.getProperty("warbler.port", System.getenv("PORT"));
|
144
144
|
port = port == null ? "8080" : port;
|
145
|
-
|
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 (
|
162
|
-
|
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
|
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
|
321
|
-
|
322
|
-
|
323
|
-
|
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, "
|
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
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
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
|
-
}
|
134
|
-
|
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'
|
data/lib/warbler/config.rb
CHANGED
@@ -242,8 +242,17 @@ module Warbler
|
|
242
242
|
end
|
243
243
|
end
|
244
244
|
|
245
|
-
|
246
|
-
|
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
|
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
|
58
|
-
return
|
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) ? [
|
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
|
-
|
72
|
-
|
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}"
|
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
|
-
|
294
|
+
zipfile.add(entry, src)
|
297
295
|
end
|
298
296
|
end
|
299
297
|
end
|
data/lib/warbler/rake_helper.rb
CHANGED
data/lib/warbler/traits.rb
CHANGED
@@ -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
|
27
|
-
config.bundle_without = [
|
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
|
35
|
-
|
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 = {}
|
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 ==
|
42
|
+
if spec.name == "bundler"
|
44
43
|
full_gem_path = Pathname.new(spec.full_gem_path)
|
45
|
-
|
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 {
|
143
|
-
excluded_git_specs.each {
|
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
|
21
|
+
def before_configure
|
22
22
|
@spec_file = Dir['*.gemspec'].first
|
23
|
-
|
24
|
-
@spec.
|
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 {
|
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(
|
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
|
57
|
-
|
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
|
-
|
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
|
|
data/lib/warbler/traits/rails.rb
CHANGED
@@ -12,7 +12,7 @@ module Warbler
|
|
12
12
|
include Trait
|
13
13
|
|
14
14
|
def self.detect?
|
15
|
-
File.exist?(
|
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(
|
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 <<
|
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?(
|
35
|
-
config.gems[
|
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|
|
data/lib/warbler/traits/war.rb
CHANGED
@@ -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::
|
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
|
-
|
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
|
data/lib/warbler/version.rb
CHANGED
data/lib/warbler/web_server.rb
CHANGED
@@ -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
|
127
|
+
args = args0,args1,args2
|
136
128
|
props = jetty.home
|
137
|
-
args0 = --
|
138
|
-
args1 = {{
|
139
|
-
args2 =
|
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
|