rubygems-update 2.7.7 → 2.7.8
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rubygems-update might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/History.txt +51 -0
- data/Rakefile +12 -2
- data/bundler/CHANGELOG.md +80 -0
- data/bundler/README.md +1 -1
- data/bundler/bundler.gemspec +2 -1
- data/bundler/lib/bundler.rb +10 -6
- data/bundler/lib/bundler/build_metadata.rb +19 -2
- data/bundler/lib/bundler/cli.rb +1 -1
- data/bundler/lib/bundler/cli/exec.rb +1 -0
- data/bundler/lib/bundler/cli/update.rb +3 -3
- data/bundler/lib/bundler/current_ruby.rb +8 -1
- data/bundler/lib/bundler/definition.rb +18 -13
- data/bundler/lib/bundler/dep_proxy.rb +2 -2
- data/bundler/lib/bundler/dependency.rb +1 -0
- data/bundler/lib/bundler/deprecate.rb +2 -1
- data/bundler/lib/bundler/endpoint_specification.rb +1 -1
- data/bundler/lib/bundler/env.rb +10 -8
- data/bundler/lib/bundler/fetcher.rb +1 -1
- data/bundler/lib/bundler/fetcher/downloader.rb +10 -5
- data/bundler/lib/bundler/gem_helper.rb +1 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +12 -0
- data/bundler/lib/bundler/injector.rb +1 -1
- data/bundler/lib/bundler/installer/gem_installer.rb +6 -4
- data/bundler/lib/bundler/installer/parallel_installer.rb +1 -1
- data/bundler/lib/bundler/lazy_specification.rb +1 -1
- data/bundler/lib/bundler/mirror.rb +2 -2
- data/bundler/lib/bundler/plugin.rb +2 -2
- data/bundler/lib/bundler/plugin/index.rb +1 -1
- data/bundler/lib/bundler/process_lock.rb +1 -1
- data/bundler/lib/bundler/resolver.rb +10 -9
- data/bundler/lib/bundler/resolver/spec_group.rb +0 -4
- data/bundler/lib/bundler/ruby_version.rb +1 -1
- data/bundler/lib/bundler/runtime.rb +1 -1
- data/bundler/lib/bundler/shared_helpers.rb +15 -3
- data/bundler/lib/bundler/source/metadata.rb +1 -1
- data/bundler/lib/bundler/source/rubygems.rb +6 -2
- data/bundler/lib/bundler/source/rubygems/remote.rb +4 -1
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +4 -0
- data/bundler/lib/bundler/templates/newgem/travis.yml.tt +2 -0
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +11 -1
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +7 -2
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/man/bundle-binstubs.ronn +1 -1
- data/bundler/man/bundle-config.ronn +4 -4
- data/bundler/man/bundle-exec.ronn +2 -2
- data/bundler/man/bundle-gem.ronn +1 -1
- data/bundler/man/bundle-install.ronn +12 -3
- data/bundler/man/bundle-lock.ronn +1 -1
- data/bundler/man/bundle-outdated.ronn +1 -1
- data/bundler/man/bundle-package.ronn +3 -3
- data/bundler/man/bundle-show.ronn +3 -2
- data/bundler/man/bundle-update.ronn +18 -14
- data/bundler/man/bundle-viz.ronn +1 -1
- data/bundler/man/bundle.ronn +18 -18
- data/bundler/man/gemfile.5.ronn +23 -8
- data/lib/rubygems.rb +3 -3
- data/lib/rubygems/commands/install_command.rb +7 -0
- data/lib/rubygems/commands/push_command.rb +36 -3
- data/lib/rubygems/commands/uninstall_command.rb +1 -1
- data/lib/rubygems/core_ext/kernel_require.rb +2 -7
- data/lib/rubygems/install_update_options.rb +1 -1
- data/lib/rubygems/package/tar_header.rb +3 -1
- data/lib/rubygems/package/tar_writer.rb +2 -3
- data/lib/rubygems/request_set.rb +25 -16
- data/lib/rubygems/requirement.rb +14 -3
- data/lib/rubygems/resolver/api_specification.rb +5 -0
- data/lib/rubygems/security.rb +6 -1
- data/lib/rubygems/util/licenses.rb +35 -4
- data/lib/rubygems/version.rb +7 -2
- data/test/rubygems/test_gem_commands_build_command.rb +2 -0
- data/test/rubygems/test_gem_commands_install_command.rb +37 -0
- data/test/rubygems/test_gem_commands_push_command.rb +20 -0
- data/test/rubygems/test_gem_install_update_options.rb +2 -0
- data/test/rubygems/test_gem_remote_fetcher.rb +5 -1
- data/test/rubygems/test_gem_request.rb +5 -2
- data/test/rubygems/test_gem_requirement.rb +6 -0
- data/test/rubygems/test_gem_resolver_api_specification.rb +24 -0
- data/test/rubygems/test_gem_specification.rb +17 -3
- data/test/rubygems/test_gem_version.rb +29 -3
- data/util/ci +1 -1
- data/util/generate_spdx_license_list.rb +15 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dbf7de0c963b5bf9055a784b43d108a717fdd65fce7a3d97068e1c774b50b3d2
|
4
|
+
data.tar.gz: 21713c44bed6a5050127ce97e6398d905677384772c4703a035bd27b22df48dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: daa83b745513df1295b194d70fc0a1e1e3aed8619b1ad7c4542342dc1f4b8a4d3deb1c1ffa660aaea10ff1bda3045bc421101d58f2b5b78257ddad6877e8b2e4
|
7
|
+
data.tar.gz: 547b225a05641f1fb5456813945c14fc05a8e67fab01b2d07cd96335d77574b4c5618e96b7b94b1829e4fdcefee85f151fd82b382aa8e8183af611d8fd895d02
|
data/History.txt
CHANGED
@@ -1,5 +1,56 @@
|
|
1
1
|
# coding: UTF-8
|
2
2
|
|
3
|
+
=== 2.7.8 / 2018-11-02
|
4
|
+
|
5
|
+
Minor enhancements:
|
6
|
+
|
7
|
+
* Improve invalid proxy error message. Pull request #2217 by Luis
|
8
|
+
Sagastume.
|
9
|
+
* [Requirement] Treat requirements with == versions as equal. Pull
|
10
|
+
request #2230 by Samuel Giddins.
|
11
|
+
* Fix exec_name documentation. Pull request #2239 by Luis Sagastume.
|
12
|
+
* [TarHeader] Extract the empty header into a constant. Pull request #2247
|
13
|
+
by Samuel Giddins.
|
14
|
+
* Simplify the code that lets us call the original, non-monkeypatched
|
15
|
+
Kernel#require. Pull request #2267 by Leon Miller-Out.
|
16
|
+
* Support IO.copy_stream. Pull request #2303 by okkez.
|
17
|
+
* Add error message when trying to open a default gem. Pull request #2307
|
18
|
+
by Luis Sagastume.
|
19
|
+
* Add install alias documentation. Pull request #2320 by ota42y.
|
20
|
+
* Removed explicitly declaration of thread library. Pull request #2324 by
|
21
|
+
SHIBATA Hiroshi.
|
22
|
+
* [Rakefile] Set bundler build metadata when doing a release. Pull request
|
23
|
+
#2335 by Samuel Giddins.
|
24
|
+
* Speed up globbing relative to given directories. Pull request #2336 by
|
25
|
+
Samuel Giddins.
|
26
|
+
* Backport commits from ruby core . Pull request #2347 by SHIBATA Hiroshi.
|
27
|
+
* Sign in to the correct host before push. Pull request #2366 by Luis
|
28
|
+
Sagastume.
|
29
|
+
* Bump bundler-1.16.4. Pull request #2381 by SHIBATA Hiroshi.
|
30
|
+
* Improve bindir flag description. Pull request #2383 by Luis Sagastume.
|
31
|
+
* Update bundler-1.16.6. Pull request #2423 by SHIBATA Hiroshi.
|
32
|
+
|
33
|
+
Bug fixes:
|
34
|
+
|
35
|
+
* Frozen string fix - lib/rubygems/bundler_version_finder.rb. Pull request
|
36
|
+
#2115 by MSP-Greg.
|
37
|
+
* Fixed no assignment variables about default gems installation. Pull
|
38
|
+
request #2181 by SHIBATA Hiroshi.
|
39
|
+
* Fix #1470: generate documentation when --install-dir is present. Pull
|
40
|
+
request #2229 by Elias Hernandis.
|
41
|
+
* Validate SPDX license exceptions. Pull request #2257 by Mikit.
|
42
|
+
* Keep feature names loaded in the block. Pull request #2261 by Nobuyoshi
|
43
|
+
Nakada.
|
44
|
+
* Retry api specification spec with original platform. Pull request #2275
|
45
|
+
by Luis Sagastume.
|
46
|
+
* Fix approximate recommendation with prereleases. Pull request #2345 by
|
47
|
+
David Rodríguez.
|
48
|
+
* Expand symlinks in gem path. Pull request #2352 by Benoit Daloze.
|
49
|
+
* Gem::Version should handle nil like it used to before. Pull request
|
50
|
+
#2363 by Luis Sagastume.
|
51
|
+
* Fix auto resign expired certificate. Pull request #2380 by Luis
|
52
|
+
Sagastume.
|
53
|
+
|
3
54
|
=== 2.7.7 / 2018-05-08
|
4
55
|
|
5
56
|
Minor enhancements:
|
data/Rakefile
CHANGED
@@ -173,9 +173,9 @@ end
|
|
173
173
|
# --------------------------------------------------------------------
|
174
174
|
# Creating a release
|
175
175
|
|
176
|
-
task :prerelease => [
|
176
|
+
task :prerelease => %w[clobber check_manifest test bundler:build_metadata]
|
177
177
|
|
178
|
-
task :postrelease => %w[upload guides:publish blog:publish]
|
178
|
+
task :postrelease => %w[bundler:build_metadata:clean upload guides:publish blog:publish]
|
179
179
|
|
180
180
|
file "pkg/rubygems-#{v}" => "pkg/rubygems-update-#{v}" do |t|
|
181
181
|
require 'find'
|
@@ -513,4 +513,14 @@ namespace :bundler do
|
|
513
513
|
task :checkout do
|
514
514
|
sh "git submodule update --init"
|
515
515
|
end
|
516
|
+
|
517
|
+
task :build_metadata do
|
518
|
+
chdir('bundler') { sh "rake build_metadata" }
|
519
|
+
end
|
520
|
+
|
521
|
+
namespace :build_metadata do
|
522
|
+
task :clean do
|
523
|
+
chdir('bundler') { sh "rake build_metadata:clean" }
|
524
|
+
end
|
525
|
+
end
|
516
526
|
end
|
data/bundler/CHANGELOG.md
CHANGED
@@ -1,3 +1,83 @@
|
|
1
|
+
## 1.16.6 (2018-10-05)
|
2
|
+
|
3
|
+
Changes:
|
4
|
+
|
5
|
+
- Add an error message when adding a gem with `bundle add` that's already in the bundle ([#6341](https://github.com/bundler/bundler/issues/6341), @agrim123)
|
6
|
+
- Add Homepage, Source Code and Chanagelog URI metadata fields to the `bundle gem` gemspec template (@walf443)
|
7
|
+
|
8
|
+
Bugfixes:
|
9
|
+
|
10
|
+
- Fix issue where updating a gem resulted in the gem's version being downgraded when `BUNDLE_ONLY_UPDATE_TO_NEWER_VERSIONS` was set ([#6529](https://github.com/bundler/bundler/issues/6529), @theflow)
|
11
|
+
- Fix some rescue calls that don't specifiy error type (@utilum)
|
12
|
+
- Fix an issue when the Lockfile would contain platform-specific gems that it didn't need ([#6491](https://github.com/bundler/bundler/issues/6491), @segiddins)
|
13
|
+
- Improve handlding of adding new gems with only a single group to the Gemfile in `bundle add` (@agrim123)
|
14
|
+
- Refactor check for OpenSSL in `bundle env` (@voxik)
|
15
|
+
- Remove an unnecessary assignment in Metadata (@voxik)
|
16
|
+
|
17
|
+
Documentation:
|
18
|
+
|
19
|
+
- Update docs to reflect revised guidance to check in Gemfile.lock into version control for gems ([#5879](https://github.com/bundler/bundler/issues/5879), @arbonap)
|
20
|
+
- Add documentation for the `--all` flag in `bundle update` (@agrim123)
|
21
|
+
- Update README to use `bundle add` in usage examples (@hdf1986)
|
22
|
+
|
23
|
+
## 1.16.5 (2018-09-18)
|
24
|
+
|
25
|
+
Changes:
|
26
|
+
|
27
|
+
- Add support for TruffleRuby (@eregon)
|
28
|
+
|
29
|
+
Bugfixes:
|
30
|
+
|
31
|
+
- Avoid printing git errors when checking the version on incorrectly packaged versions of Bundler ([#6453](https://github.com/bundler/bundler/issues/6453), @greysteil)
|
32
|
+
- Fix issue where Bundler does not check the given class when comparing equality in DepProxy (@ChrisBr)
|
33
|
+
- Handle `RangeNotSatisfiable` error in Compact Index (@MaxLap)
|
34
|
+
- Check for initialized `search` variable in `LazySpecification` (@voxik)
|
35
|
+
- Fix LoadError occurring in nested bundle exec calls ([#6537](https://github.com/bundler/bundler/issues/6537), @colby-swandale)
|
36
|
+
- Check that Bundler::Deprecate is not an autoload constant ([#6163](https://github.com/bundler/bundler/issues/6163), @eregon)
|
37
|
+
- Prefer non-pre-release versions when performing a `bundle update --patch` ([#6684](https://github.com/bundler/bundler/issues/6684), @segiddins)
|
38
|
+
|
39
|
+
## 1.16.4 (2018-08-17)
|
40
|
+
|
41
|
+
Changes:
|
42
|
+
|
43
|
+
- Welcome new members to the Bundler core team (@indirect)
|
44
|
+
- Don't mutate original error trees when determining version_conflict_message (@greysteil)
|
45
|
+
- Update vendored Molinillo to 0.6.6 (@segiddins)
|
46
|
+
|
47
|
+
Bugfixes:
|
48
|
+
|
49
|
+
- Reword bundle update regression message to be more clear to the user when a gem's version is downgraded ([#6584](https://github.com/bundler/bundler/issues/6584), @ralphbolo)
|
50
|
+
- Respect --conservative flag when updating a dependency group ([#6560](https://github.com/bundler/bundler/issues/6560), @greysteil)
|
51
|
+
- Fix issue where a pre-release version was not being selected when it's specified in the Gemfile ([#6449](https://github.com/bundler/bundler/issues/6449), @akihiro17)
|
52
|
+
- Fix issue where `Etc` was not loaded when getting the user's home dir ([#6640](https://github.com/bundler/bundler/issues/6640), @colby-swandale)
|
53
|
+
- Use UTF-8 for reading files including Gemfile ([#6660](https://github.com/bundler/bundler/issues/6660), @eregon)
|
54
|
+
- Remove unnecessary `while` loop in path resolver helper (@ojab)
|
55
|
+
|
56
|
+
Documentation:
|
57
|
+
|
58
|
+
- Document that `bundle show [--paths]` sorts results by name (@kemitchell)
|
59
|
+
|
60
|
+
## 1.16.3 (2018-07-17)
|
61
|
+
|
62
|
+
Features:
|
63
|
+
|
64
|
+
- Support URI::File of Ruby 2.6 (@hsbt)
|
65
|
+
|
66
|
+
Bugfixes:
|
67
|
+
|
68
|
+
- Expand symlinks during setup to allow Bundler to load correctly when using symlinks in $GEM_HOME ([#6465](https://github.com/bundler/bundler/issues/6465), @ojab, @indirect)
|
69
|
+
- Dont let Bundler create temporary folders for gem installs which are owned by root ([#6258](https://github.com/bundler/bundler/issues/6258), @colby-swandale)
|
70
|
+
- Don't fallback to using temporary directories when needed directories already exist ([#6546](https://github.com/bundler/bundler/issues/6546), @brodock)
|
71
|
+
- Use SharedHelpers.filesystem_access when reading a Gemfile so friendly error messages can be given to the user ([#6541](https://github.com/bundler/bundler/issues/6541), @segiddins)
|
72
|
+
- Check if source responds to `#remotes` before printing gem install error message ([#6211](https://github.com/bundler/bundler/issues/6211), @colby-swandale)
|
73
|
+
- Handle Errno::ENOTSUP in the Bundler Process Lock to prevent exceptions when using NFS mounts ([#6566](https://github.com/bundler/bundler/issues/6566), @colby-swandale)
|
74
|
+
- Respect encodings when reading gemspecs ([#6598](https://github.com/bundler/bundler/issues/6598), @deivid-rodriguez)
|
75
|
+
|
76
|
+
Documentation:
|
77
|
+
|
78
|
+
- Fix links between manual pages (@BanzaiMan)
|
79
|
+
- Add warning to Gemfile documentation for the use of the `source` option when declaring gems ([#6280](https://github.com/bundler/bundler/issues/6280), @forestgagnon)
|
80
|
+
|
1
81
|
## 1.16.2 (2018-04-20)
|
2
82
|
|
3
83
|
Changes:
|
data/bundler/README.md
CHANGED
data/bundler/bundler.gemspec
CHANGED
@@ -9,7 +9,8 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.version = Bundler::VERSION
|
10
10
|
s.license = "MIT"
|
11
11
|
s.authors = [
|
12
|
-
"André Arko", "Samuel Giddins", "
|
12
|
+
"André Arko", "Samuel Giddins", "Colby Swandale", "Hiroshi Shibata",
|
13
|
+
"David Rodríguez", "Grey Baker", "Stephanie Morillo", "Chris Morris", "James Wen", "Tim Moore",
|
13
14
|
"André Medeiros", "Jessica Lynn Suttles", "Terence Lee", "Carl Lerche",
|
14
15
|
"Yehuda Katz"
|
15
16
|
]
|
data/bundler/lib/bundler.rb
CHANGED
@@ -159,16 +159,18 @@ module Bundler
|
|
159
159
|
def user_home
|
160
160
|
@user_home ||= begin
|
161
161
|
home = Bundler.rubygems.user_home
|
162
|
+
bundle_home = home ? File.join(home, ".bundle") : nil
|
162
163
|
|
163
164
|
warning = if home.nil?
|
164
165
|
"Your home directory is not set."
|
165
166
|
elsif !File.directory?(home)
|
166
167
|
"`#{home}` is not a directory."
|
167
|
-
elsif !File.writable?(home)
|
168
|
+
elsif !File.writable?(home) && (!File.directory?(bundle_home) || !File.writable?(bundle_home))
|
168
169
|
"`#{home}` is not writable."
|
169
170
|
end
|
170
171
|
|
171
172
|
if warning
|
173
|
+
Kernel.send(:require, "etc")
|
172
174
|
user_home = tmp_home_path(Etc.getlogin, warning)
|
173
175
|
Bundler.ui.warn "#{warning}\nBundler will use `#{user_home}' as your home directory temporarily.\n"
|
174
176
|
user_home
|
@@ -189,7 +191,7 @@ module Bundler
|
|
189
191
|
end
|
190
192
|
tmp_home_path.join(login).tap(&:mkpath)
|
191
193
|
end
|
192
|
-
rescue => e
|
194
|
+
rescue RuntimeError => e
|
193
195
|
raise e.exception("#{warning}\nBundler also failed to create a temporary home directory at `#{path}':\n#{e}")
|
194
196
|
end
|
195
197
|
|
@@ -359,8 +361,8 @@ EOF
|
|
359
361
|
@requires_sudo = settings.allow_sudo? && sudo_present && sudo_needed
|
360
362
|
end
|
361
363
|
|
362
|
-
def mkdir_p(path)
|
363
|
-
if requires_sudo?
|
364
|
+
def mkdir_p(path, options = {})
|
365
|
+
if requires_sudo? && !options[:no_sudo]
|
364
366
|
sudo "mkdir -p '#{path}'" unless File.exist?(path)
|
365
367
|
else
|
366
368
|
SharedHelpers.filesystem_access(path, :write) do |p|
|
@@ -407,12 +409,14 @@ EOF
|
|
407
409
|
end
|
408
410
|
|
409
411
|
def read_file(file)
|
410
|
-
|
412
|
+
SharedHelpers.filesystem_access(file, :read) do
|
413
|
+
File.open(file, "r:UTF-8", &:read)
|
414
|
+
end
|
411
415
|
end
|
412
416
|
|
413
417
|
def load_marshal(data)
|
414
418
|
Marshal.load(data)
|
415
|
-
rescue => e
|
419
|
+
rescue StandardError => e
|
416
420
|
raise MarshalError, "#{e.class}: #{e.message}"
|
417
421
|
end
|
418
422
|
|
@@ -4,6 +4,8 @@ module Bundler
|
|
4
4
|
# Represents metadata from when the Bundler gem was built.
|
5
5
|
module BuildMetadata
|
6
6
|
# begin ivars
|
7
|
+
@built_at = "2018-11-02".freeze
|
8
|
+
@git_commit_sha = "8a789f00b".freeze
|
7
9
|
@release = false
|
8
10
|
# end ivars
|
9
11
|
|
@@ -23,9 +25,24 @@ module Bundler
|
|
23
25
|
|
24
26
|
# The SHA for the git commit the bundler gem was built from.
|
25
27
|
def self.git_commit_sha
|
26
|
-
@git_commit_sha
|
27
|
-
|
28
|
+
return @git_commit_sha if @git_commit_sha
|
29
|
+
|
30
|
+
# If Bundler has been installed without its .git directory and without a
|
31
|
+
# commit instance variable then we can't determine its commits SHA.
|
32
|
+
git_dir = File.join(File.expand_path("../../..", __FILE__), ".git")
|
33
|
+
if File.directory?(git_dir)
|
34
|
+
return @git_commit_sha = Dir.chdir(git_dir) { `git rev-parse --short HEAD`.strip.freeze }
|
35
|
+
end
|
36
|
+
|
37
|
+
# If Bundler is a submodule in RubyGems, get the submodule commit
|
38
|
+
git_sub_dir = File.join(File.expand_path("../../../..", __FILE__), ".git")
|
39
|
+
if File.directory?(git_sub_dir)
|
40
|
+
return @git_commit_sha = Dir.chdir(git_sub_dir) do
|
41
|
+
`git ls-tree --abbrev=8 HEAD bundler`.split(/\s/).fetch(2, "").strip.freeze
|
42
|
+
end
|
28
43
|
end
|
44
|
+
|
45
|
+
@git_commit_sha ||= "unknown"
|
29
46
|
end
|
30
47
|
|
31
48
|
# Whether this is an official release build of Bundler.
|
data/bundler/lib/bundler/cli.rb
CHANGED
@@ -38,8 +38,8 @@ module Bundler
|
|
38
38
|
Bundler::CLI::Common.ensure_all_gems_in_lockfile!(gems)
|
39
39
|
|
40
40
|
if groups.any?
|
41
|
-
|
42
|
-
gems.concat(
|
41
|
+
deps = Bundler.definition.dependencies.select {|d| (d.groups & groups).any? }
|
42
|
+
gems.concat(deps.map(&:name))
|
43
43
|
end
|
44
44
|
|
45
45
|
Bundler.definition(:gems => gems, :sources => sources, :ruby => options[:ruby],
|
@@ -76,7 +76,7 @@ module Bundler
|
|
76
76
|
if !new_version
|
77
77
|
Bundler.ui.warn "Bundler attempted to update #{name} but it was removed from the bundle"
|
78
78
|
elsif new_version < locked_version
|
79
|
-
Bundler.ui.warn "
|
79
|
+
Bundler.ui.warn "Note: #{name} version regressed from #{locked_version} to #{new_version}"
|
80
80
|
elsif new_version == locked_version
|
81
81
|
Bundler.ui.warn "Bundler attempted to update #{name} but its version stayed the same"
|
82
82
|
end
|
@@ -18,6 +18,7 @@ module Bundler
|
|
18
18
|
2.3
|
19
19
|
2.4
|
20
20
|
2.5
|
21
|
+
2.6
|
21
22
|
].freeze
|
22
23
|
|
23
24
|
KNOWN_MAJOR_VERSIONS = KNOWN_MINOR_VERSIONS.map {|v| v.split(".", 2).first }.uniq.freeze
|
@@ -31,11 +32,13 @@ module Bundler
|
|
31
32
|
mswin64
|
32
33
|
rbx
|
33
34
|
ruby
|
35
|
+
truffleruby
|
34
36
|
x64_mingw
|
35
37
|
].freeze
|
36
38
|
|
37
39
|
def ruby?
|
38
|
-
!mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby" ||
|
40
|
+
!mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby" ||
|
41
|
+
RUBY_ENGINE == "rbx" || RUBY_ENGINE == "maglev" || RUBY_ENGINE == "truffleruby")
|
39
42
|
end
|
40
43
|
|
41
44
|
def mri?
|
@@ -54,6 +57,10 @@ module Bundler
|
|
54
57
|
defined?(RUBY_ENGINE) && RUBY_ENGINE == "maglev"
|
55
58
|
end
|
56
59
|
|
60
|
+
def truffleruby?
|
61
|
+
defined?(RUBY_ENGINE) && RUBY_ENGINE == "truffleruby"
|
62
|
+
end
|
63
|
+
|
57
64
|
def mswin?
|
58
65
|
Bundler::WINDOWS
|
59
66
|
end
|
@@ -246,17 +246,22 @@ module Bundler
|
|
246
246
|
def resolve
|
247
247
|
@resolve ||= begin
|
248
248
|
last_resolve = converge_locked_specs
|
249
|
-
|
250
|
-
Bundler.
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
249
|
+
resolve =
|
250
|
+
if Bundler.frozen_bundle?
|
251
|
+
Bundler.ui.debug "Frozen, using resolution from the lockfile"
|
252
|
+
last_resolve
|
253
|
+
elsif !unlocking? && nothing_changed?
|
254
|
+
Bundler.ui.debug("Found no changes, using resolution from the lockfile")
|
255
|
+
last_resolve
|
256
|
+
else
|
257
|
+
# Run a resolve against the locally available gems
|
258
|
+
Bundler.ui.debug("Found changes from the lockfile, re-resolving dependencies because #{change_reason}")
|
259
|
+
last_resolve.merge Resolver.resolve(expanded_dependencies, index, source_requirements, last_resolve, gem_version_promoter, additional_base_requirements_for_resolve, platforms)
|
260
|
+
end
|
261
|
+
|
262
|
+
# filter out gems that _can_ be installed on multiple platforms, but don't need
|
263
|
+
# to be
|
264
|
+
resolve.for(expand_dependencies(dependencies, true), [], false, false, false)
|
260
265
|
end
|
261
266
|
end
|
262
267
|
|
@@ -970,10 +975,10 @@ module Bundler
|
|
970
975
|
|
971
976
|
def additional_base_requirements_for_resolve
|
972
977
|
return [] unless @locked_gems && Bundler.feature_flag.only_update_to_newer_versions?
|
973
|
-
dependencies_by_name = dependencies.
|
978
|
+
dependencies_by_name = dependencies.inject({}) {|memo, dep| memo.update(dep.name => dep) }
|
974
979
|
@locked_gems.specs.reduce({}) do |requirements, locked_spec|
|
975
980
|
name = locked_spec.name
|
976
|
-
next requirements if @
|
981
|
+
next requirements if @locked_gems.dependencies[name] != dependencies_by_name[name]
|
977
982
|
dep = Gem::Dependency.new(name, ">= #{locked_spec.version}")
|
978
983
|
requirements[name] = DepProxy.new(dep, locked_spec.platform)
|
979
984
|
requirements
|
@@ -10,11 +10,11 @@ module Bundler
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def hash
|
13
|
-
@hash ||= dep.hash
|
13
|
+
@hash ||= [dep, __platform].hash
|
14
14
|
end
|
15
15
|
|
16
16
|
def ==(other)
|
17
|
-
return if other.
|
17
|
+
return false if other.class != self.class
|
18
18
|
dep == other.dep && __platform == other.__platform
|
19
19
|
end
|
20
20
|
|
@@ -30,6 +30,7 @@ module Bundler
|
|
30
30
|
:mri_24 => Gem::Platform::RUBY,
|
31
31
|
:mri_25 => Gem::Platform::RUBY,
|
32
32
|
:rbx => Gem::Platform::RUBY,
|
33
|
+
:truffleruby => Gem::Platform::RUBY,
|
33
34
|
:jruby => Gem::Platform::JAVA,
|
34
35
|
:jruby_18 => Gem::Platform::JAVA,
|
35
36
|
:jruby_19 => Gem::Platform::JAVA,
|
@@ -8,7 +8,8 @@ rescue LoadError
|
|
8
8
|
end
|
9
9
|
|
10
10
|
module Bundler
|
11
|
-
|
11
|
+
# If Bundler::Deprecate is an autoload constant, we need to define it
|
12
|
+
if defined?(Bundler::Deprecate) && !autoload?(:Deprecate)
|
12
13
|
# nothing to do!
|
13
14
|
elsif defined? ::Deprecate
|
14
15
|
Deprecate = ::Deprecate
|