bundler 2.2.31 → 2.3.2
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 +83 -0
- data/exe/bundle +7 -8
- data/lib/bundler/.document +1 -0
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli/doctor.rb +3 -2
- data/lib/bundler/cli/gem.rb +2 -1
- data/lib/bundler/cli/info.rb +6 -1
- data/lib/bundler/cli/install.rb +2 -0
- data/lib/bundler/cli/update.rb +2 -2
- data/lib/bundler/cli.rb +7 -1
- data/lib/bundler/compact_index_client/updater.rb +0 -5
- data/lib/bundler/definition.rb +61 -119
- data/lib/bundler/dependency.rb +5 -7
- data/lib/bundler/dsl.rb +18 -30
- data/lib/bundler/endpoint_specification.rb +0 -8
- data/lib/bundler/environment_preserver.rb +4 -1
- data/lib/bundler/fetcher/compact_index.rb +9 -4
- data/lib/bundler/fetcher.rb +2 -5
- data/lib/bundler/gem_helper.rb +2 -2
- data/lib/bundler/injector.rb +10 -1
- data/lib/bundler/installer/gem_installer.rb +1 -6
- data/lib/bundler/installer.rb +1 -4
- data/lib/bundler/lazy_specification.rb +17 -1
- data/lib/bundler/lockfile_parser.rb +10 -13
- data/lib/bundler/man/bundle-add.1 +10 -2
- data/lib/bundler/man/bundle-add.1.ronn +7 -1
- data/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/lib/bundler/man/bundle-cache.1 +1 -1
- data/lib/bundler/man/bundle-check.1 +1 -1
- data/lib/bundler/man/bundle-clean.1 +1 -1
- data/lib/bundler/man/bundle-config.1 +3 -3
- data/lib/bundler/man/bundle-config.1.ronn +3 -3
- data/lib/bundler/man/bundle-doctor.1 +1 -1
- data/lib/bundler/man/bundle-exec.1 +1 -1
- data/lib/bundler/man/bundle-gem.1 +1 -1
- data/lib/bundler/man/bundle-info.1 +1 -1
- data/lib/bundler/man/bundle-init.1 +1 -1
- data/lib/bundler/man/bundle-inject.1 +1 -1
- data/lib/bundler/man/bundle-install.1 +2 -2
- data/lib/bundler/man/bundle-install.1.ronn +2 -2
- data/lib/bundler/man/bundle-list.1 +1 -1
- data/lib/bundler/man/bundle-lock.1 +1 -1
- data/lib/bundler/man/bundle-open.1 +1 -1
- data/lib/bundler/man/bundle-outdated.1 +1 -1
- data/lib/bundler/man/bundle-platform.1 +1 -1
- data/lib/bundler/man/bundle-pristine.1 +1 -1
- data/lib/bundler/man/bundle-remove.1 +1 -1
- data/lib/bundler/man/bundle-show.1 +1 -1
- data/lib/bundler/man/bundle-update.1 +2 -2
- data/lib/bundler/man/bundle-update.1.ronn +2 -1
- data/lib/bundler/man/bundle-viz.1 +1 -1
- data/lib/bundler/man/bundle.1 +1 -1
- data/lib/bundler/man/gemfile.5 +28 -2
- data/lib/bundler/man/gemfile.5.ronn +9 -1
- data/lib/bundler/plugin/api/source.rb +1 -0
- data/lib/bundler/plugin/installer.rb +1 -1
- data/lib/bundler/process_lock.rb +1 -1
- data/lib/bundler/psyched_yaml.rb +1 -13
- data/lib/bundler/resolver.rb +34 -31
- data/lib/bundler/rubygems_ext.rb +2 -0
- data/lib/bundler/rubygems_gem_installer.rb +1 -1
- data/lib/bundler/rubygems_integration.rb +11 -48
- data/lib/bundler/self_manager.rb +76 -0
- data/lib/bundler/shared_helpers.rb +4 -12
- data/lib/bundler/source/git/git_proxy.rb +2 -2
- data/lib/bundler/source/metadata.rb +1 -1
- data/lib/bundler/source/rubygems.rb +16 -12
- data/lib/bundler/source/rubygems_aggregate.rb +1 -1
- data/lib/bundler/source.rb +1 -1
- data/lib/bundler/source_list.rb +7 -29
- data/lib/bundler/templates/Executable.bundler +1 -1
- data/lib/bundler/templates/Gemfile +0 -2
- data/lib/bundler/templates/gems.rb +0 -3
- data/lib/bundler/templates/newgem/Rakefile.tt +10 -1
- data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +2 -2
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
- data/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
- data/lib/bundler/templates/newgem/standard.yml.tt +0 -2
- data/lib/bundler/templates/newgem/test/minitest/{newgem_test.rb.tt → test_newgem.rb.tt} +1 -1
- data/lib/bundler/ui/shell.rb +1 -1
- data/lib/bundler/vendor/.document +1 -0
- data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +6 -6
- data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +5 -3
- data/lib/bundler/vendor/thor/lib/thor/actions.rb +6 -2
- data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +6 -0
- data/lib/bundler/vendor/thor/lib/thor/error.rb +9 -4
- data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +19 -1
- data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +22 -4
- data/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
- data/lib/bundler/vendor/thor/lib/thor/util.rb +1 -1
- data/lib/bundler/vendor/uri/lib/uri/common.rb +17 -80
- data/lib/bundler/vendor/uri/lib/uri/ftp.rb +0 -1
- data/lib/bundler/vendor/uri/lib/uri/generic.rb +5 -6
- data/lib/bundler/vendor/uri/lib/uri/http.rb +0 -1
- data/lib/bundler/vendor/uri/lib/uri/https.rb +0 -1
- data/lib/bundler/vendor/uri/lib/uri/ldap.rb +1 -1
- data/lib/bundler/vendor/uri/lib/uri/mailto.rb +0 -1
- data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +1 -14
- data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +1 -12
- data/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
- data/lib/bundler/vendor/uri/lib/uri/ws.rb +84 -0
- data/lib/bundler/vendor/uri/lib/uri/wss.rb +22 -0
- data/lib/bundler/vendor/uri/lib/uri.rb +0 -1
- data/lib/bundler/version.rb +1 -1
- data/lib/bundler.rb +9 -3
- metadata +10 -5
- data/lib/bundler/gemdeps.rb +0 -29
data/lib/bundler/dsl.rb
CHANGED
|
@@ -18,6 +18,8 @@ module Bundler
|
|
|
18
18
|
VALID_KEYS = %w[group groups git path glob name branch ref tag require submodules
|
|
19
19
|
platform platforms type source install_if gemfile].freeze
|
|
20
20
|
|
|
21
|
+
GITHUB_PULL_REQUEST_URL = %r{\Ahttps://github\.com/([A-Za-z0-9_\-\.]+/[A-Za-z0-9_\-\.]+)/pull/(\d+)\z}.freeze
|
|
22
|
+
|
|
21
23
|
attr_reader :gemspecs
|
|
22
24
|
attr_accessor :dependencies
|
|
23
25
|
|
|
@@ -275,26 +277,24 @@ module Bundler
|
|
|
275
277
|
|
|
276
278
|
def add_git_sources
|
|
277
279
|
git_source(:github) do |repo_name|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
280
|
+
if repo_name =~ GITHUB_PULL_REQUEST_URL
|
|
281
|
+
{
|
|
282
|
+
"git" => "https://github.com/#{$1}.git",
|
|
283
|
+
"branch" => "refs/pull/#{$2}/head",
|
|
284
|
+
"ref" => nil,
|
|
285
|
+
"tag" => nil,
|
|
286
|
+
}
|
|
287
|
+
else
|
|
288
|
+
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
|
|
289
|
+
"https://github.com/#{repo_name}.git"
|
|
290
|
+
end
|
|
283
291
|
end
|
|
284
292
|
|
|
285
293
|
git_source(:gist) do |repo_name|
|
|
286
|
-
warn_deprecated_git_source(:gist, '"https://gist.github.com/#{repo_name}.git"')
|
|
287
|
-
|
|
288
294
|
"https://gist.github.com/#{repo_name}.git"
|
|
289
295
|
end
|
|
290
296
|
|
|
291
297
|
git_source(:bitbucket) do |repo_name|
|
|
292
|
-
warn_deprecated_git_source(:bitbucket, <<-'RUBY'.strip)
|
|
293
|
-
user_name, repo_name = repo_name.split("/")
|
|
294
|
-
repo_name ||= user_name
|
|
295
|
-
"https://#{user_name}@bitbucket.org/#{user_name}/#{repo_name}.git"
|
|
296
|
-
RUBY
|
|
297
|
-
|
|
298
298
|
user_name, repo_name = repo_name.split("/")
|
|
299
299
|
repo_name ||= user_name
|
|
300
300
|
"https://#{user_name}@bitbucket.org/#{user_name}/#{repo_name}.git"
|
|
@@ -365,7 +365,11 @@ repo_name ||= user_name
|
|
|
365
365
|
|
|
366
366
|
git_name = (git_names & opts.keys).last
|
|
367
367
|
if @git_sources[git_name]
|
|
368
|
-
|
|
368
|
+
git_opts = @git_sources[git_name].call(opts[git_name])
|
|
369
|
+
git_opts = { "git" => git_opts } if git_opts.is_a?(String)
|
|
370
|
+
opts.merge!(git_opts) do |key, _gemfile_value, _git_source_value|
|
|
371
|
+
raise GemfileError, %(The :#{key} option can't be used with `#{git_name}: #{opts[git_name].inspect}`)
|
|
372
|
+
end
|
|
369
373
|
end
|
|
370
374
|
|
|
371
375
|
%w[git path].each do |type|
|
|
@@ -475,22 +479,6 @@ repo_name ||= user_name
|
|
|
475
479
|
end
|
|
476
480
|
end
|
|
477
481
|
|
|
478
|
-
def warn_deprecated_git_source(name, replacement, additional_message = nil)
|
|
479
|
-
additional_message &&= " #{additional_message}"
|
|
480
|
-
replacement = if replacement.count("\n").zero?
|
|
481
|
-
"{|repo_name| #{replacement} }"
|
|
482
|
-
else
|
|
483
|
-
"do |repo_name|\n#{replacement.to_s.gsub(/^/, " ")}\n end"
|
|
484
|
-
end
|
|
485
|
-
|
|
486
|
-
Bundler::SharedHelpers.major_deprecation 3, <<-EOS
|
|
487
|
-
The :#{name} git source is deprecated, and will be removed in the future.#{additional_message} Add this code to the top of your Gemfile to ensure it continues to work:
|
|
488
|
-
|
|
489
|
-
git_source(:#{name}) #{replacement}
|
|
490
|
-
|
|
491
|
-
EOS
|
|
492
|
-
end
|
|
493
|
-
|
|
494
482
|
class DSLError < GemfileError
|
|
495
483
|
# @return [String] the description that should be presented to the user.
|
|
496
484
|
#
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
module Bundler
|
|
4
4
|
# used for Creating Specifications from the Gemcutter Endpoint
|
|
5
5
|
class EndpointSpecification < Gem::Specification
|
|
6
|
-
ILLFORMED_MESSAGE = 'Ill-formed requirement ["#<YAML::Syck::DefaultKey'.freeze
|
|
7
6
|
include MatchPlatform
|
|
8
7
|
|
|
9
8
|
attr_reader :name, :version, :platform, :required_rubygems_version, :required_ruby_version, :checksum
|
|
@@ -129,13 +128,6 @@ module Bundler
|
|
|
129
128
|
|
|
130
129
|
def build_dependency(name, requirements)
|
|
131
130
|
Gem::Dependency.new(name, requirements)
|
|
132
|
-
rescue ArgumentError => e
|
|
133
|
-
raise unless e.message.include?(ILLFORMED_MESSAGE)
|
|
134
|
-
puts # we shouldn't print the error message on the "fetching info" status line
|
|
135
|
-
raise GemspecError,
|
|
136
|
-
"Unfortunately, the gem #{name} (#{version}) has an invalid " \
|
|
137
|
-
"gemspec.\nPlease ask the gem author to yank the bad version to fix " \
|
|
138
|
-
"this issue. For more information, see http://bit.ly/syck-defaultkey."
|
|
139
131
|
end
|
|
140
132
|
end
|
|
141
133
|
end
|
|
@@ -38,7 +38,10 @@ module Bundler
|
|
|
38
38
|
|
|
39
39
|
# Replaces `ENV` with the bundler environment variables backed up
|
|
40
40
|
def replace_with_backup
|
|
41
|
-
|
|
41
|
+
unless Gem.win_platform?
|
|
42
|
+
ENV.replace(backup)
|
|
43
|
+
return
|
|
44
|
+
end
|
|
42
45
|
|
|
43
46
|
# Fallback logic for Windows below to workaround
|
|
44
47
|
# https://bugs.ruby-lang.org/issues/16798. Can be dropped once all
|
|
@@ -68,11 +68,16 @@ module Bundler
|
|
|
68
68
|
compact_index_request :fetch_spec
|
|
69
69
|
|
|
70
70
|
def available?
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
unless SharedHelpers.md5_available?
|
|
72
|
+
Bundler.ui.debug("FIPS mode is enabled, bundler can't use the CompactIndex API")
|
|
73
|
+
return nil
|
|
74
|
+
end
|
|
75
|
+
if fetch_uri.scheme == "file"
|
|
76
|
+
Bundler.ui.debug("Using a local server, bundler won't use the CompactIndex API")
|
|
77
|
+
return false
|
|
78
|
+
end
|
|
74
79
|
# Read info file checksums out of /versions, so we can know if gems are up to date
|
|
75
|
-
|
|
80
|
+
compact_index_client.update_and_parse_checksums!
|
|
76
81
|
rescue CompactIndexClient::Updater::MisMatchedChecksumError => e
|
|
77
82
|
Bundler.ui.debug(e.message)
|
|
78
83
|
nil
|
data/lib/bundler/fetcher.rb
CHANGED
|
@@ -71,8 +71,8 @@ module Bundler
|
|
|
71
71
|
:HTTPUnsupportedMediaType, :HTTPVersionNotSupported].freeze
|
|
72
72
|
FAIL_ERRORS = begin
|
|
73
73
|
fail_errors = [AuthenticationRequiredError, BadAuthenticationError, FallbackError]
|
|
74
|
-
fail_errors << Gem::Requirement::BadRequirementError
|
|
75
|
-
fail_errors.concat(NET_ERRORS.map {|e|
|
|
74
|
+
fail_errors << Gem::Requirement::BadRequirementError
|
|
75
|
+
fail_errors.concat(NET_ERRORS.map {|e| Net.const_get(e) })
|
|
76
76
|
end.freeze
|
|
77
77
|
|
|
78
78
|
class << self
|
|
@@ -122,7 +122,6 @@ module Bundler
|
|
|
122
122
|
|
|
123
123
|
# return the specs in the bundler format as an index
|
|
124
124
|
def specs(gem_names, source)
|
|
125
|
-
old = Bundler.rubygems.sources
|
|
126
125
|
index = Bundler::Index.new
|
|
127
126
|
|
|
128
127
|
if Bundler::Fetcher.disable_endpoint
|
|
@@ -153,8 +152,6 @@ module Bundler
|
|
|
153
152
|
rescue CertificateFailureError
|
|
154
153
|
Bundler.ui.info "" if gem_names && use_api # newline after dots
|
|
155
154
|
raise
|
|
156
|
-
ensure
|
|
157
|
-
Bundler.rubygems.sources = old
|
|
158
155
|
end
|
|
159
156
|
|
|
160
157
|
def use_api
|
data/lib/bundler/gem_helper.rb
CHANGED
|
@@ -129,8 +129,8 @@ module Bundler
|
|
|
129
129
|
|
|
130
130
|
def git_push(remote = nil)
|
|
131
131
|
remote ||= default_remote
|
|
132
|
-
sh(
|
|
133
|
-
sh(
|
|
132
|
+
sh("git push #{remote} refs/heads/#{current_branch}".shellsplit)
|
|
133
|
+
sh("git push #{remote} refs/tags/#{version_tag}".shellsplit)
|
|
134
134
|
Bundler.ui.confirm "Pushed git commits and release tag."
|
|
135
135
|
end
|
|
136
136
|
|
data/lib/bundler/injector.rb
CHANGED
|
@@ -112,9 +112,12 @@ module Bundler
|
|
|
112
112
|
|
|
113
113
|
source = ", :source => \"#{d.source}\"" unless d.source.nil?
|
|
114
114
|
git = ", :git => \"#{d.git}\"" unless d.git.nil?
|
|
115
|
+
github = ", :github => \"#{d.github}\"" unless d.github.nil?
|
|
115
116
|
branch = ", :branch => \"#{d.branch}\"" unless d.branch.nil?
|
|
117
|
+
ref = ", :ref => \"#{d.ref}\"" unless d.ref.nil?
|
|
118
|
+
require_path = ", :require => #{convert_autorequire(d.autorequire)}" unless d.autorequire.nil?
|
|
116
119
|
|
|
117
|
-
%(gem #{name}#{requirement}#{group}#{source}#{git}#{branch})
|
|
120
|
+
%(gem #{name}#{requirement}#{group}#{source}#{git}#{github}#{branch}#{ref}#{require_path})
|
|
118
121
|
end.join("\n")
|
|
119
122
|
end
|
|
120
123
|
|
|
@@ -269,5 +272,11 @@ module Bundler
|
|
|
269
272
|
def show_warning(message)
|
|
270
273
|
Bundler.ui.info Bundler.ui.add_color(message, :yellow)
|
|
271
274
|
end
|
|
275
|
+
|
|
276
|
+
def convert_autorequire(autorequire)
|
|
277
|
+
autorequire = autorequire.first
|
|
278
|
+
return autorequire if autorequire == "false"
|
|
279
|
+
autorequire.inspect
|
|
280
|
+
end
|
|
272
281
|
end
|
|
273
282
|
end
|
|
@@ -13,7 +13,7 @@ module Bundler
|
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
def install_from_spec
|
|
16
|
-
post_install_message =
|
|
16
|
+
post_install_message = install
|
|
17
17
|
Bundler.ui.debug "#{worker}: #{spec.name} (#{spec.version}) from #{spec.loaded_from}"
|
|
18
18
|
generate_executable_stubs
|
|
19
19
|
return true, post_install_message
|
|
@@ -54,11 +54,6 @@ module Bundler
|
|
|
54
54
|
spec.source.install(spec, :force => force, :ensure_builtin_gems_cached => standalone, :build_args => Array(spec_settings))
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
-
def install_with_settings
|
|
58
|
-
# Build arguments are global, so this is mutexed
|
|
59
|
-
Bundler.rubygems.install_with_build_args([spec_settings]) { install }
|
|
60
|
-
end
|
|
61
|
-
|
|
62
57
|
def out_of_space_message
|
|
63
58
|
"#{install_error_message}\nYour disk is out of space. Free some space to be able to install your bundle."
|
|
64
59
|
end
|
data/lib/bundler/installer.rb
CHANGED
|
@@ -218,9 +218,6 @@ module Bundler
|
|
|
218
218
|
return jobs
|
|
219
219
|
end
|
|
220
220
|
|
|
221
|
-
# Parallelization has some issues on Windows, so it's not yet the default
|
|
222
|
-
return 1 if Gem.win_platform?
|
|
223
|
-
|
|
224
221
|
Bundler.settings.processor_count
|
|
225
222
|
end
|
|
226
223
|
|
|
@@ -242,7 +239,7 @@ module Bundler
|
|
|
242
239
|
|
|
243
240
|
def ensure_specs_are_compatible!
|
|
244
241
|
system_ruby = Bundler::RubyVersion.system
|
|
245
|
-
rubygems_version =
|
|
242
|
+
rubygems_version = Bundler.rubygems.version
|
|
246
243
|
@definition.specs.each do |spec|
|
|
247
244
|
if required_ruby_version = spec.required_ruby_version
|
|
248
245
|
unless required_ruby_version.satisfied_by?(system_ruby.gem_version)
|
|
@@ -38,8 +38,24 @@ module Bundler
|
|
|
38
38
|
identifier.hash
|
|
39
39
|
end
|
|
40
40
|
|
|
41
|
+
##
|
|
42
|
+
# Does this locked specification satisfy +dependency+?
|
|
43
|
+
#
|
|
44
|
+
# NOTE: Rubygems default requirement is ">= 0", which doesn't match
|
|
45
|
+
# prereleases of 0 versions, like "0.0.0.dev" or "0.0.0.SNAPSHOT". However,
|
|
46
|
+
# bundler users expect those to work. We need to make sure that Gemfile
|
|
47
|
+
# dependencies without explicit requirements (which use ">= 0" under the
|
|
48
|
+
# hood by default) are still valid for locked specs using this kind of
|
|
49
|
+
# versions. The method implements an ad-hoc fix for that. A better solution
|
|
50
|
+
# might be to change default rubygems requirement of dependencies to be ">=
|
|
51
|
+
# 0.A" but that's a major refactoring likely to break things. Hopefully we
|
|
52
|
+
# can attempt it in the future.
|
|
53
|
+
#
|
|
54
|
+
|
|
41
55
|
def satisfies?(dependency)
|
|
42
|
-
|
|
56
|
+
effective_requirement = dependency.requirement == Gem::Requirement.default ? Gem::Requirement.new(">= 0.A") : dependency.requirement
|
|
57
|
+
|
|
58
|
+
@name == dependency.name && effective_requirement.satisfied_by?(Gem::Version.new(@version))
|
|
43
59
|
end
|
|
44
60
|
|
|
45
61
|
def to_lock
|
|
@@ -46,6 +46,16 @@ module Bundler
|
|
|
46
46
|
attributes
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
+
def self.bundled_with
|
|
50
|
+
lockfile = Bundler.default_lockfile
|
|
51
|
+
return unless lockfile.file?
|
|
52
|
+
|
|
53
|
+
lockfile_contents = Bundler.read_file(lockfile)
|
|
54
|
+
return unless lockfile_contents.include?(BUNDLED)
|
|
55
|
+
|
|
56
|
+
lockfile_contents.split(BUNDLED).last.strip
|
|
57
|
+
end
|
|
58
|
+
|
|
49
59
|
def initialize(lockfile)
|
|
50
60
|
@platforms = []
|
|
51
61
|
@sources = []
|
|
@@ -77,25 +87,12 @@ module Bundler
|
|
|
77
87
|
end
|
|
78
88
|
end
|
|
79
89
|
@specs = @specs.values.sort_by(&:identifier)
|
|
80
|
-
warn_for_outdated_bundler_version
|
|
81
90
|
rescue ArgumentError => e
|
|
82
91
|
Bundler.ui.debug(e)
|
|
83
92
|
raise LockfileError, "Your lockfile is unreadable. Run `rm #{Bundler.default_lockfile.relative_path_from(SharedHelpers.pwd)}` " \
|
|
84
93
|
"and then `bundle install` to generate a new lockfile."
|
|
85
94
|
end
|
|
86
95
|
|
|
87
|
-
def warn_for_outdated_bundler_version
|
|
88
|
-
return unless bundler_version
|
|
89
|
-
return if bundler_version.segments.last == "dev"
|
|
90
|
-
prerelease_text = bundler_version.prerelease? ? " --pre" : ""
|
|
91
|
-
current_version = Gem::Version.create(Bundler::VERSION)
|
|
92
|
-
return unless current_version < bundler_version
|
|
93
|
-
Bundler.ui.warn "Warning: the running version of Bundler (#{current_version}) is older " \
|
|
94
|
-
"than the version that created the lockfile (#{bundler_version}). We suggest you to " \
|
|
95
|
-
"upgrade to the version that created the lockfile by running `gem install " \
|
|
96
|
-
"bundler:#{bundler_version}#{prerelease_text}`.\n"
|
|
97
|
-
end
|
|
98
|
-
|
|
99
96
|
private
|
|
100
97
|
|
|
101
98
|
TYPES = {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-ADD" "1" "
|
|
4
|
+
.TH "BUNDLE\-ADD" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
|
|
8
8
|
.
|
|
9
9
|
.SH "SYNOPSIS"
|
|
10
|
-
\fBbundle add\fR \fIGEM_NAME\fR [\-\-group=GROUP] [\-\-version=VERSION] [\-\-source=SOURCE] [\-\-git=GIT] [\-\-branch=BRANCH] [\-\-skip\-install] [\-\-strict] [\-\-optimistic]
|
|
10
|
+
\fBbundle add\fR \fIGEM_NAME\fR [\-\-group=GROUP] [\-\-version=VERSION] [\-\-source=SOURCE] [\-\-git=GIT] [\-\-github=GITHUB] [\-\-branch=BRANCH] [\-\-ref=REF] [\-\-skip\-install] [\-\-strict] [\-\-optimistic]
|
|
11
11
|
.
|
|
12
12
|
.SH "DESCRIPTION"
|
|
13
13
|
Adds the named gem to the Gemfile and run \fBbundle install\fR\. \fBbundle install\fR can be avoided by using the flag \fB\-\-skip\-install\fR\.
|
|
@@ -49,10 +49,18 @@ Specify the source for the added gem\.
|
|
|
49
49
|
Specify the git source for the added gem\.
|
|
50
50
|
.
|
|
51
51
|
.TP
|
|
52
|
+
\fB\-\-github\fR
|
|
53
|
+
Specify the github source for the added gem\.
|
|
54
|
+
.
|
|
55
|
+
.TP
|
|
52
56
|
\fB\-\-branch\fR
|
|
53
57
|
Specify the git branch for the added gem\.
|
|
54
58
|
.
|
|
55
59
|
.TP
|
|
60
|
+
\fB\-\-ref\fR
|
|
61
|
+
Specify the git ref for the added gem\.
|
|
62
|
+
.
|
|
63
|
+
.TP
|
|
56
64
|
\fB\-\-skip\-install\fR
|
|
57
65
|
Adds the gem to the Gemfile but does not install it\.
|
|
58
66
|
.
|
|
@@ -3,7 +3,7 @@ bundle-add(1) -- Add gem to the Gemfile and run bundle install
|
|
|
3
3
|
|
|
4
4
|
## SYNOPSIS
|
|
5
5
|
|
|
6
|
-
`bundle add` <GEM_NAME> [--group=GROUP] [--version=VERSION] [--source=SOURCE] [--git=GIT] [--branch=BRANCH] [--skip-install] [--strict] [--optimistic]
|
|
6
|
+
`bundle add` <GEM_NAME> [--group=GROUP] [--version=VERSION] [--source=SOURCE] [--git=GIT] [--github=GITHUB] [--branch=BRANCH] [--ref=REF] [--skip-install] [--strict] [--optimistic]
|
|
7
7
|
|
|
8
8
|
## DESCRIPTION
|
|
9
9
|
Adds the named gem to the Gemfile and run `bundle install`. `bundle install` can be avoided by using the flag `--skip-install`.
|
|
@@ -33,9 +33,15 @@ bundle add rails --group "development, test"
|
|
|
33
33
|
* `--git`:
|
|
34
34
|
Specify the git source for the added gem.
|
|
35
35
|
|
|
36
|
+
* `--github`:
|
|
37
|
+
Specify the github source for the added gem.
|
|
38
|
+
|
|
36
39
|
* `--branch`:
|
|
37
40
|
Specify the git branch for the added gem.
|
|
38
41
|
|
|
42
|
+
* `--ref`:
|
|
43
|
+
Specify the git ref for the added gem.
|
|
44
|
+
|
|
39
45
|
* `--skip-install`:
|
|
40
46
|
Adds the gem to the Gemfile but does not install it.
|
|
41
47
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-BINSTUBS" "1" "
|
|
4
|
+
.TH "BUNDLE\-BINSTUBS" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-CACHE" "1" "
|
|
4
|
+
.TH "BUNDLE\-CACHE" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-CHECK" "1" "
|
|
4
|
+
.TH "BUNDLE\-CHECK" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-CLEAN" "1" "
|
|
4
|
+
.TH "BUNDLE\-CLEAN" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-CONFIG" "1" "
|
|
4
|
+
.TH "BUNDLE\-CONFIG" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-config\fR \- Set bundler configuration options
|
|
@@ -211,7 +211,7 @@ The following is a list of all configuration keys and their purpose\. You can le
|
|
|
211
211
|
\fBinit_gems_rb\fR (\fBBUNDLE_INIT_GEMS_RB\fR): Generate a \fBgems\.rb\fR instead of a \fBGemfile\fR when running \fBbundle init\fR\.
|
|
212
212
|
.
|
|
213
213
|
.IP "\(bu" 4
|
|
214
|
-
\fBjobs\fR (\fBBUNDLE_JOBS\fR): The number of gems Bundler can install in parallel\. Defaults to
|
|
214
|
+
\fBjobs\fR (\fBBUNDLE_JOBS\fR): The number of gems Bundler can install in parallel\. Defaults to the number of available processors\.
|
|
215
215
|
.
|
|
216
216
|
.IP "\(bu" 4
|
|
217
217
|
\fBno_install\fR (\fBBUNDLE_NO_INSTALL\fR): Whether \fBbundle package\fR should skip installing gems\.
|
|
@@ -449,7 +449,7 @@ export BUNDLE_GITHUB__COM=username:password
|
|
|
449
449
|
.IP "" 0
|
|
450
450
|
.
|
|
451
451
|
.P
|
|
452
|
-
This is especially useful for private repositories on hosts such as
|
|
452
|
+
This is especially useful for private repositories on hosts such as GitHub, where you can use personal OAuth tokens:
|
|
453
453
|
.
|
|
454
454
|
.IP "" 4
|
|
455
455
|
.
|
|
@@ -208,8 +208,8 @@ learn more about their operation in [bundle install(1)](bundle-install.1.html).
|
|
|
208
208
|
* `init_gems_rb` (`BUNDLE_INIT_GEMS_RB`):
|
|
209
209
|
Generate a `gems.rb` instead of a `Gemfile` when running `bundle init`.
|
|
210
210
|
* `jobs` (`BUNDLE_JOBS`):
|
|
211
|
-
The number of gems Bundler can install in parallel. Defaults to
|
|
212
|
-
|
|
211
|
+
The number of gems Bundler can install in parallel. Defaults to the number of
|
|
212
|
+
available processors.
|
|
213
213
|
* `no_install` (`BUNDLE_NO_INSTALL`):
|
|
214
214
|
Whether `bundle package` should skip installing gems.
|
|
215
215
|
* `no_prune` (`BUNDLE_NO_PRUNE`):
|
|
@@ -360,7 +360,7 @@ Or you can set the credentials as an environment variable like so:
|
|
|
360
360
|
|
|
361
361
|
export BUNDLE_GITHUB__COM=username:password
|
|
362
362
|
|
|
363
|
-
This is especially useful for private repositories on hosts such as
|
|
363
|
+
This is especially useful for private repositories on hosts such as GitHub,
|
|
364
364
|
where you can use personal OAuth tokens:
|
|
365
365
|
|
|
366
366
|
export BUNDLE_GITHUB__COM=abcd0123generatedtoken:x-oauth-basic
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-GEM" "1" "
|
|
4
|
+
.TH "BUNDLE\-GEM" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-INFO" "1" "
|
|
4
|
+
.TH "BUNDLE\-INFO" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-info\fR \- Show information for the given gem in your bundle
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-INIT" "1" "
|
|
4
|
+
.TH "BUNDLE\-INIT" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-INJECT" "1" "
|
|
4
|
+
.TH "BUNDLE\-INJECT" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-INSTALL" "1" "
|
|
4
|
+
.TH "BUNDLE\-INSTALL" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
|
|
@@ -63,7 +63,7 @@ The location of the Gemfile(5) which Bundler should use\. This defaults to a Gem
|
|
|
63
63
|
.
|
|
64
64
|
.TP
|
|
65
65
|
\fB\-\-jobs=[<number>]\fR, \fB\-j[<number>]\fR
|
|
66
|
-
The maximum number of parallel download and install jobs\. The default is
|
|
66
|
+
The maximum number of parallel download and install jobs\. The default is the number of available processors\.
|
|
67
67
|
.
|
|
68
68
|
.TP
|
|
69
69
|
\fB\-\-local\fR
|
|
@@ -100,8 +100,8 @@ automatically and that requires `bundler` to silently remember them. Since
|
|
|
100
100
|
to this location.
|
|
101
101
|
|
|
102
102
|
* `--jobs=[<number>]`, `-j[<number>]`:
|
|
103
|
-
The maximum number of parallel download and install jobs. The default
|
|
104
|
-
|
|
103
|
+
The maximum number of parallel download and install jobs. The default is the
|
|
104
|
+
number of available processors.
|
|
105
105
|
|
|
106
106
|
* `--local`:
|
|
107
107
|
Do not attempt to connect to `rubygems.org`. Instead, Bundler will use the
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-LOCK" "1" "
|
|
4
|
+
.TH "BUNDLE\-LOCK" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-lock\fR \- Creates / Updates a lockfile without installing
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-OPEN" "1" "
|
|
4
|
+
.TH "BUNDLE\-OPEN" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-OUTDATED" "1" "
|
|
4
|
+
.TH "BUNDLE\-OUTDATED" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-outdated\fR \- List installed gems with newer versions available
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-PLATFORM" "1" "
|
|
4
|
+
.TH "BUNDLE\-PLATFORM" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-platform\fR \- Displays platform compatibility information
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-PRISTINE" "1" "
|
|
4
|
+
.TH "BUNDLE\-PRISTINE" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
|
3
3
|
.
|
|
4
|
-
.TH "BUNDLE\-SHOW" "1" "
|
|
4
|
+
.TH "BUNDLE\-SHOW" "1" "December 2021" "" ""
|
|
5
5
|
.
|
|
6
6
|
.SH "NAME"
|
|
7
7
|
\fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
|