diff options
| author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2024-09-27 09:37:01 +0200 |
|---|---|---|
| committer | git <svn-admin@ruby-lang.org> | 2024-10-02 10:37:26 +0000 |
| commit | acbdb309417a8436ae542cc8948121d9baaf1fed (patch) | |
| tree | a3c9c99efef2a1ad882cfc9774cf94e488bb3120 /lib | |
| parent | 7469b8308d6fb7fd21b8589a9f4ea0cedbfeb3be (diff) | |
[rubygems/rubygems] Fix error in one source when fetching dependency APIs clearing results from all sources
https://github.com/rubygems/rubygems/commit/0549ddbcc5
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/rubygems/resolver/api_set.rb | 19 | ||||
| -rw-r--r-- | lib/rubygems/resolver/best_set.rb | 2 |
2 files changed, 12 insertions, 9 deletions
diff --git a/lib/rubygems/resolver/api_set.rb b/lib/rubygems/resolver/api_set.rb index 3e4dadc40f..9f6695a6a9 100644 --- a/lib/rubygems/resolver/api_set.rb +++ b/lib/rubygems/resolver/api_set.rb @@ -104,16 +104,21 @@ class Gem::Resolver::APISet < Gem::Resolver::Set end uri = @dep_uri + name - str = Gem::RemoteFetcher.fetcher.fetch_path uri - lines(str).each do |ver| - number, platform, dependencies, requirements = parse_gem(ver) + begin + str = Gem::RemoteFetcher.fetcher.fetch_path uri + rescue Gem::RemoteFetcher::FetchError + @data[name] = [] + else + lines(str).each do |ver| + number, platform, dependencies, requirements = parse_gem(ver) - platform ||= "ruby" - dependencies = dependencies.map {|dep_name, reqs| [dep_name, reqs.join(", ")] } - requirements = requirements.map {|req_name, reqs| [req_name.to_sym, reqs] }.to_h + platform ||= "ruby" + dependencies = dependencies.map {|dep_name, reqs| [dep_name, reqs.join(", ")] } + requirements = requirements.map {|req_name, reqs| [req_name.to_sym, reqs] }.to_h - @data[name] << { name: name, number: number, platform: platform, dependencies: dependencies, requirements: requirements } + @data[name] << { name: name, number: number, platform: platform, dependencies: dependencies, requirements: requirements } + end end @data[name] diff --git a/lib/rubygems/resolver/best_set.rb b/lib/rubygems/resolver/best_set.rb index 57d0d00375..e2307f6e02 100644 --- a/lib/rubygems/resolver/best_set.rb +++ b/lib/rubygems/resolver/best_set.rb @@ -29,8 +29,6 @@ class Gem::Resolver::BestSet < Gem::Resolver::ComposedSet pick_sets if @remote && @sets.empty? super - rescue Gem::RemoteFetcher::FetchError - [] end def prefetch(reqs) # :nodoc: |
