segiddins / rubygems-await

A RubyGems plugin with a command to wait until gems are available.
https://rubygems.org/gems/rubygems-await
MIT License
6 stars 4 forks source link

Ensure Bundler::URI is defined #16

Closed segiddins closed 6 months ago

ccutrer commented 7 months ago

No, this does not work. Ruby 3.1, rubygems 3.5.6, bundler 2.5.6.

cody@opennuc:~/src/rubygems-await$ bundle exec exe/rubygems-await bundler:2.5.6
Error loading RubyGems plugin "/home/cody/.gem/ruby/3.1.2/plugins/gem-release_plugin.rb": cannot load such file -- gem/release (LoadError)
Error loading RubyGems plugin "/home/cody/.rubies/ruby-3.1.2/lib/ruby/gems/3.1.0/plugins/gem-release_plugin.rb": cannot load such file -- gem/release (LoadError)
2024-02-19 08:45:31 -0700 I              Awaiting bundler-2.5.6 on https://rubygems.org/
#<Thread:0x00007f431a43cf10 /home/cody/src/rubygems-await/lib/rubygems/await.rb:34 run> terminated with exception (report_on_exception is true):
#<Thread:0x00007f431a43cce0 /home/cody/src/rubygems-await/lib/rubygems/await.rb:34 run> terminated with exception (report_on_exception is true):
#<Thread:0x00007f431a43c858 /home/cody/src/rubygems-await/lib/rubygems/await.rb:34 run> terminated with exception (report_on_exception is true):
#<Thread:0x00007f431a43c678 /home/cody/src/rubygems-await/lib/rubygems/await.rb:34 run> terminated with exception (report_on_exception is true):
#<Thread:0x00007f431a43c290 /home/cody/src/rubygems-await/lib/rubygems/await.rb:34 run> terminated with exception (report_on_exception is true):
/home/cody/src/rubygems-await/lib/rubygems/await.rb:28:in `initialize': uninitialized constant Bundler::URI (NameError)

        @source_uri = Bundler::URI.parse(source)
                             ^^^^^
    from /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `new'
    from /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `block in call'
#<Thread:0x00007f431a43c088 /home/cody/src/rubygems-await/lib/rubygems/await.rb:34 run> terminated with exception (report_on_exception is true):
#<Thread:0x00007f431a443e00 /home/cody/src/rubygems-await/lib/rubygems/await.rb:34 run> terminated with exception (report_on_exception is true):
/home/cody/src/rubygems-await/lib/rubygems/await.rb:28:in `initialize': uninitialized constant Bundler::URI (NameError)

        @source_uri = Bundler::URI.parse(source)
                             ^^^^^
    from /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `new'
    from /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `block in call'
/home/cody/src/rubygems-await/lib/rubygems/await.rb:28:in `initialize': uninitialized constant Bundler::URI (NameError)

        @source_uri = Bundler::URI.parse(source)
                             ^^^^^
    from /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `new'
    from /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `block in call'
/home/cody/src/rubygems-await/lib/rubygems/await.rb:28:in `initialize': uninitialized constant Bundler::URI (NameError)

        @source_uri = Bundler::URI.parse(source)
                             ^^^^^
    from /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `new'
    from /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `block in call'
/home/cody/src/rubygems-await/lib/rubygems/await.rb:28:in `initialize': uninitialized constant Bundler::URI (NameError)

        @source_uri = Bundler::URI.parse(source)
                             ^^^^^
    from /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `new'
    from /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `block in call'
/home/cody/src/rubygems-await/lib/rubygems/await.rb:28:in `initialize': uninitialized constant Bundler::URI (NameError)

        @source_uri = Bundler::URI.parse(source)
                             ^^^^^
    from /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `new'
    from /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `block in call'
/home/cody/src/rubygems-await/lib/rubygems/await.rb:28:in `initialize': uninitialized constant Bundler::URI (NameError)

        @source_uri = Bundler::URI.parse(source)
                             ^^^^^
    from /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `new'
    from /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `block in call'
ERROR:  While executing gem ... (NameError)
    uninitialized constant Bundler::URI

        @source_uri = Bundler::URI.parse(source)
                             ^^^^^
    /home/cody/src/rubygems-await/lib/rubygems/await.rb:28:in `initialize'
    /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `new'
    /home/cody/src/rubygems-await/lib/rubygems/await.rb:35:in `block in call'

Looking at https://github.com/rubygems/rubygems/blob/master/bundler/lib/bundler/vendored_uri.rb, it seems Bundler uses Gem::URI if it exists, not even loading Bundler::URI.