This is the latest iteration of the gem dependency resolving algorithm. As of now, it can resolve (as a success or failure) any set of gem dependencies we throw at it in a reasonable amount of time. The most iterations I‘ve seen it take is about 150. The actual implementation of the algorithm is not as good as it could be yet, but that can come later.
| VERSION | = | "1.10.6" unless defined?(::Bundler::VERSION) | We‘re doing this because we might write tests that deal with other versions of bundler and we are unsure how to handle this better. | |
| WINDOWS | = | RbConfig::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw)! | ||
| FREEBSD | = | RbConfig::CONFIG["host_os"] =~ /bsd/ | ||
| NULL | = | WINDOWS ? "NUL" : "/dev/null" | ||
| Deprecate | = | ::Deprecate | ||
| Deprecate | = | Gem::Deprecate | ||
| YamlSyntaxError | = | ::Psych::SyntaxError | ||
| YamlSyntaxError | = | ::ArgumentError | ||
| ORIGINAL_ENV | = | ENV.to_hash |
| bundle_path | [W] | |
| rubygems | [R] |
Returns an instance of Bundler::Definition for given Gemfile and lockfile
@param unlock [Hash, Boolean, nil] Gems that have been requested
to be updated or true if all gems should be updated
@return [Bundler::Definition]