diff options
Diffstat (limited to 'lib/bundler/plugin')
| -rw-r--r-- | lib/bundler/plugin/api/source.rb | 2 | ||||
| -rw-r--r-- | lib/bundler/plugin/index.rb | 6 | ||||
| -rw-r--r-- | lib/bundler/plugin/installer.rb | 12 | ||||
| -rw-r--r-- | lib/bundler/plugin/installer/path.rb | 8 | ||||
| -rw-r--r-- | lib/bundler/plugin/source_list.rb | 2 |
5 files changed, 16 insertions, 14 deletions
diff --git a/lib/bundler/plugin/api/source.rb b/lib/bundler/plugin/api/source.rb index 690f379389..6c888d0373 100644 --- a/lib/bundler/plugin/api/source.rb +++ b/lib/bundler/plugin/api/source.rb @@ -67,7 +67,7 @@ module Bundler # to check out same version of gem later. # # There options are passed when the source plugin is created from the - # lock file. + # lockfile. # # @return [Hash] def options_to_lock diff --git a/lib/bundler/plugin/index.rb b/lib/bundler/plugin/index.rb index c2ab8f90da..0682d37772 100644 --- a/lib/bundler/plugin/index.rb +++ b/lib/bundler/plugin/index.rb @@ -31,9 +31,13 @@ module Bundler begin load_index(global_index_file, true) - rescue GenericSystemCallError + rescue PermissionError # no need to fail when on a read-only FS, for example nil + rescue ArgumentError => e + # ruby 3.4 checks writability in Dir.tmpdir + raise unless e.message&.include?("could not find a temporary directory") + nil end load_index(local_index_file) if SharedHelpers.in_bundle? end diff --git a/lib/bundler/plugin/installer.rb b/lib/bundler/plugin/installer.rb index 4f60862bb4..853ad9edca 100644 --- a/lib/bundler/plugin/installer.rb +++ b/lib/bundler/plugin/installer.rb @@ -34,7 +34,7 @@ module Bundler # @return [Hash] map of names to their specs they are installed with def install_definition(definition) def definition.lock(*); end - definition.resolve_remotely! + definition.remotely! specs = definition.specs install_from_specs specs @@ -43,16 +43,6 @@ module Bundler private def check_sources_consistency!(options) - if options.key?(:git) && options.key?(:local_git) - raise InvalidOption, "Remote and local plugin git sources can't be both specified" - end - - # back-compat; local_git is an alias for git - if options.key?(:local_git) - Bundler::SharedHelpers.major_deprecation(2, "--local_git is deprecated, use --git") - options[:git] = options.delete(:local_git) - end - if (options.keys & [:source, :git, :path]).length > 1 raise InvalidOption, "Only one of --source, --git, or --path may be specified" end diff --git a/lib/bundler/plugin/installer/path.rb b/lib/bundler/plugin/installer/path.rb index 58a8fa7426..58c4924eb0 100644 --- a/lib/bundler/plugin/installer/path.rb +++ b/lib/bundler/plugin/installer/path.rb @@ -8,6 +8,14 @@ module Bundler SharedHelpers.in_bundle? ? Bundler.root : Plugin.root end + def eql?(other) + return unless other.class == self.class + expanded_original_path == other.expanded_original_path && + version == other.version + end + + alias_method :==, :eql? + def generate_bin(spec, disable_extensions = false) # Need to find a way without code duplication # For now, we can ignore this diff --git a/lib/bundler/plugin/source_list.rb b/lib/bundler/plugin/source_list.rb index 746996de55..d929ade29e 100644 --- a/lib/bundler/plugin/source_list.rb +++ b/lib/bundler/plugin/source_list.rb @@ -23,7 +23,7 @@ module Bundler private - def rubygems_aggregate_class + def source_class Plugin::Installer::Rubygems end end |
