-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Only check circular deps when dependency api is available, not on full index sources #6919
Only check circular deps when dependency api is available, not on full index sources #6919
Conversation
# Don't bother to check for circular deps when no dependency API are | ||
# available, since it's too slow to be usable. That edge case won't work | ||
# but resolution other than that should work fine and reasonably fast. | ||
if source.respond_to?(:dependency_api_available?) && source.dependency_api_available? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah ok. Nice. I couldn't figure out where this check belonged. I tried putting something on RemoteSpecification that would tell it not to use the source to load dependencies, but it was a bit ugly. I'll see if I can write a test for this and we can merge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm leaving for a few weeks, so feel free to proceed as you see fit. We could close this PR, cherry-pick these two commits there, and get the issue fixed there?
19e12eb
to
7ff0f97
Compare
7ff0f97
to
d275cdc
Compare
the ruby-core specs are failing to install ruby because of a temporary bug. I'm going to merge this anyway since the fails are not caused by this code. |
…rcular-deps-on-full-index-sources Only check circular deps when dependency api is available, not on full index sources (cherry picked from commit 5f9545c)
…rcular-deps-on-full-index-sources Only check circular deps when dependency api is available, not on full index sources (cherry picked from commit 5f9545c)
* `Bundler::Fetcher#fetchers` was made private at rubygems/rubygems#6919. * `Bundler::Index#search_all` returns an enumerator since rubygems/rubygems#6962.
* `Bundler::Fetcher#fetchers` was made private at rubygems/rubygems#6919. * `Bundler::Index#search_all` returns an enumerator since rubygems/rubygems#6962.
* `Bundler::Fetcher#fetchers` was made private at rubygems/rubygems#6919. * `Bundler::Index#search_all` returns an enumerator since rubygems/rubygems#6962.
What was the end-user or developer problem that led to this PR?
This check fixes some edge cases during resolution, but checking it when dependency APIs are not available is too slow.
What is your fix for the problem, implemented in this PR?
This PR builds on top of #6897 to disable this check.
Fixes #6828.
I tried this manually and it's back to fast but I'd probably add a spec before merging?
Make sure the following tasks are checked