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

Bundler 1.10.1 breaks Warbler #3691

Closed
sanelson2000 opened this Issue May 30, 2015 · 7 comments

Comments

Projects
None yet
5 participants
@sanelson2000

Note: This was originally tested on Windows, but also fails on Linux.

Cross posted to Warbler repository.
jruby/warbler#326

JRuby 1.7.20 installed

C:\TeamCity\buildAgent\work\51193650a9909371>jruby -v
jruby 1.7.20 (1.9.3p551) 2015-05-04 3086e6a on Java HotSpot(TM) Client VM 1.7.0_79-b15 +jit [Windows Server 2012-x86]

Bundler 1.10.1 installed

C:\TeamCity\buildAgent\work\51193650a9909371>gem list bundler
io/console not supported; tty will not be manipulated

*** LOCAL GEMS ***

bundler (1.10.1)

Warbler 1.4.7 added to the bundle (also tested with Warbler 1.4.0)

C:\TeamCity\buildAgent\work\51193650a9909371>bundle show warbler
io/console not supported; tty will not be manipulated
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/warbler-1.4.7

bundle exec warble fails:

C:\TeamCity\buildAgent\work\51193650a9909371>bundle exec warble --trace
io/console not supported; tty will not be manipulated
io/console not supported; tty will not be manipulated
** Invoke default (first_time)
** Invoke war (first_time)
** Execute war
** Invoke war:compiled (first_time)
** Execute war:compiled
warble aborted!
ArgumentError: dependency name must be a String, was #<Bundler::StubSpecification:0x9b0bf @spec_fetcher=nil, @name="rake", @stub=#<Gem::StubSpecification:0xd628c1 @extensions=[], @spec=#<Gem::Specification:0x1a06 rake-10.3.2>, @platform="ruby", @extensions_dir=nil, @base_dir=nil, @gem_dir=nil, @loaded_from="C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/specifications/rake-10.3.2.gemspec", @version=#<Gem::Version "10.3.2">, @extension_dir=nil, @name="rake", @full_gem_path=nil, @gems_dir=nil, @data=#<Gem::StubSpecification::StubLine:0xdacdf @parts=["rake", "10.3.2", "ruby", "lib"]>>, @source=#<Bundler::Source::Rubygems:0x13f4e30 @options={}, @installed_specs=#<Bundler::Index:0x6664 sources=[] specs.size=90>, @caches=[<Pathname:C:/TeamCity/buildAgent/work/51193650a9909371/vendor/cache>, "C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/cache"], @specs=#<Bundler::Index:0x6666 sources=[] specs.size=90>, @allow_cached=false, @dependency_names=["rake", "i18n", "minitest", "multi_json", "thread_safe", "tzinfo", "activesupport", "builder", "erubis", "rack", "rack-test", "actionpack", "mime-types", "polyglot", "treetop", "mail", "actionmailer", "activemodel", "activerecord-deprecated_finders", "arel", "activerecord", "activerecord-jdbc-adapter", "jdbc-jtds", "activerecord-jdbcmssql-adapter", "jdbc-postgres", "activerecord-jdbcpostgresql-adapter", "jdbc-sqlite3", "activerecord-jdbcsqlite3-adapter", "activerecord-oracle_enhanced-adapter", "ansi", "orm_adapter", "ckeditor", "coffee-script-source", "execjs", "coffee-script", "thor", "railties", "coffee-rails", "composite_primary_keys", "dynamic_form", "multipart-post", "faraday", "hashie", "hike", "jquery-rails", "jquery-ui-rails", "jquery.fileupload-rails", "jrjackson", "jruby-jars", "jruby-poi", "jruby-rack", "json", "jwt", "linecache", "mini_portile", "powerbar", "minitest-reporters", "multi_xml", "nokogiri", "oauth", "oauth2", "oauth-plugin", "protected_attributes", "quiet_assets", "rabl", "tilt", "sprockets", "sprockets-rails", "rails", "rcdmu", "ruby-debug-base", "ruby-debug-ide", "rubyzip", "sanitize", "sass", "sass-rails", "swagger-docs", "swagger-ui_rails", "test-unit", "therubyrhino_jar", "therubyrhino", "trinidad_jars", "trinidad", "uglifier", "warbler", "yui-compressor"], @allow_remote=false, @remotes=[#<URI::HTTP:0x1eb54f3 URL:http://rubygems.org/>]>, @platform="ruby", @version=#<Gem::Version "10.3.2">>
C:/jruby/jruby-1.7.20/lib/ruby/shared/rubygems/dependency.rb:46:in `initialize'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/warbler-1.4.7/lib/warbler/gems.rb:59:in `find_single_gem_files'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/warbler-1.4.7/lib/warbler/gems.rb:46:in `specs'
org/jruby/RubyHash.java:1341:in `each'
org/jruby/RubyEnumerable.java:764:in `map'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/warbler-1.4.7/lib/warbler/gems.rb:46:in `specs'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/warbler-1.4.7/lib/warbler/jar.rb:197:in `find_gems_files'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/warbler-1.4.7/lib/warbler/jar.rb:39:in `compile'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/warbler-1.4.7/lib/warbler/task.rb:109:in `define_compiled_task'
org/jruby/RubyProc.java:271:in `call'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/task.rb:240:in `execute'
org/jruby/RubyArray.java:1613:in `each'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/task.rb:179:in `invoke_with_call_chain'
C:/jruby/jruby-1.7.20/lib/ruby/1.9/monitor.rb:211:in `mon_synchronize'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/warbler-1.4.7/lib/warbler/task.rb:88:in `define_main_task'
org/jruby/RubyArray.java:1613:in `each'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/warbler-1.4.7/lib/warbler/task.rb:82:in `define_main_task'
org/jruby/RubyProc.java:271:in `call'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/task.rb:240:in `execute'
org/jruby/RubyArray.java:1613:in `each'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/task.rb:179:in `invoke_with_call_chain'
C:/jruby/jruby-1.7.20/lib/ruby/1.9/monitor.rb:211:in `mon_synchronize'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/task.rb:201:in `invoke_prerequisites'
org/jruby/RubyArray.java:1613:in `each'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/task.rb:199:in `invoke_prerequisites'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/task.rb:178:in `invoke_with_call_chain'
C:/jruby/jruby-1.7.20/lib/ruby/1.9/monitor.rb:211:in `mon_synchronize'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/application.rb:106:in `top_level'
org/jruby/RubyArray.java:1613:in `each'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/application.rb:106:in `top_level'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/application.rb:78:in `run'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/warbler-1.4.7/lib/warbler/application.rb:77:in `run'
C:/TeamCity/buildAgent/work/51193650a9909371/vendor/bundle/jruby/1.9/gems/warbler-1.4.7/bin/warble:11:in `(root)'
org/jruby/RubyKernel.java:1091:in `load'
C:\TeamCity\buildAgent\work\51193650a9909371\vendor\bundle\jruby\1.9\bin\warble:23:in `(root)'
Tasks: TOP => war:compiled

@sanelson2000 sanelson2000 changed the title from Bundler 1.10.1 breaks Warbler 1.4.7 on Windows to Bundler 1.10.1 breaks Warbler 1.4.7 May 30, 2015

@sanelson2000 sanelson2000 changed the title from Bundler 1.10.1 breaks Warbler 1.4.7 to Bundler 1.10.1 breaks Warbler May 30, 2015

@segiddins

This comment has been minimized.

Show comment
Hide comment
@segiddins

segiddins May 30, 2015

Member

That stack trace makes this look like a bug in warbler to me, rather than bundler.

Member

segiddins commented May 30, 2015

That stack trace makes this look like a bug in warbler to me, rather than bundler.

@sanelson2000

This comment has been minimized.

Show comment
Hide comment
@sanelson2000

sanelson2000 May 30, 2015

@segiddins I should have also added that this works fine if I downgrade bundler to 1.9.9 or below. This is breaking due to a change in bundler. What that change is, and whether or not it was intentional and warbler needs to now change how it's interacting with bundler, I don't know. That's why I cross posted the ticket.

@segiddins I should have also added that this works fine if I downgrade bundler to 1.9.9 or below. This is breaking due to a change in bundler. What that change is, and whether or not it was intentional and warbler needs to now change how it's interacting with bundler, I don't know. That's why I cross posted the ticket.

segiddins added a commit to segiddins/warbler that referenced this issue May 30, 2015

@segiddins

This comment has been minimized.

Show comment
Hide comment
@segiddins

segiddins May 30, 2015

Member

jruby/warbler#327 is untested, but it might fix the issue.

Member

segiddins commented May 30, 2015

jruby/warbler#327 is untested, but it might fix the issue.

@indirect

This comment has been minimized.

Show comment
Hide comment
@indirect

indirect May 31, 2015

Member

Thanks for reporting this. As we've stated in the past, Bundler's internal Ruby APIs are not stable and may change. It looks like Warbler needs to be updated to support Gem::StubSpecifications in general, which were introduced in RubyGems 2.1 in September 2013. Once Warbler supports that type of specification object, this will just go back to working.

Member

indirect commented May 31, 2015

Thanks for reporting this. As we've stated in the past, Bundler's internal Ruby APIs are not stable and may change. It looks like Warbler needs to be updated to support Gem::StubSpecifications in general, which were introduced in RubyGems 2.1 in September 2013. Once Warbler supports that type of specification object, this will just go back to working.

@segiddins

This comment has been minimized.

Show comment
Hide comment
@segiddins

segiddins May 31, 2015

Member

(Actually, that object is a Bundler::BasicSoecification)

Member

segiddins commented May 31, 2015

(Actually, that object is a Bundler::BasicSoecification)

@indirect

This comment has been minimized.

Show comment
Hide comment
@indirect

indirect May 31, 2015

Member

@segiddins hmm, that's a good point. Bundler::StubSpecification doesn't inherit from Gem::StubSpecification. :/ Is there a way to make it so that Warbler doesn't have to know or care about the difference? Do we just need Warbler to check responds_to? instead of is_a??

Member

indirect commented May 31, 2015

@segiddins hmm, that's a good point. Bundler::StubSpecification doesn't inherit from Gem::StubSpecification. :/ Is there a way to make it so that Warbler doesn't have to know or care about the difference? Do we just need Warbler to check responds_to? instead of is_a??

@c0mrade

This comment has been minimized.

Show comment
Hide comment
@c0mrade

c0mrade Jun 25, 2015

Updating to 1.4.8 warbler worked for me not to get this error anymore

c0mrade commented Jun 25, 2015

Updating to 1.4.8 warbler worked for me not to get this error anymore

mtigas added a commit to tabulapdf/tabula that referenced this issue Aug 21, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment