Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jruby-complete.jar ignores nested gems of required jar #3443

Closed
mkristian opened this issue Nov 2, 2015 · 2 comments
Closed

jruby-complete.jar ignores nested gems of required jar #3443

mkristian opened this issue Nov 2, 2015 · 2 comments

Comments

@mkristian
Copy link
Member

setup jars with gems

mkdir -p other/specifications
mkdir -p myjar/specifications
touch other/specifications/other.gemspec
touch myjar/specifications/some.gemspec
ls -1 other/specifications/ > other/specifications/.jrubydir
ls -1 myjar/specifications/ > myjar/specifications/.jrubydir
cd other; jar -cf ../other.jar specifications;cd -
cd myjar; jar -cf ../myjar.jar specifications;cd -

using the commandline gives

$ bin/jruby -J-cp other.jar -e "require './myjar.jar';p Dir['uri:classloader:/specifications/*'];puts; JRuby.runtime.jruby_class_loader.get_resources('specifications').each { |u| p Dir[ 'uri:' + u.to_s + '/*' ] }"
["uri:classloader:/specifications/other.gemspec", "uri:classloader:/specifications/some.gemspec"]

["uri:jar:file:/Users/cmeier/projects/active/jruby17/other.jar!/specifications/other.gemspec"]
["uri:jar:file:/Users/cmeier/projects/active/jruby17/myjar.jar!/specifications/some.gemspec"]

but with jruby-complete.jar

$ java -cp maven/jruby-complete/target/jruby-complete-1.7.23-SNAPSHOT.jar:other.jar org.jruby.Main -e "require './myjar.jar';p Dir['uri:classloader:/specifications/*'];puts; JRuby.runtime.jruby_class_loader.get_resources('specifications').each { |u| p Dir[ 'uri:' + u.to_s + '/*' ] }"
["uri:classloader:/specifications/other.gemspec"]

["uri:jar:file:/Users/cmeier/projects/active/jruby17/other.jar!/specifications/other.gemspec"]
["uri:jar:file:/Users/cmeier/projects/active/jruby17/myjar.jar!/specifications/some.gemspec"]

i.e. the resolution of "uri:classloader://specifications/*" misses out some resources from JRubyClassLoader

@enebo
Copy link
Member

enebo commented Nov 12, 2015

@mkristian This is fixed now right?

@mkristian
Copy link
Member Author

mkristian commented Nov 13, 2015 via email

@enebo enebo closed this as completed Nov 13, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants