rubygems-update 3.2.8 → 3.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +42 -0
- data/Manifest.txt +1 -0
- data/Rakefile +6 -0
- data/bundler/CHANGELOG.md +48 -0
- data/bundler/lib/bundler.rb +1 -1
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/gem.rb +23 -17
- data/bundler/lib/bundler/definition.rb +26 -29
- data/bundler/lib/bundler/dsl.rb +36 -22
- data/bundler/lib/bundler/inline.rb +1 -0
- data/bundler/lib/bundler/installer.rb +2 -0
- data/bundler/lib/bundler/lockfile_parser.rb +12 -8
- data/bundler/lib/bundler/man/bundle-config.1 +4 -4
- data/bundler/lib/bundler/man/bundle-config.1.ronn +8 -7
- data/bundler/lib/bundler/plugin.rb +1 -0
- data/bundler/lib/bundler/plugin/installer.rb +8 -10
- data/bundler/lib/bundler/plugin/source_list.rb +4 -0
- data/bundler/lib/bundler/resolver.rb +36 -38
- data/bundler/lib/bundler/rubygems_gem_installer.rb +47 -0
- data/bundler/lib/bundler/source_list.rb +15 -18
- data/bundler/lib/bundler/stub_specification.rb +8 -0
- data/bundler/lib/bundler/templates/newgem/README.md.tt +5 -3
- data/bundler/lib/bundler/version.rb +1 -1
- data/lib/rubygems.rb +2 -2
- data/lib/rubygems/command.rb +1 -0
- data/lib/rubygems/config_file.rb +9 -0
- data/lib/rubygems/core_ext/tcpsocket_init.rb +52 -0
- data/lib/rubygems/dependency.rb +5 -1
- data/lib/rubygems/platform.rb +7 -3
- data/lib/rubygems/remote_fetcher.rb +1 -0
- data/lib/rubygems/specification.rb +13 -11
- data/lib/rubygems/test_case.rb +5 -6
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/test_gem.rb +80 -8
- data/test/rubygems/test_gem_commands_outdated_command.rb +18 -0
- data/test/rubygems/test_gem_config_file.rb +10 -0
- data/test/rubygems/test_gem_dependency_installer.rb +2 -18
- data/test/rubygems/test_gem_platform.rb +29 -0
- data/test/rubygems/test_gem_remote_fetcher.rb +6 -0
- data/test/rubygems/test_gem_specification.rb +10 -15
- data/test/rubygems/test_gem_util.rb +4 -4
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 666dcbc545356912c49ba537a3964a73cf66167dae38bd44a1ef874c24939d09
|
4
|
+
data.tar.gz: 63c0da17d148277c4d34d63354fda167768b64d1349a4cb9b4175c74f918a9f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d99946c2c1d0ce009b4864fa1ab4bde104e70ba20d9b859cb5ad377e83a969d420a3abbe517c91290b788a83b8886e0e1403de15177dd0d5bd0d53583737e73
|
7
|
+
data.tar.gz: aa89692b9cdbb6c4220a6c51b3b0fdd07c2187ec1d71e83db17bd216ce26a1fc29912fff748409f44fbfff830dc998c888005c98851615369462de3a1ee5e620
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,45 @@
|
|
1
|
+
# 3.2.13 / 2021-03-03
|
2
|
+
|
3
|
+
## Bug fixes:
|
4
|
+
|
5
|
+
* Support non-gnu libc linux platforms. Pull request #4082 by lloeki
|
6
|
+
|
7
|
+
# 3.2.12 / 2021-03-01
|
8
|
+
|
9
|
+
## Bug fixes:
|
10
|
+
|
11
|
+
* Restore the ability to manually install extension gems. Pull request
|
12
|
+
#4384 by cfis
|
13
|
+
|
14
|
+
# 3.2.11 / 2021-02-17
|
15
|
+
|
16
|
+
## Enhancements:
|
17
|
+
|
18
|
+
* Optionally fallback to IPv4 when IPv6 is unreachable. Pull request #2662
|
19
|
+
by sonalkr132
|
20
|
+
|
21
|
+
# 3.2.10 / 2021-02-15
|
22
|
+
|
23
|
+
## Documentation:
|
24
|
+
|
25
|
+
* Add a `gem push` example to `gem help`. Pull request #4373 by
|
26
|
+
deivid-rodriguez
|
27
|
+
* Improve documentation for `required_ruby_version`. Pull request #4343 by
|
28
|
+
AlexWayfer
|
29
|
+
|
30
|
+
# 3.2.9 / 2021-02-08
|
31
|
+
|
32
|
+
## Bug fixes:
|
33
|
+
|
34
|
+
* Fix error message when underscore selection can't find bundler. Pull
|
35
|
+
request #4363 by deivid-rodriguez
|
36
|
+
* Fix `Gem::Specification.stubs_for` returning wrong named specs. Pull
|
37
|
+
request #4356 by tompng
|
38
|
+
* Don't error out when activating a binstub unless necessary. Pull request
|
39
|
+
#4351 by deivid-rodriguez
|
40
|
+
* Fix `gem outdated` incorrectly handling platform specific gems. Pull
|
41
|
+
request #4248 by deivid-rodriguez
|
42
|
+
|
1
43
|
# 3.2.8 / 2021-02-02
|
2
44
|
|
3
45
|
## Bug fixes:
|
data/Manifest.txt
CHANGED
@@ -354,6 +354,7 @@ lib/rubygems/config_file.rb
|
|
354
354
|
lib/rubygems/core_ext/kernel_gem.rb
|
355
355
|
lib/rubygems/core_ext/kernel_require.rb
|
356
356
|
lib/rubygems/core_ext/kernel_warn.rb
|
357
|
+
lib/rubygems/core_ext/tcpsocket_init.rb
|
357
358
|
lib/rubygems/defaults.rb
|
358
359
|
lib/rubygems/dependency.rb
|
359
360
|
lib/rubygems/dependency_installer.rb
|
data/Rakefile
CHANGED
@@ -15,6 +15,12 @@ task :update do |_, args|
|
|
15
15
|
sh "ruby", "bundler/bin/bundle", "update", *args, "--gemfile=dev_gems.rb"
|
16
16
|
end
|
17
17
|
|
18
|
+
desc "Update the locked bundler version in dev environment"
|
19
|
+
task :update_locked_bundler do |_, args|
|
20
|
+
sh "ruby", "bundler/bin/bundle", "update", "--bundler", "--gemfile=dev_gems.rb"
|
21
|
+
sh "ruby", "bundler/bin/bundle", "update", "--bundler", "--gemfile=bundler/test_gems.rb"
|
22
|
+
end
|
23
|
+
|
18
24
|
desc "Setup git hooks"
|
19
25
|
task :git_hooks do
|
20
26
|
sh "git config core.hooksPath .githooks"
|
data/bundler/CHANGELOG.md
CHANGED
@@ -1,3 +1,51 @@
|
|
1
|
+
# 2.2.13 (March 3, 2021)
|
2
|
+
|
3
|
+
## Enhancements:
|
4
|
+
|
5
|
+
- Respect user configured default branch in README links in new generated gems [#4303](https://github.com/rubygems/rubygems/pull/4303)
|
6
|
+
|
7
|
+
## Bug fixes:
|
8
|
+
|
9
|
+
- Fix gems sometimes being pulled from irrelevant sources [#4418](https://github.com/rubygems/rubygems/pull/4418)
|
10
|
+
|
11
|
+
# 2.2.12 (March 1, 2021)
|
12
|
+
|
13
|
+
## Bug fixes:
|
14
|
+
|
15
|
+
- Fix sporadic warnings about `nil` gemspec on install/update and make those faster [#4409](https://github.com/rubygems/rubygems/pull/4409)
|
16
|
+
- Fix deployment install with duplicate path gems added to Gemfile [#4410](https://github.com/rubygems/rubygems/pull/4410)
|
17
|
+
|
18
|
+
# 2.2.11 (February 17, 2021)
|
19
|
+
|
20
|
+
## Bug fixes:
|
21
|
+
|
22
|
+
- Revert disable_multisource changes [#4385](https://github.com/rubygems/rubygems/pull/4385)
|
23
|
+
|
24
|
+
# 2.2.10 (February 15, 2021)
|
25
|
+
|
26
|
+
## Security fixes:
|
27
|
+
|
28
|
+
- Fix source priority for transitive dependencies and split lockfile rubygems source sections [#3655](https://github.com/rubygems/rubygems/pull/3655)
|
29
|
+
|
30
|
+
## Bug fixes:
|
31
|
+
|
32
|
+
- Fix adding platforms to lockfile sometimes conflicting on ruby requirements [#4371](https://github.com/rubygems/rubygems/pull/4371)
|
33
|
+
- Fix bundler sometimes choosing ruby variants over java ones [#4367](https://github.com/rubygems/rubygems/pull/4367)
|
34
|
+
|
35
|
+
## Documentation:
|
36
|
+
|
37
|
+
- Update man pages to reflect to new default for bundle install jobs [#4188](https://github.com/rubygems/rubygems/pull/4188)
|
38
|
+
|
39
|
+
# 2.2.9 (February 8, 2021)
|
40
|
+
|
41
|
+
## Enhancements:
|
42
|
+
|
43
|
+
- Stop removing existing platforms when force_ruby_platform is true [#4336](https://github.com/rubygems/rubygems/pull/4336)
|
44
|
+
|
45
|
+
## Bug fixes:
|
46
|
+
|
47
|
+
- Don't install platform specific gems on truffleruby [#4333](https://github.com/rubygems/rubygems/pull/4333)
|
48
|
+
|
1
49
|
# 2.2.8 (February 2, 2021)
|
2
50
|
|
3
51
|
## Enhancements:
|
data/bundler/lib/bundler.rb
CHANGED
@@ -4,8 +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 = "2021-
|
8
|
-
@git_commit_sha = "
|
7
|
+
@built_at = "2021-03-03".freeze
|
8
|
+
@git_commit_sha = "9b15ab18c4".freeze
|
9
9
|
@release = true
|
10
10
|
# end ivars
|
11
11
|
|
@@ -39,11 +39,11 @@ module Bundler
|
|
39
39
|
constant_name = name.gsub(/-[_-]*(?![_-]|$)/) { "::" }.gsub(/([_-]+|(::)|^)(.|$)/) { $2.to_s + $3.upcase }
|
40
40
|
constant_array = constant_name.split("::")
|
41
41
|
|
42
|
-
|
42
|
+
use_git = Bundler.git_present? && options[:git]
|
43
43
|
|
44
|
-
git_author_name =
|
45
|
-
github_username =
|
46
|
-
git_user_email =
|
44
|
+
git_author_name = use_git ? `git config user.name`.chomp : ""
|
45
|
+
github_username = use_git ? `git config github.user`.chomp : ""
|
46
|
+
git_user_email = use_git ? `git config user.email`.chomp : ""
|
47
47
|
|
48
48
|
config = {
|
49
49
|
:name => name,
|
@@ -58,6 +58,7 @@ module Bundler
|
|
58
58
|
:ext => options[:ext],
|
59
59
|
:exe => options[:exe],
|
60
60
|
:bundler_version => bundler_dependency_version,
|
61
|
+
:git => use_git,
|
61
62
|
:github_username => github_username.empty? ? "[USERNAME]" : github_username,
|
62
63
|
:required_ruby_version => Gem.ruby_version < Gem::Version.new("2.4.a") ? "2.3.0" : "2.4.0",
|
63
64
|
}
|
@@ -79,7 +80,7 @@ module Bundler
|
|
79
80
|
bin/setup
|
80
81
|
]
|
81
82
|
|
82
|
-
templates.merge!("gitignore.tt" => ".gitignore") if
|
83
|
+
templates.merge!("gitignore.tt" => ".gitignore") if use_git
|
83
84
|
|
84
85
|
if test_framework = ask_and_set_test_framework
|
85
86
|
config[:test] = test_framework
|
@@ -175,24 +176,31 @@ module Bundler
|
|
175
176
|
)
|
176
177
|
end
|
177
178
|
|
179
|
+
if File.exist?(target) && !File.directory?(target)
|
180
|
+
Bundler.ui.error "Couldn't create a new gem named `#{gem_name}` because there's an existing file named `#{gem_name}`."
|
181
|
+
exit Bundler::BundlerError.all_errors[Bundler::GenericSystemCallError]
|
182
|
+
end
|
183
|
+
|
184
|
+
if use_git
|
185
|
+
Bundler.ui.info "Initializing git repo in #{target}"
|
186
|
+
`git init #{target}`
|
187
|
+
|
188
|
+
config[:git_default_branch] = File.read("#{target}/.git/HEAD").split("/").last.chomp
|
189
|
+
end
|
190
|
+
|
178
191
|
templates.each do |src, dst|
|
179
192
|
destination = target.join(dst)
|
180
|
-
|
181
|
-
thor.template("newgem/#{src}", destination, config)
|
182
|
-
end
|
193
|
+
thor.template("newgem/#{src}", destination, config)
|
183
194
|
end
|
184
195
|
|
185
196
|
executables.each do |file|
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
end
|
197
|
+
path = target.join(file)
|
198
|
+
executable = (path.stat.mode | 0o111)
|
199
|
+
path.chmod(executable)
|
190
200
|
end
|
191
201
|
|
192
|
-
if
|
193
|
-
Bundler.ui.info "Initializing git repo in #{target}"
|
202
|
+
if use_git
|
194
203
|
Dir.chdir(target) do
|
195
|
-
`git init`
|
196
204
|
`git add .`
|
197
205
|
end
|
198
206
|
end
|
@@ -202,8 +210,6 @@ module Bundler
|
|
202
210
|
|
203
211
|
Bundler.ui.info "Gem '#{name}' was successfully created. " \
|
204
212
|
"For more information on making a RubyGem visit https://bundler.io/guides/creating_gem.html"
|
205
|
-
rescue Errno::EEXIST => e
|
206
|
-
raise GenericSystemCallError.new(e, "There was a conflict while creating the new gem.")
|
207
213
|
end
|
208
214
|
|
209
215
|
private
|
@@ -82,11 +82,7 @@ module Bundler
|
|
82
82
|
@lockfile_contents = Bundler.read_file(lockfile)
|
83
83
|
@locked_gems = LockfileParser.new(@lockfile_contents)
|
84
84
|
@locked_platforms = @locked_gems.platforms
|
85
|
-
|
86
|
-
@platforms = [Gem::Platform::RUBY]
|
87
|
-
else
|
88
|
-
@platforms = @locked_platforms.dup
|
89
|
-
end
|
85
|
+
@platforms = @locked_platforms.dup
|
90
86
|
@locked_bundler_version = @locked_gems.bundler_version
|
91
87
|
@locked_ruby_version = @locked_gems.ruby_version
|
92
88
|
|
@@ -268,7 +264,7 @@ module Bundler
|
|
268
264
|
# Run a resolve against the locally available gems
|
269
265
|
Bundler.ui.debug("Found changes from the lockfile, re-resolving dependencies because #{change_reason}")
|
270
266
|
expanded_dependencies = expand_dependencies(dependencies + metadata_dependencies, @remote)
|
271
|
-
Resolver.resolve(expanded_dependencies,
|
267
|
+
Resolver.resolve(expanded_dependencies, source_requirements, last_resolve, gem_version_promoter, additional_base_requirements_for_resolve, platforms)
|
272
268
|
end
|
273
269
|
end
|
274
270
|
end
|
@@ -598,7 +594,7 @@ module Bundler
|
|
598
594
|
deps_for_source = @dependencies.select {|s| s.source == source }
|
599
595
|
locked_deps_for_source = @locked_deps.values.select {|dep| dep.source == locked_source }
|
600
596
|
|
601
|
-
deps_for_source.sort != locked_deps_for_source.sort
|
597
|
+
deps_for_source.uniq.sort != locked_deps_for_source.sort
|
602
598
|
end
|
603
599
|
|
604
600
|
def specs_for_source_changed?(source)
|
@@ -660,19 +656,20 @@ module Bundler
|
|
660
656
|
def converge_rubygems_sources
|
661
657
|
return false if Bundler.feature_flag.disable_multisource?
|
662
658
|
|
663
|
-
changes = false
|
664
|
-
|
665
659
|
# Get the RubyGems sources from the Gemfile.lock
|
666
660
|
locked_gem_sources = @locked_sources.select {|s| s.is_a?(Source::Rubygems) }
|
661
|
+
return false if locked_gem_sources.empty?
|
662
|
+
|
667
663
|
# Get the RubyGems remotes from the Gemfile
|
668
664
|
actual_remotes = sources.rubygems_remotes
|
665
|
+
return false if actual_remotes.empty?
|
666
|
+
|
667
|
+
changes = false
|
669
668
|
|
670
669
|
# If there is a RubyGems source in both
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
changes |= locked_gem.replace_remotes(actual_remotes, Bundler.settings[:allow_deployment_source_credential_changes])
|
675
|
-
end
|
670
|
+
locked_gem_sources.each do |locked_gem|
|
671
|
+
# Merge the remotes from the Gemfile into the Gemfile.lock
|
672
|
+
changes |= locked_gem.replace_remotes(actual_remotes, Bundler.settings[:allow_deployment_source_credential_changes])
|
676
673
|
end
|
677
674
|
|
678
675
|
changes
|
@@ -897,30 +894,18 @@ module Bundler
|
|
897
894
|
# Record the specs available in each gem's source, so that those
|
898
895
|
# specs will be available later when the resolver knows where to
|
899
896
|
# look for that gemspec (or its dependencies)
|
900
|
-
|
901
|
-
source_requirements = { :default => default }
|
902
|
-
default = nil unless Bundler.feature_flag.disable_multisource?
|
903
|
-
dependencies.each do |dep|
|
904
|
-
next unless source = dep.source || default
|
905
|
-
source_requirements[dep.name] = source
|
906
|
-
end
|
897
|
+
source_requirements = { :default => sources.default_source }.merge(dependency_source_requirements)
|
907
898
|
metadata_dependencies.each do |dep|
|
908
899
|
source_requirements[dep.name] = sources.metadata_source
|
909
900
|
end
|
901
|
+
source_requirements[:global] = index unless Bundler.feature_flag.disable_multisource?
|
910
902
|
source_requirements[:default_bundler] = source_requirements["bundler"] || source_requirements[:default]
|
911
903
|
source_requirements["bundler"] = sources.metadata_source # needs to come last to override
|
912
904
|
source_requirements
|
913
905
|
end
|
914
906
|
|
915
907
|
def pinned_spec_names(skip = nil)
|
916
|
-
|
917
|
-
default = Bundler.feature_flag.disable_multisource? && sources.default_source
|
918
|
-
@dependencies.each do |dep|
|
919
|
-
next unless dep_source = dep.source || default
|
920
|
-
next if dep_source == skip
|
921
|
-
pinned_names << dep.name
|
922
|
-
end
|
923
|
-
pinned_names
|
908
|
+
dependency_source_requirements.reject {|_, source| source == skip }.keys
|
924
909
|
end
|
925
910
|
|
926
911
|
def requested_groups
|
@@ -977,5 +962,17 @@ module Bundler
|
|
977
962
|
|
978
963
|
Bundler.settings[:allow_deployment_source_credential_changes] && source.equivalent_remotes?(sources.rubygems_remotes)
|
979
964
|
end
|
965
|
+
|
966
|
+
def dependency_source_requirements
|
967
|
+
@dependency_source_requirements ||= begin
|
968
|
+
source_requirements = {}
|
969
|
+
default = sources.default_source
|
970
|
+
dependencies.each do |dep|
|
971
|
+
dep_source = dep.source || default
|
972
|
+
source_requirements[dep.name] = dep_source
|
973
|
+
end
|
974
|
+
source_requirements
|
975
|
+
end
|
976
|
+
end
|
980
977
|
end
|
981
978
|
end
|
data/bundler/lib/bundler/dsl.rb
CHANGED
@@ -24,6 +24,9 @@ module Bundler
|
|
24
24
|
def initialize
|
25
25
|
@source = nil
|
26
26
|
@sources = SourceList.new
|
27
|
+
|
28
|
+
@global_rubygems_sources = []
|
29
|
+
|
27
30
|
@git_sources = {}
|
28
31
|
@dependencies = []
|
29
32
|
@groups = []
|
@@ -45,6 +48,7 @@ module Bundler
|
|
45
48
|
@gemfiles << expanded_gemfile_path
|
46
49
|
contents ||= Bundler.read_file(@gemfile.to_s)
|
47
50
|
instance_eval(contents.dup.tap{|x| x.untaint if RUBY_VERSION < "2.7" }, gemfile.to_s, 1)
|
51
|
+
check_primary_source_safety
|
48
52
|
rescue Exception => e # rubocop:disable Lint/RescueException
|
49
53
|
message = "There was an error " \
|
50
54
|
"#{e.is_a?(GemfileEvalError) ? "evaluating" : "parsing"} " \
|
@@ -164,8 +168,7 @@ module Bundler
|
|
164
168
|
elsif block_given?
|
165
169
|
with_source(@sources.add_rubygems_source("remotes" => source), &blk)
|
166
170
|
else
|
167
|
-
|
168
|
-
@sources.global_rubygems_source = source
|
171
|
+
@global_rubygems_sources << source
|
169
172
|
end
|
170
173
|
end
|
171
174
|
|
@@ -183,24 +186,14 @@ module Bundler
|
|
183
186
|
end
|
184
187
|
|
185
188
|
def path(path, options = {}, &blk)
|
186
|
-
unless block_given?
|
187
|
-
msg = "You can no longer specify a path source by itself. Instead, \n" \
|
188
|
-
"either use the :path option on a gem, or specify the gems that \n" \
|
189
|
-
"bundler should find in the path source by passing a block to \n" \
|
190
|
-
"the path method, like: \n\n" \
|
191
|
-
" path 'dir/containing/rails' do\n" \
|
192
|
-
" gem 'rails'\n" \
|
193
|
-
" end\n\n"
|
194
|
-
|
195
|
-
raise DeprecatedError, msg if Bundler.feature_flag.disable_multisource?
|
196
|
-
SharedHelpers.major_deprecation(2, msg.strip)
|
197
|
-
end
|
198
|
-
|
199
189
|
source_options = normalize_hash(options).merge(
|
200
190
|
"path" => Pathname.new(path),
|
201
191
|
"root_path" => gemfile_root,
|
202
192
|
"gemspec" => gemspecs.find {|g| g.name == options["name"] }
|
203
193
|
)
|
194
|
+
|
195
|
+
source_options["global"] = true unless block_given?
|
196
|
+
|
204
197
|
source = @sources.add_path_source(source_options)
|
205
198
|
with_source(source, &blk)
|
206
199
|
end
|
@@ -279,6 +272,11 @@ module Bundler
|
|
279
272
|
raise GemfileError, "Undefined local variable or method `#{name}' for Gemfile"
|
280
273
|
end
|
281
274
|
|
275
|
+
def check_primary_source_safety
|
276
|
+
check_path_source_safety
|
277
|
+
check_rubygems_source_safety
|
278
|
+
end
|
279
|
+
|
282
280
|
private
|
283
281
|
|
284
282
|
def add_git_sources
|
@@ -440,17 +438,33 @@ repo_name ||= user_name
|
|
440
438
|
end
|
441
439
|
end
|
442
440
|
|
443
|
-
def
|
444
|
-
return if
|
441
|
+
def check_path_source_safety
|
442
|
+
return if @sources.global_path_source.nil?
|
443
|
+
|
444
|
+
msg = "You can no longer specify a path source by itself. Instead, \n" \
|
445
|
+
"either use the :path option on a gem, or specify the gems that \n" \
|
446
|
+
"bundler should find in the path source by passing a block to \n" \
|
447
|
+
"the path method, like: \n\n" \
|
448
|
+
" path 'dir/containing/rails' do\n" \
|
449
|
+
" gem 'rails'\n" \
|
450
|
+
" end\n\n"
|
451
|
+
|
452
|
+
SharedHelpers.major_deprecation(2, msg.strip)
|
453
|
+
end
|
454
|
+
|
455
|
+
def check_rubygems_source_safety
|
456
|
+
@sources.global_rubygems_source = @global_rubygems_sources.shift
|
457
|
+
return if @global_rubygems_sources.empty?
|
458
|
+
|
459
|
+
@global_rubygems_sources.each do |source|
|
460
|
+
@sources.add_rubygems_remote(source)
|
461
|
+
end
|
445
462
|
|
446
463
|
if Bundler.feature_flag.disable_multisource?
|
447
464
|
msg = "This Gemfile contains multiple primary sources. " \
|
448
465
|
"Each source after the first must include a block to indicate which gems " \
|
449
|
-
"should come from that source"
|
450
|
-
|
451
|
-
msg += ". To downgrade this error to a warning, run " \
|
452
|
-
"`bundle config unset disable_multisource`"
|
453
|
-
end
|
466
|
+
"should come from that source. To downgrade this error to a warning, run " \
|
467
|
+
"`bundle config unset disable_multisource`"
|
454
468
|
raise GemfileEvalError, msg
|
455
469
|
else
|
456
470
|
Bundler::SharedHelpers.major_deprecation 2, "Your Gemfile contains multiple primary sources. " \
|