Closed
Description
It's been too long since this library had an update and release. This issue will track the tasks necessary.
I cloned and ran tests locally with JRuby 10, and a number of areas need improvement:
- Lots of deprecation warnings from ERB need to be addressed.
creates a web.xml file
/Users/headius/work/warbler/lib/warbler/jar.rb:288: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.
/Users/headius/work/warbler/lib/warbler/jar.rb:288: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.
/Users/headius/work/warbler/lib/warbler/jar.rb:288: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.
/Users/headius/work/warbler/lib/warbler/jar.rb:288: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.
/Users/headius/work/warbler/lib/warbler/jar.rb:288: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.
/Users/headius/work/warbler/lib/warbler/jar.rb:288: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.
/Users/headius/work/warbler/lib/warbler/jar.rb:288: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.
/Users/headius/work/warbler/lib/warbler/jar.rb:288: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.
- Nearly all of the Bundler-related tests fail.
Warbler::Jar with Bundler
in a war project
detects a Bundler trait (FAILED - 1)
detects a Gemfile and process only its gems (FAILED - 2)
copies Gemfiles into the war (FAILED - 3)
allows overriding of the gem path when using Bundler (FAILED - 4)
does not bundle dependencies in the test group by default (FAILED - 5)
adds BUNDLE_WITHOUT to init.rb (FAILED - 6)
adds BUNDLE_GEMFILE to init.rb (FAILED - 7)
uses ENV['BUNDLE_GEMFILE'] if set (FAILED - 8)
with :git entries in the Gemfile
works with :git entries in Gemfiles (FAILED - 9)
bundles only the gemspec for :git entries that are excluded (FAILED - 10)
with :path entries in the Gemfile
does not work with absolute :path (FAILED - 11)
does work with relative :path (FAILED - 12)
in a jar project
adds BUNDLE_GEMFILE to init.rb
with :git entries in the Gemfile
warning: thread "Ruby-0-Thread-18: /Users/headius/work/warbler/spec/spec_helper.rb:131" terminated with exception (report_on_exception is true):Errno::EINTR: Interrupted system call - Another thread waited the process started by system().
system at org/jruby/RubyKernel.java:1900
sh at /Users/headius/work/jruby/lib/ruby/gems/shared/gems/rake-13.3.0/lib/rake/file_utils.rb:54
ruby at /Users/headius/work/jruby/lib/ruby/gems/shared/gems/rake-13.3.0/lib/rake/file_utils.rb:100
run_out_of_process_with_drb at /Users/headius/work/warbler/spec/spec_helper.rb:132
works with :git entries in Gemfiles (FAILED - 13)
when frozen
includes the bundler gem (FAILED - 14)
does not include the bundler cache directory (FAILED - 15)
includes ENV['BUNDLE_FROZEN'] in init.rb (FAILED - 16)
with the runnable feature
adds WarMain and JarMain to file (FAILED - 17)
can run commands in the generated warfile (FAILED - 18)
when deployment
includes the bundler gem (FAILED - 19)
in a rack app
should have default load path
Some of these appear to be failing because it's trying to use a DRb server?
1) Warbler::Jar with Bundler in a war project detects a Bundler trait
Failure/Error: let(:config) { drbclient.config(@extra_config) }
DRb::DRbConnError:
connection closed
# ./spec/warbler/bundler_spec.rb:28:in 'block in <main>'
# ./spec/warbler/bundler_spec.rb:40:in 'block in <main>'
Some fail because they can't find Bundler at all, which is probably an issue with how it is now in stdlib, or something. There's similar failures with DRb involved.
9) Warbler::Jar with Bundler in a war project with :git entries in the Gemfile works with :git entries in Gemfiles
Failure/Error:
def bundle_install(*args)
`cd #{Dir.pwd} && #{RUBY_EXE} -S bundle _#{::Bundler::VERSION}_ install #{args.join(' ')}`
end
NameError:
uninitialized constant Bundler
# ./spec/warbler/bundler_spec.rb:24:in 'bundle_install'
# ./spec/warbler/bundler_spec.rb:73:in 'block in <main>'
And there's some form of these tests still finding an exists?
:
25) Warbler::Jar with JBundler in a war project detects a JBundler trait
Failure/Error: let(:config) { drbclient.config(@extra_config) }
NoMethodError:
undefined method 'exists?' for class File
# (druby://127.0.0.1:7890) ./lib/warbler/traits/jbundler.rb:34:in 'add_jbundler_jars'
# (druby://127.0.0.1:7890) ./lib/warbler/traits/jbundler.rb:29:in 'after_configure'
# (druby://127.0.0.1:7890) ./lib/warbler/traits.rb:33:in 'block in after_configure'
# (druby://127.0.0.1:7890) ./lib/warbler/traits.rb:33:in 'after_configure'
# (druby://127.0.0.1:7890) ./lib/warbler/config.rb:217:in 'initialize'
# (druby://127.0.0.1:7890) ./spec/drb_helper.rb:29:in 'config'
# ./spec/warbler/jbundler_spec.rb:23:in 'block in <main>'
# ./spec/warbler/jbundler_spec.rb:36:in 'block in <main>'
- Dependency resolution tests fail as well.
Resolving dependencies...
sets the jruby min and max runtimes to 1 (FAILED - 20)
doesn't override already configured runtime numbers (FAILED - 21)
it should behave like asset pipeline
automatically adds asset pipeline manifest file to the included files (FAILED - 22)
when rails version is not found in Gemfile.lock
doesn't set runtime numbers to 1 (FAILED - 23)
it should behave like asset pipeline
automatically adds asset pipeline manifest file to the included files (FAILED - 24)
Metadata
Metadata
Assignees
Labels
No labels