summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/bundler.gemspec6
-rw-r--r--lib/bundler.rb4
-rw-r--r--lib/bundler/build_metadata.rb2
-rw-r--r--lib/bundler/capistrano.rb2
-rw-r--r--lib/bundler/cli.rb10
-rw-r--r--lib/bundler/cli/console.rb2
-rw-r--r--lib/bundler/cli/install.rb2
-rw-r--r--lib/bundler/cli/update.rb2
-rw-r--r--lib/bundler/current_ruby.rb1
-rw-r--r--lib/bundler/definition.rb2
-rw-r--r--lib/bundler/deployment.rb2
-rw-r--r--lib/bundler/dsl.rb16
-rw-r--r--lib/bundler/feature_flag.rb59
-rw-r--r--lib/bundler/rubygems_integration.rb2
-rw-r--r--lib/bundler/settings.rb3
-rw-r--r--lib/bundler/shared_helpers.rb4
-rw-r--r--lib/bundler/source/metadata.rb5
-rw-r--r--lib/bundler/spec_set.rb28
-rw-r--r--lib/bundler/templates/newgem/Gemfile.tt2
-rw-r--r--lib/bundler/version.rb2
-rw-r--r--lib/bundler/vlad.rb2
-rwxr-xr-xlibexec/bundle_ruby2
-rw-r--r--man/bundle-add.1.txt4
-rw-r--r--man/bundle-check.1.txt4
-rw-r--r--man/bundle-config.12
-rw-r--r--man/bundle-config.1.txt177
-rw-r--r--man/bundle-exec.1.txt30
-rw-r--r--man/bundle-gem.1.txt22
-rw-r--r--man/bundle-install.12
-rw-r--r--man/bundle-install.1.txt74
-rw-r--r--man/bundle-lock.1.txt14
-rw-r--r--man/bundle-outdated.1.txt14
-rw-r--r--man/bundle-package.1.txt16
-rw-r--r--man/bundle-pristine.1.txt6
-rw-r--r--man/bundle-remove.1.txt4
-rw-r--r--man/bundle-update.12
-rw-r--r--man/bundle-update.1.txt56
-rw-r--r--man/bundle.16
-rw-r--r--man/bundle.1.txt9
-rw-r--r--man/bundle.ronn3
-rw-r--r--man/gemfile.510
-rw-r--r--man/gemfile.5.ronn8
-rw-r--r--man/gemfile.5.txt70
-rw-r--r--spec/bundler/bundler/cli_spec.rb6
-rw-r--r--spec/bundler/bundler/definition_spec.rb8
-rw-r--r--spec/bundler/bundler/dsl_spec.rb8
-rw-r--r--spec/bundler/bundler/source_list_spec.rb6
-rw-r--r--spec/bundler/cache/path_spec.rb2
-rw-r--r--spec/bundler/commands/binstubs_spec.rb29
-rw-r--r--spec/bundler/commands/check_spec.rb6
-rw-r--r--spec/bundler/commands/clean_spec.rb8
-rw-r--r--spec/bundler/commands/console_spec.rb2
-rw-r--r--spec/bundler/commands/exec_spec.rb48
-rw-r--r--spec/bundler/commands/init_spec.rb18
-rw-r--r--spec/bundler/commands/inject_spec.rb4
-rw-r--r--spec/bundler/commands/install_spec.rb8
-rw-r--r--spec/bundler/commands/list_spec.rb2
-rw-r--r--spec/bundler/commands/outdated_spec.rb2
-rw-r--r--spec/bundler/commands/package_spec.rb2
-rw-r--r--spec/bundler/commands/pristine_spec.rb2
-rw-r--r--spec/bundler/commands/show_spec.rb10
-rw-r--r--spec/bundler/commands/update_spec.rb28
-rw-r--r--spec/bundler/commands/version_spec.rb12
-rw-r--r--spec/bundler/commands/viz_spec.rb2
-rw-r--r--spec/bundler/install/binstubs_spec.rb4
-rw-r--r--spec/bundler/install/deploy_spec.rb10
-rw-r--r--spec/bundler/install/gemfile/gemspec_spec.rb4
-rw-r--r--spec/bundler/install/gemfile/git_spec.rb2
-rw-r--r--spec/bundler/install/gemfile/groups_spec.rb6
-rw-r--r--spec/bundler/install/gemfile/path_spec.rb2
-rw-r--r--spec/bundler/install/gemfile/platform_spec.rb2
-rw-r--r--spec/bundler/install/gemfile/sources_spec.rb8
-rw-r--r--spec/bundler/install/gems/compact_index_spec.rb16
-rw-r--r--spec/bundler/install/gems/dependency_api_spec.rb16
-rw-r--r--spec/bundler/install/gems/flex_spec.rb4
-rw-r--r--spec/bundler/install/gems/standalone_spec.rb6
-rw-r--r--spec/bundler/install/git_spec.rb4
-rw-r--r--spec/bundler/install/path_spec.rb12
-rw-r--r--spec/bundler/install/post_bundle_message_spec.rb6
-rw-r--r--spec/bundler/install/redownload_spec.rb6
-rw-r--r--spec/bundler/lock/lockfile_bundler_1_spec.rb8
-rw-r--r--spec/bundler/lock/lockfile_spec.rb4
-rw-r--r--spec/bundler/other/bundle_ruby_spec.rb2
-rw-r--r--spec/bundler/other/major_deprecation_spec.rb20
-rw-r--r--spec/bundler/other/platform_spec.rb12
-rw-r--r--spec/bundler/plugins/source/example_spec.rb8
-rw-r--r--spec/bundler/quality_spec.rb7
-rw-r--r--spec/bundler/realworld/edgecases_spec.rb6
-rw-r--r--spec/bundler/runtime/executable_spec.rb4
-rw-r--r--spec/bundler/runtime/setup_spec.rb8
-rw-r--r--spec/bundler/runtime/with_clean_env_spec.rb8
-rw-r--r--spec/bundler/spec_helper.rb2
-rw-r--r--spec/bundler/support/helpers.rb6
-rw-r--r--spec/bundler/support/path.rb6
-rw-r--r--spec/bundler/support/platforms.rb2
-rw-r--r--spec/bundler/update/git_spec.rb4
-rw-r--r--spec/bundler/update/redownload_spec.rb10
97 files changed, 579 insertions, 552 deletions
diff --git a/lib/bundler.gemspec b/lib/bundler.gemspec
index 2b2bb412d5..f9d456204e 100644
--- a/lib/bundler.gemspec
+++ b/lib/bundler.gemspec
@@ -8,8 +8,6 @@ rescue LoadError
require File.expand_path("../bundler/version", __FILE__)
end
-require "shellwords"
-
Gem::Specification.new do |s|
s.name = "bundler"
s.version = Bundler::VERSION
@@ -49,7 +47,9 @@ Gem::Specification.new do |s|
s.add_development_dependency "ronn", "~> 0.7.3"
s.add_development_dependency "rspec", "~> 3.6"
- # s.files = `git ls-files -z`.split("\x0").select {|f| f.match(%r{^(lib|exe)/}) }
+ # base_dir = File.dirname(__FILE__).gsub(%r{([^A-Za-z0-9_\-.,:\/@\n])}, "\\\\\\1")
+ # s.files = IO.popen("git -C #{base_dir} ls-files -z", &:read).split("\x0").select {|f| f.match(%r{^(lib|exe)/}) }
+
# we don't check in man pages, but we need to ship them because
# we use them to generate the long-form help for each command.
# s.files += Dir.glob("man/**/*")
diff --git a/lib/bundler.rb b/lib/bundler.rb
index 1cb3b4fb21..cf3a289df2 100644
--- a/lib/bundler.rb
+++ b/lib/bundler.rb
@@ -119,7 +119,7 @@ module Bundler
end
def environment
- SharedHelpers.major_deprecation 2, "Bundler.environment has been removed in favor of Bundler.load"
+ SharedHelpers.major_deprecation 3, "Bundler.environment has been removed in favor of Bundler.load"
load
end
@@ -283,7 +283,7 @@ EOF
# @deprecated Use `original_env` instead
# @return [Hash] Environment with all bundler-related variables removed
def clean_env
- Bundler::SharedHelpers.major_deprecation(2, "`Bundler.clean_env` has weird edge cases, use `.original_env` instead")
+ Bundler::SharedHelpers.major_deprecation(3, "`Bundler.clean_env` has weird edge cases, use `.original_env` instead")
env = original_env
if env.key?("BUNDLER_ORIG_MANPATH")
diff --git a/lib/bundler/build_metadata.rb b/lib/bundler/build_metadata.rb
index 6146f16cb6..33f91e9162 100644
--- a/lib/bundler/build_metadata.rb
+++ b/lib/bundler/build_metadata.rb
@@ -4,8 +4,6 @@ module Bundler
# Represents metadata from when the Bundler gem was built.
module BuildMetadata
# begin ivars
- @built_at = "2018-12-19".freeze
- @git_commit_sha = "3fc4de72b".freeze
@release = false
# end ivars
diff --git a/lib/bundler/capistrano.rb b/lib/bundler/capistrano.rb
index 1b7145b72b..40e2e5dbe8 100644
--- a/lib/bundler/capistrano.rb
+++ b/lib/bundler/capistrano.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
require "bundler/shared_helpers"
-Bundler::SharedHelpers.major_deprecation 2,
+Bundler::SharedHelpers.major_deprecation 3,
"The Bundler task for Capistrano. Please use http://github.com/capistrano/bundler"
# Capistrano task for Bundler.
diff --git a/lib/bundler/cli.rb b/lib/bundler/cli.rb
index e658ffce72..3efe193613 100644
--- a/lib/bundler/cli.rb
+++ b/lib/bundler/cli.rb
@@ -229,7 +229,7 @@ module Bundler
"Include gems that are part of the specified named group."
map "i" => "install"
def install
- SharedHelpers.major_deprecation(2, "The `--force` option has been renamed to `--redownload`") if ARGV.include?("--force")
+ SharedHelpers.major_deprecation(3, "The `--force` option has been renamed to `--redownload`") if ARGV.include?("--force")
require "bundler/cli/install"
Bundler.settings.temporary(:no_install => false) do
Install.new(options.dup).run
@@ -275,7 +275,7 @@ module Bundler
method_option "all", :type => :boolean, :banner =>
"Update everything."
def update(*gems)
- SharedHelpers.major_deprecation(2, "The `--force` option has been renamed to `--redownload`") if ARGV.include?("--force")
+ SharedHelpers.major_deprecation(3, "The `--force` option has been renamed to `--redownload`") if ARGV.include?("--force")
require "bundler/cli/update"
Update.new(options, gems).run
end
@@ -303,7 +303,7 @@ module Bundler
old_argv = ARGV.join(" ")
new_argv = [new_command, *new_arguments.compact].join(" ")
- Bundler::SharedHelpers.major_deprecation(2, "use `bundle #{new_argv}` instead of `bundle #{old_argv}`")
+ Bundler::SharedHelpers.major_deprecation(3, "use `bundle #{new_argv}` instead of `bundle #{old_argv}`")
end
require "bundler/cli/show"
Show.new(options, gem_name).run
@@ -537,7 +537,7 @@ module Bundler
method_option :version, :type => :boolean, :default => false, :aliases => "-v", :desc => "Set to show each gem version."
method_option :without, :type => :array, :default => [], :aliases => "-W", :banner => "GROUP[ GROUP...]", :desc => "Exclude gems that are part of the specified named group."
def viz
- SharedHelpers.major_deprecation 2, "The `viz` command has been moved to the `bundle-viz` gem, see https://github.com/bundler/bundler-viz"
+ SharedHelpers.major_deprecation 3, "The `viz` command has been moved to the `bundle-viz` gem, see https://github.com/bundler/bundler-viz"
require "bundler/cli/viz"
Viz.new(options.dup).run
end
@@ -608,7 +608,7 @@ module Bundler
method_option "group", :type => :string, :banner =>
"Install gem into a bundler group"
def inject(name, version)
- SharedHelpers.major_deprecation 2, "The `inject` command has been replaced by the `add` command"
+ SharedHelpers.major_deprecation 3, "The `inject` command has been replaced by the `add` command"
require "bundler/cli/inject"
Inject.new(options.dup, name, version).run
end
diff --git a/lib/bundler/cli/console.rb b/lib/bundler/cli/console.rb
index 853eca8358..d45f30cdcf 100644
--- a/lib/bundler/cli/console.rb
+++ b/lib/bundler/cli/console.rb
@@ -9,7 +9,7 @@ module Bundler
end
def run
- Bundler::SharedHelpers.major_deprecation 2, "bundle console will be replaced " \
+ Bundler::SharedHelpers.major_deprecation 3, "bundle console will be replaced " \
"by `bin/console` generated by `bundle gem <name>`"
group ? Bundler.require(:default, *(group.split.map!(&:to_sym))) : Bundler.require
diff --git a/lib/bundler/cli/install.rb b/lib/bundler/cli/install.rb
index b40e5f0e9e..55e90ead0e 100644
--- a/lib/bundler/cli/install.rb
+++ b/lib/bundler/cli/install.rb
@@ -53,7 +53,7 @@ module Bundler
Bundler::Fetcher.disable_endpoint = options["full-index"]
if options["binstubs"]
- Bundler::SharedHelpers.major_deprecation 2,
+ Bundler::SharedHelpers.major_deprecation 3,
"The --binstubs option will be removed in favor of `bundle binstubs`"
end
diff --git a/lib/bundler/cli/update.rb b/lib/bundler/cli/update.rb
index b088853768..bf300a8437 100644
--- a/lib/bundler/cli/update.rb
+++ b/lib/bundler/cli/update.rb
@@ -22,7 +22,7 @@ module Bundler
if Bundler.feature_flag.update_requires_all_flag?
raise InvalidOption, "To update everything, pass the `--all` flag."
end
- SharedHelpers.major_deprecation 2, "Pass --all to `bundle update` to update everything"
+ SharedHelpers.major_deprecation 3, "Pass --all to `bundle update` to update everything"
elsif !full_update && options[:all]
raise InvalidOption, "Cannot specify --all along with specific options."
end
diff --git a/lib/bundler/current_ruby.rb b/lib/bundler/current_ruby.rb
index d5efaad6c5..ae5fae841e 100644
--- a/lib/bundler/current_ruby.rb
+++ b/lib/bundler/current_ruby.rb
@@ -19,6 +19,7 @@ module Bundler
2.4
2.5
2.6
+ 2.7
].freeze
KNOWN_MAJOR_VERSIONS = KNOWN_MINOR_VERSIONS.map {|v| v.split(".", 2).first }.uniq.freeze
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb
index 8e56d4a9bc..c5e94c7123 100644
--- a/lib/bundler/definition.rb
+++ b/lib/bundler/definition.rb
@@ -331,7 +331,7 @@ module Bundler
# i.e., Windows with `git config core.autocrlf=true`
contents.gsub!(/\n/, "\r\n") if @lockfile_contents.match("\r\n")
- if @locked_bundler_version
+ if @locked_bundler_version && Bundler.feature_flag.lockfile_upgrade_warning?
locked_major = @locked_bundler_version.segments.first
current_major = Gem::Version.create(Bundler::VERSION).segments.first
diff --git a/lib/bundler/deployment.rb b/lib/bundler/deployment.rb
index 291e158ca0..4c8f48d405 100644
--- a/lib/bundler/deployment.rb
+++ b/lib/bundler/deployment.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
require "bundler/shared_helpers"
-Bundler::SharedHelpers.major_deprecation 2, "Bundler no longer integrates with " \
+Bundler::SharedHelpers.major_deprecation 3, "Bundler no longer integrates with " \
"Capistrano, but Capistrano provides its own integration with " \
"Bundler via the capistrano-bundler gem. Use it instead."
diff --git a/lib/bundler/dsl.rb b/lib/bundler/dsl.rb
index 1a2114ed93..90ac073c36 100644
--- a/lib/bundler/dsl.rb
+++ b/lib/bundler/dsl.rb
@@ -194,7 +194,7 @@ module Bundler
" end\n\n"
raise DeprecatedError, msg if Bundler.feature_flag.disable_multisource?
- SharedHelpers.major_deprecation(2, msg.strip)
+ SharedHelpers.major_deprecation(3, msg.strip)
end
source_options = normalize_hash(options).merge(
@@ -305,8 +305,8 @@ module Bundler
# end
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
# TODO: 2.0 upgrade this setting to the default
- if Bundler.feature_flag.github_https?
- Bundler::SharedHelpers.major_deprecation 2, "The `github.https` setting will be removed"
+ if Bundler.settings["github.https"]
+ Bundler::SharedHelpers.major_deprecation 3, "The `github.https` setting will be removed"
"https://github.com/#{repo_name}.git"
else
"git://github.com/#{repo_name}.git"
@@ -456,7 +456,7 @@ repo_name ||= user_name
def normalize_source(source)
case source
when :gemcutter, :rubygems, :rubyforge
- Bundler::SharedHelpers.major_deprecation 2, "The source :#{source} is deprecated because HTTP " \
+ Bundler::SharedHelpers.major_deprecation 3, "The source :#{source} is deprecated because HTTP " \
"requests are insecure.\nPlease change your source to 'https://" \
"rubygems.org' if possible, or 'http://rubygems.org' if not."
"http://rubygems.org"
@@ -474,13 +474,13 @@ repo_name ||= user_name
msg = "This Gemfile contains multiple primary sources. " \
"Each source after the first must include a block to indicate which gems " \
"should come from that source"
- unless Bundler.feature_flag.bundler_2_mode?
+ unless Bundler.feature_flag.bundler_3_mode?
msg += ". To downgrade this error to a warning, run " \
"`bundle config --delete disable_multisource`"
end
raise GemfileEvalError, msg
else
- Bundler::SharedHelpers.major_deprecation 2, "Your Gemfile contains multiple primary sources. " \
+ Bundler::SharedHelpers.major_deprecation 3, "Your Gemfile contains multiple primary sources. " \
"Using `source` more than once without a block is a security risk, and " \
"may result in installing unexpected gems. To resolve this warning, use " \
"a block to indicate which gems should come from the secondary source. " \
@@ -498,8 +498,8 @@ repo_name ||= user_name
"do |repo_name|\n#{replacement.to_s.gsub(/^/, " ")}\n end"
end
- Bundler::SharedHelpers.major_deprecation 2, <<-EOS
-The :#{name} git source is deprecated, and will be removed in Bundler 2.0.#{additional_message} Add this code to the top of your Gemfile to ensure it continues to work:
+ Bundler::SharedHelpers.major_deprecation 3, <<-EOS
+The :#{name} git source is deprecated, and will be removed in Bundler 3.0.#{additional_message} Add this code to the top of your Gemfile to ensure it continues to work:
git_source(:#{name}) #{replacement}
diff --git a/lib/bundler/feature_flag.rb b/lib/bundler/feature_flag.rb
index 249170c4b2..e5b4e84063 100644
--- a/lib/bundler/feature_flag.rb
+++ b/lib/bundler/feature_flag.rb
@@ -27,38 +27,39 @@ module Bundler
(1..10).each {|v| define_method("bundler_#{v}_mode?") { major_version >= v } }
- settings_flag(:allow_bundler_dependency_conflicts) { bundler_2_mode? }
- settings_flag(:allow_offline_install) { bundler_2_mode? }
- settings_flag(:auto_clean_without_path) { bundler_2_mode? }
- settings_flag(:auto_config_jobs) { bundler_2_mode? }
- settings_flag(:cache_all) { bundler_2_mode? }
- settings_flag(:cache_command_is_package) { bundler_2_mode? }
- settings_flag(:console_command) { !bundler_2_mode? }
- settings_flag(:default_install_uses_path) { bundler_2_mode? }
- settings_flag(:deployment_means_frozen) { bundler_2_mode? }
- settings_flag(:disable_multisource) { bundler_2_mode? }
+ settings_flag(:allow_bundler_dependency_conflicts) { bundler_3_mode? }
+ settings_flag(:allow_offline_install) { bundler_3_mode? }
+ settings_flag(:auto_clean_without_path) { bundler_3_mode? }
+ settings_flag(:auto_config_jobs) { bundler_3_mode? }
+ settings_flag(:cache_all) { bundler_3_mode? }
+ settings_flag(:cache_command_is_package) { bundler_3_mode? }
+ settings_flag(:console_command) { !bundler_3_mode? }
+ settings_flag(:default_install_uses_path) { bundler_3_mode? }
+ settings_flag(:deployment_means_frozen) { bundler_3_mode? }
+ settings_flag(:disable_multisource) { bundler_3_mode? }
settings_flag(:error_on_stderr) { bundler_2_mode? }
- settings_flag(:forget_cli_options) { bundler_2_mode? }
- settings_flag(:global_path_appends_ruby_scope) { bundler_2_mode? }
- settings_flag(:global_gem_cache) { bundler_2_mode? }
- settings_flag(:init_gems_rb) { bundler_2_mode? }
- settings_flag(:list_command) { bundler_2_mode? }
- settings_flag(:lockfile_uses_separate_rubygems_sources) { bundler_2_mode? }
- settings_flag(:only_update_to_newer_versions) { bundler_2_mode? }
- settings_flag(:path_relative_to_cwd) { bundler_2_mode? }
+ settings_flag(:forget_cli_options) { bundler_3_mode? }
+ settings_flag(:global_path_appends_ruby_scope) { bundler_3_mode? }
+ settings_flag(:global_gem_cache) { bundler_3_mode? }
+ settings_flag(:init_gems_rb) { bundler_3_mode? }
+ settings_flag(:list_command) { bundler_3_mode? }
+ settings_flag(:lockfile_uses_separate_rubygems_sources) { bundler_3_mode? }
+ settings_flag(:lockfile_upgrade_warning) { bundler_3_mode? }
+ settings_flag(:only_update_to_newer_versions) { bundler_3_mode? }
+ settings_flag(:path_relative_to_cwd) { bundler_3_mode? }
settings_flag(:plugins) { @bundler_version >= Gem::Version.new("1.14") }
- settings_flag(:prefer_gems_rb) { bundler_2_mode? }
- settings_flag(:print_only_version_number) { bundler_2_mode? }
- settings_flag(:setup_makes_kernel_gem_public) { !bundler_2_mode? }
- settings_flag(:skip_default_git_sources) { bundler_2_mode? }
- settings_flag(:specific_platform) { bundler_2_mode? }
- settings_flag(:suppress_install_using_messages) { bundler_2_mode? }
- settings_flag(:unlock_source_unlocks_spec) { !bundler_2_mode? }
- settings_flag(:update_requires_all_flag) { bundler_2_mode? }
- settings_flag(:use_gem_version_promoter_for_major_updates) { bundler_2_mode? }
- settings_flag(:viz_command) { !bundler_2_mode? }
+ settings_flag(:prefer_gems_rb) { bundler_3_mode? }
+ settings_flag(:print_only_version_number) { bundler_3_mode? }
+ settings_flag(:setup_makes_kernel_gem_public) { !bundler_3_mode? }
+ settings_flag(:skip_default_git_sources) { bundler_3_mode? }
+ settings_flag(:specific_platform) { bundler_3_mode? }
+ settings_flag(:suppress_install_using_messages) { bundler_3_mode? }
+ settings_flag(:unlock_source_unlocks_spec) { !bundler_3_mode? }
+ settings_flag(:update_requires_all_flag) { bundler_3_mode? }
+ settings_flag(:use_gem_version_promoter_for_major_updates) { bundler_3_mode? }
+ settings_flag(:viz_command) { !bundler_3_mode? }
- settings_option(:default_cli_command) { bundler_2_mode? ? :cli_help : :install }
+ settings_option(:default_cli_command) { bundler_3_mode? ? :cli_help : :install }
settings_method(:github_https?, "github.https") { bundler_2_mode? }
diff --git a/lib/bundler/rubygems_integration.rb b/lib/bundler/rubygems_integration.rb
index 783d106e7b..f088c2fdfb 100644
--- a/lib/bundler/rubygems_integration.rb
+++ b/lib/bundler/rubygems_integration.rb
@@ -465,7 +465,7 @@ module Bundler
raise Gem::Exception, "no default executable for #{spec.full_name}" unless exec_name ||= spec.default_executable
unless spec.name == gem_name
- Bundler::SharedHelpers.major_deprecation 2,
+ Bundler::SharedHelpers.major_deprecation 3,
"Bundler is using a binstub that was created for a different gem (#{spec.name}).\n" \
"You should run `bundle binstub #{gem_name}` " \
"to work around a system/bundle conflict."
diff --git a/lib/bundler/settings.rb b/lib/bundler/settings.rb
index fe68d510ff..66af31dab2 100644
--- a/lib/bundler/settings.rb
+++ b/lib/bundler/settings.rb
@@ -40,6 +40,7 @@ module Bundler
ignore_messages
init_gems_rb
list_command
+ lockfile_upgrade_warning
lockfile_uses_separate_rubygems_sources
major_deprecations
no_install
@@ -112,7 +113,7 @@ module Bundler
"bundle config #{key} #{Array(value).join(":")}"
end
- Bundler::SharedHelpers.major_deprecation 2,\
+ Bundler::SharedHelpers.major_deprecation 3,\
"flags passed to commands " \
"will no longer be automatically remembered. Instead please set flags " \
"you want remembered between commands using `bundle config " \
diff --git a/lib/bundler/shared_helpers.rb b/lib/bundler/shared_helpers.rb
index 3e2fe24b7a..50214901c5 100644
--- a/lib/bundler/shared_helpers.rb
+++ b/lib/bundler/shared_helpers.rb
@@ -157,8 +157,8 @@ module Bundler
next if gemfiles.empty?
break false if gemfiles.size == 1
end
- if multiple_gemfiles && Bundler.bundler_major_version == 1
- Bundler::SharedHelpers.major_deprecation 2, \
+ if multiple_gemfiles && Bundler.bundler_major_version == 2
+ Bundler::SharedHelpers.major_deprecation 3, \
"gems.rb and gems.locked will be preferred to Gemfile and Gemfile.lock."
end
diff --git a/lib/bundler/source/metadata.rb b/lib/bundler/source/metadata.rb
index 9c5657eef6..d9c93bfb67 100644
--- a/lib/bundler/source/metadata.rb
+++ b/lib/bundler/source/metadata.rb
@@ -19,9 +19,8 @@ module Bundler
# can't point to the actual gemspec or else the require paths will be wrong
s.loaded_from = File.expand_path("..", __FILE__)
end
- if loaded_spec = Bundler.rubygems.loaded_specs("bundler")
- idx << loaded_spec # this has to come after the fake gemspec, to override it
- elsif local_spec = Bundler.rubygems.find_name("bundler").find {|s| s.version.to_s == VERSION }
+
+ if local_spec = Bundler.rubygems.find_name("bundler").find {|s| s.version.to_s == VERSION }
idx << local_spec
end
diff --git a/lib/bundler/spec_set.rb b/lib/bundler/spec_set.rb
index 5003b2cbec..bbdf04a7d6 100644
--- a/lib/bundler/spec_set.rb
+++ b/lib/bundler/spec_set.rb
@@ -1,16 +1,12 @@
# frozen_string_literal: true
require "tsort"
-require "forwardable"
require "set"
module Bundler
class SpecSet
- extend Forwardable
- include TSort, Enumerable
-
- def_delegators :@specs, :<<, :length, :add, :remove, :size, :empty?
- def_delegators :sorted, :each
+ include Enumerable
+ include TSort
def initialize(specs)
@specs = specs
@@ -132,6 +128,26 @@ module Bundler
what_required(req) << spec
end
+ def <<(spec)
+ @specs << spec
+ end
+
+ def length
+ @specs.length
+ end
+
+ def size
+ @specs.size
+ end
+
+ def empty?
+ @specs.empty?
+ end
+
+ def each(&b)
+ sorted.each(&b)
+ end
+
private
def sorted
diff --git a/lib/bundler/templates/newgem/Gemfile.tt b/lib/bundler/templates/newgem/Gemfile.tt
index c114bd6665..4cd2e40f4f 100644
--- a/lib/bundler/templates/newgem/Gemfile.tt
+++ b/lib/bundler/templates/newgem/Gemfile.tt
@@ -1,6 +1,4 @@
source "https://rubygems.org"
-git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
-
# Specify your gem's dependencies in <%= config[:name] %>.gemspec
gemspec
diff --git a/lib/bundler/version.rb b/lib/bundler/version.rb
index 01b28c08eb..401f62447c 100644
--- a/lib/bundler/version.rb
+++ b/lib/bundler/version.rb
@@ -7,7 +7,7 @@ module Bundler
# 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.
- VERSION = "1.17.2" unless defined?(::Bundler::VERSION)
+ VERSION = "2.0.1" unless defined?(::Bundler::VERSION)
def self.overwrite_loaded_gem_version
begin
diff --git a/lib/bundler/vlad.rb b/lib/bundler/vlad.rb
index 68181e7db8..a6b13435c9 100644
--- a/lib/bundler/vlad.rb
+++ b/lib/bundler/vlad.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
require "bundler/shared_helpers"
-Bundler::SharedHelpers.major_deprecation 2,
+Bundler::SharedHelpers.major_deprecation 3,
"The Bundler task for Vlad"
# Vlad task for Bundler.
diff --git a/libexec/bundle_ruby b/libexec/bundle_ruby
index df6f8cc8a1..2209c6195f 100755
--- a/libexec/bundle_ruby
+++ b/libexec/bundle_ruby
@@ -3,7 +3,7 @@
require "bundler/shared_helpers"
-Bundler::SharedHelpers.major_deprecation(2, "the bundle_ruby executable has been removed in favor of `bundle platform --ruby`")
+Bundler::SharedHelpers.major_deprecation(3, "the bundle_ruby executable has been removed in favor of `bundle platform --ruby`")
Signal.trap("INT") { exit 1 }
diff --git a/man/bundle-add.1.txt b/man/bundle-add.1.txt
index 653a166044..ccc101a552 100644
--- a/man/bundle-add.1.txt
+++ b/man/bundle-add.1.txt
@@ -10,8 +10,8 @@ BUNDLE-ADD(1) BUNDLE-ADD(1)
[--source=SOURCE] [--skip-install] [--strict] [--optimistic]
1mDESCRIPTION0m
- Adds the named gem to the Gemfile and run 1mbundle install22m. 1mbundle0m
- 1minstall 22mcan be avoided by using the flag 1m--skip-install22m.
+ Adds the named gem to the Gemfile and run 1mbundle install22m. 1mbundle in-0m
+ 1mstall 22mcan be avoided by using the flag 1m--skip-install22m.
Example:
diff --git a/man/bundle-check.1.txt b/man/bundle-check.1.txt
index 20cfe26446..afb3fb84f6 100644
--- a/man/bundle-check.1.txt
+++ b/man/bundle-check.1.txt
@@ -24,8 +24,8 @@ BUNDLE-CHECK(1) BUNDLE-CHECK(1)
file(5)].
1m--path 22mSpecify a different path than the system default (1m$BUNDLE_PATH0m
- or 1m$GEM_HOME22m). Bundler will remember this value for future
- installs on this machine.
+ or 1m$GEM_HOME22m). Bundler will remember this value for future in-
+ stalls on this machine.
diff --git a/man/bundle-config.1 b/man/bundle-config.1
index 80ef0c0715..9f6faa1201 100644
--- a/man/bundle-config.1
+++ b/man/bundle-config.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-CONFIG" "1" "December 2018" "" ""
+.TH "BUNDLE\-CONFIG" "1" "January 2019" "" ""
.
.SH "NAME"
\fBbundle\-config\fR \- Set bundler configuration options
diff --git a/man/bundle-config.1.txt b/man/bundle-config.1.txt
index f8f421c3db..648edc1b0c 100644
--- a/man/bundle-config.1.txt
+++ b/man/bundle-config.1.txt
@@ -44,8 +44,8 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
1mapp/.bundle/config22m.
Executing 1mbundle config --delete <name> 22mwill delete the configuration
- in both local and global sources. Not compatible with --global or
- --local flag.
+ in both local and global sources. Not compatible with --global or --lo-
+ cal flag.
Executing bundle with the 1mBUNDLE_IGNORE_CONFIG 22menvironment variable set
will cause it to ignore all configuration.
@@ -68,13 +68,13 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
text. If used, you might add this directory to your environ-
ment's 1mPATH 22mvariable. For instance, if the 1mrails 22mgem comes with
a 1mrails 22mexecutable, this flag will create a 1mbin/rails 22mexecutable
- that ensures that all referred dependencies will be resolved
- using the bundled gems.
+ that ensures that all referred dependencies will be resolved us-
+ ing the bundled gems.
1mdeployment0m
In deployment mode, Bundler will 'roll-out' the bundle for 1mpro-0m
- 1mduction 22muse. Please check carefully if you want to have this
- option enabled in 1mdevelopment 22mor 1mtest 22menvironments.
+ 1mduction 22muse. Please check carefully if you want to have this op-
+ tion enabled in 1mdevelopment 22mor 1mtest 22menvironments.
1mpath 22mThe location to install the specified gems to. This defaults to
Rubygems' setting. Bundler shares this location with Rubygems,
@@ -143,8 +143,8 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
4mdle-install.1.html24m.
o 1mallow_bundler_dependency_conflicts 22m(1mBUNDLE_ALLOW_BUNDLER_DEPEN-0m
- 1mDENCY_CONFLICTS22m): Allow resolving to specifications that have
- dependencies on 1mbundler 22mthat are incompatible with the running
+ 1mDENCY_CONFLICTS22m): Allow resolving to specifications that have de-
+ pendencies on 1mbundler 22mthat are incompatible with the running
Bundler version.
o 1mallow_deployment_source_credential_changes 22m(1mBUNDLE_ALLOW_DEPLOY-0m
@@ -160,8 +160,8 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
cally run 1mbundle clean 22mafter installing when an explicit 1mpath 22mhas
not been set and Bundler is not installing into the system gems.
- o 1mauto_install 22m(1mBUNDLE_AUTO_INSTALL22m): Automatically run 1mbundle0m
- 1minstall 22mwhen gems are missing.
+ o 1mauto_install 22m(1mBUNDLE_AUTO_INSTALL22m): Automatically run 1mbundle in-0m
+ 1mstall 22mwhen gems are missing.
o 1mbin 22m(1mBUNDLE_BIN22m): Install executables from gems in the bundle to
the specified directory. Defaults to 1mfalse22m.
@@ -183,8 +183,8 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
Defaults to 1mirb22m.
o 1mdefault_install_uses_path 22m(1mBUNDLE_DEFAULT_INSTALL_USES_PATH22m):
- Whether a 1mbundle install 22mwithout an explicit 1m--path 22margument
- defaults to installing gems in 1m.bundle22m.
+ Whether a 1mbundle install 22mwithout an explicit 1m--path 22margument de-
+ faults to installing gems in 1m.bundle22m.
o 1mdeployment 22m(1mBUNDLE_DEPLOYMENT22m): Disallow changes to the 1mGemfile22m.
When the 1mGemfile 22mis changed and the lockfile has not been updated,
@@ -194,12 +194,12 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
Allow installing gems even if they do not match the checksum pro-
vided by RubyGems.
- o 1mdisable_exec_load 22m(1mBUNDLE_DISABLE_EXEC_LOAD22m): Stop Bundler from
- using 1mload 22mto launch an executable in-process in 1mbundle exec22m.
+ o 1mdisable_exec_load 22m(1mBUNDLE_DISABLE_EXEC_LOAD22m): Stop Bundler from us-
+ ing 1mload 22mto launch an executable in-process in 1mbundle exec22m.
- o 1mdisable_local_branch_check 22m(1mBUNDLE_DISABLE_LOCAL_BRANCH_CHECK22m):
- Allow Bundler to use a local git override without a branch speci-
- fied in the Gemfile.
+ o 1mdisable_local_branch_check 22m(1mBUNDLE_DISABLE_LOCAL_BRANCH_CHECK22m): Al-
+ low Bundler to use a local git override without a branch specified
+ in the Gemfile.
o 1mdisable_multisource 22m(1mBUNDLE_DISABLE_MULTISOURCE22m): When set, Gem-
files containing multiple sources will produce errors instead of
@@ -242,90 +242,89 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
cache all gems globally, rather than locally to the installing Ruby
installation.
- o 1mglobal_path_appends_ruby_scope 22m(1mBUN-0m
- 1mDLE_GLOBAL_PATH_APPENDS_RUBY_SCOPE22m): Whether Bundler should append
- the Ruby scope (e.g. engine and ABI version) to a globally-config-
- ured path.
+ o 1mglobal_path_appends_ruby_scope 22m(1mBUNDLE_GLOBAL_PATH_AP-0m
+ 1mPENDS_RUBY_SCOPE22m): Whether Bundler should append the Ruby scope
+ (e.g. engine and ABI version) to a globally-configured path.
o 1mignore_messages 22m(1mBUNDLE_IGNORE_MESSAGES22m): When set, no post install
messages will be printed. To silence a single gem, use dot notation
like 1mignore_messages.httparty true22m.
- o 1minit_gems_rb 22m(1mBUNDLE_INIT_GEMS_RB22m) Generate a 1mgems.rb 22minstead of a
+ o 1minit_gems_rb 22m(1mBUNDLE_INIT_GEMS_RB22m) Generate a 1mgems.rb 22minstead of a
1mGemfile 22mwhen running 1mbundle init22m.
- o 1mjobs 22m(1mBUNDLE_JOBS22m): The number of gems Bundler can install in par-
+ o 1mjobs 22m(1mBUNDLE_JOBS22m): The number of gems Bundler can install in par-
allel. Defaults to 1.
o 1mlist_command 22m(1mBUNDLE_LIST_COMMAND22m) Enable new list command feature
- o 1mmajor_deprecations 22m(1mBUNDLE_MAJOR_DEPRECATIONS22m): Whether Bundler
+ o 1mmajor_deprecations 22m(1mBUNDLE_MAJOR_DEPRECATIONS22m): Whether Bundler
should print deprecation warnings for behavior that will be changed
in the next major version.
- o 1mno_install 22m(1mBUNDLE_NO_INSTALL22m): Whether 1mbundle package 22mshould skip
+ o 1mno_install 22m(1mBUNDLE_NO_INSTALL22m): Whether 1mbundle package 22mshould skip
installing gems.
- o 1mno_prune 22m(1mBUNDLE_NO_PRUNE22m): Whether Bundler should leave outdated
+ o 1mno_prune 22m(1mBUNDLE_NO_PRUNE22m): Whether Bundler should leave outdated
gems unpruned when caching.
o 1monly_update_to_newer_versions 22m(1mBUNDLE_ONLY_UPDATE_TO_NEWER_VER-0m
1mSIONS22m): During 1mbundle update22m, only resolve to newer versions of the
gems in the lockfile.
- o 1mpath 22m(1mBUNDLE_PATH22m): The location on disk where all gems in your
+ o 1mpath 22m(1mBUNDLE_PATH22m): The location on disk where all gems in your
bundle will be located regardless of 1m$GEM_HOME 22mor 1m$GEM_PATH 22mvalues.
- Bundle gems not found in this location will be installed by 1mbundle0m
- 1minstall22m. Defaults to 1mGem.dir22m. When --deployment is used, defaults
+ Bundle gems not found in this location will be installed by 1mbundle0m
+ 1minstall22m. Defaults to 1mGem.dir22m. When --deployment is used, defaults
to vendor/bundle.
- o 1mpath.system 22m(1mBUNDLE_PATH__SYSTEM22m): Whether Bundler will install
+ o 1mpath.system 22m(1mBUNDLE_PATH__SYSTEM22m): Whether Bundler will install
gems into the default system path (1mGem.dir22m).
- o 1mpath_relative_to_cwd 22m(1mPATH_RELATIVE_TO_CWD22m) Makes 1m--path 22mrelative
+ o 1mpath_relative_to_cwd 22m(1mPATH_RELATIVE_TO_CWD22m) Makes 1m--path 22mrelative
to the CWD instead of the 1mGemfile22m.
o 1mplugins 22m(1mBUNDLE_PLUGINS22m): Enable Bundler's experimental plugin sys-
tem.
- o 1mprefer_gems_rb 22m(1mBUNDLE_PREFER_GEMS_RB22m) Prefer 1mgems.rb 22mto 1mGemfile0m
+ o 1mprefer_gems_rb 22m(1mBUNDLE_PREFER_GEMS_RB22m) Prefer 1mgems.rb 22mto 1mGemfile0m
when Bundler is searching for a Gemfile.
- o 1mprint_only_version_number 22m(1mBUNDLE_PRINT_ONLY_VERSION_NUMBER22m) Print
+ o 1mprint_only_version_number 22m(1mBUNDLE_PRINT_ONLY_VERSION_NUMBER22m) Print
only version number from 1mbundler --version22m.
- o 1mredirect 22m(1mBUNDLE_REDIRECT22m): The number of redirects allowed for
+ o 1mredirect 22m(1mBUNDLE_REDIRECT22m): The number of redirects allowed for
network requests. Defaults to 1m522m.
- o 1mretry 22m(1mBUNDLE_RETRY22m): The number of times to retry failed network
+ o 1mretry 22m(1mBUNDLE_RETRY22m): The number of times to retry failed network
requests. Defaults to 1m322m.
o 1msetup_makes_kernel_gem_public 22m(1mBUNDLE_SETUP_MAKES_KERNEL_GEM_PUB-0m
- 1mLIC22m): Have 1mBundler.setup 22mmake the 1mKernel#gem 22mmethod public, even
+ 1mLIC22m): Have 1mBundler.setup 22mmake the 1mKernel#gem 22mmethod public, even
though RubyGems declares it as private.
- o 1mshebang 22m(1mBUNDLE_SHEBANG22m): The program name that should be invoked
- for generated binstubs. Defaults to the ruby install name used to
+ o 1mshebang 22m(1mBUNDLE_SHEBANG22m): The program name that should be invoked
+ for generated binstubs. Defaults to the ruby install name used to
generate the binstub.
- o 1msilence_root_warning 22m(1mBUNDLE_SILENCE_ROOT_WARNING22m): Silence the
+ o 1msilence_root_warning 22m(1mBUNDLE_SILENCE_ROOT_WARNING22m): Silence the
warning Bundler prints when installing gems as root.
o 1mskip_default_git_sources 22m(1mBUNDLE_SKIP_DEFAULT_GIT_SOURCES22m): Whether
Bundler should skip adding default git source shortcuts to the Gem-
file DSL.
- o 1mspecific_platform 22m(1mBUNDLE_SPECIFIC_PLATFORM22m): Allow bundler to
- resolve for the specific running platform and store it in the lock-
+ o 1mspecific_platform 22m(1mBUNDLE_SPECIFIC_PLATFORM22m): Allow bundler to re-
+ solve for the specific running platform and store it in the lock-
file, instead of only using a generic platform. A specific platform
- is the exact platform triple reported by 1mGem::Platform.local22m, such
- as 1mx86_64-darwin-16 22mor 1muniversal-java-1.822m. On the other hand,
- generic platforms are those such as 1mruby22m, 1mmswin22m, or 1mjava22m. In this
- example, 1mx86_64-darwin-16 22mwould map to 1mruby 22mand 1muniversal-java-1.80m
+ is the exact platform triple reported by 1mGem::Platform.local22m, such
+ as 1mx86_64-darwin-16 22mor 1muniversal-java-1.822m. On the other hand,
+ generic platforms are those such as 1mruby22m, 1mmswin22m, or 1mjava22m. In this
+ example, 1mx86_64-darwin-16 22mwould map to 1mruby 22mand 1muniversal-java-1.80m
to 1mjava22m.
- o 1mssl_ca_cert 22m(1mBUNDLE_SSL_CA_CERT22m): Path to a designated CA certifi-
- cate file or folder containing multiple certificates for trusted
+ o 1mssl_ca_cert 22m(1mBUNDLE_SSL_CA_CERT22m): Path to a designated CA certifi-
+ cate file or folder containing multiple certificates for trusted
CAs in PEM format.
o 1mssl_client_cert 22m(1mBUNDLE_SSL_CLIENT_CERT22m): Path to a designated file
@@ -335,46 +334,46 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
Bundler uses when making HTTPS requests. Defaults to verify peer.
o 1msuppress_install_using_messages 22m(1mBUNDLE_SUPPRESS_INSTALL_USING_MES-0m
- 1mSAGES22m): Avoid printing 1mUsing ... 22mmessages during installation when
+ 1mSAGES22m): Avoid printing 1mUsing ... 22mmessages during installation when
the version of a gem has not changed.
- o 1msystem_bindir 22m(1mBUNDLE_SYSTEM_BINDIR22m): The location where RubyGems
+ o 1msystem_bindir 22m(1mBUNDLE_SYSTEM_BINDIR22m): The location where RubyGems
installs binstubs. Defaults to 1mGem.bindir22m.
o 1mtimeout 22m(1mBUNDLE_TIMEOUT22m): The seconds allowed before timing out for
network requests. Defaults to 1m1022m.
o 1munlock_source_unlocks_spec 22m(1mBUNDLE_UNLOCK_SOURCE_UNLOCKS_SPEC22m):
- Whether running 1mbundle update --source NAME 22munlocks a gem with the
+ Whether running 1mbundle update --source NAME 22munlocks a gem with the
given name. Defaults to 1mtrue22m.
- o 1mupdate_requires_all_flag 22m(1mBUNDLE_UPDATE_REQUIRES_ALL_FLAG22m) Require
- passing 1m--all 22mto 1mbundle update 22mwhen everything should be updated,
+ o 1mupdate_requires_all_flag 22m(1mBUNDLE_UPDATE_REQUIRES_ALL_FLAG22m) Require
+ passing 1m--all 22mto 1mbundle update 22mwhen everything should be updated,
and disallow passing no options to 1mbundle update22m.
- o 1muser_agent 22m(1mBUNDLE_USER_AGENT22m): The custom user agent fragment
+ o 1muser_agent 22m(1mBUNDLE_USER_AGENT22m): The custom user agent fragment
Bundler includes in API requests.
o 1mwith 22m(1mBUNDLE_WITH22m): A 1m:22m-separated list of groups whose gems bundler
should install.
- o 1mwithout 22m(1mBUNDLE_WITHOUT22m): A 1m:22m-separated list of groups whose gems
+ o 1mwithout 22m(1mBUNDLE_WITHOUT22m): A 1m:22m-separated list of groups whose gems
bundler should not install.
- In general, you should set these settings per-application by using the
- applicable flag to the bundle install(1) 4mbundle-install.1.html24m or bun-
+ In general, you should set these settings per-application by using the
+ applicable flag to the bundle install(1) 4mbundle-install.1.html24m or bun-
dle package(1) 4mbundle-package.1.html24m command.
- You can set them globally either via environment variables or 1mbundle0m
- 1mconfig22m, whichever is preferable for your setup. If you use both, envi-
+ You can set them globally either via environment variables or 1mbundle0m
+ 1mconfig22m, whichever is preferable for your setup. If you use both, envi-
ronment variables will take preference over global settings.
1mLOCAL GIT REPOS0m
- Bundler also allows you to work against a git repository locally
- instead of using the remote version. This can be achieved by setting up
- a local override:
+ Bundler also allows you to work against a git repository locally in-
+ stead of using the remote version. This can be achieved by setting up a
+ local override:
@@ -391,30 +390,30 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
- Now instead of checking out the remote git repository, the local over-
- ride will be used. Similar to a path source, every time the local git
- repository change, changes will be automatically picked up by Bundler.
- This means a commit in the local git repo will update the revision in
+ Now instead of checking out the remote git repository, the local over-
+ ride will be used. Similar to a path source, every time the local git
+ repository change, changes will be automatically picked up by Bundler.
+ This means a commit in the local git repo will update the revision in
the 1mGemfile.lock 22mto the local git repo revision. This requires the same
- attention as git submodules. Before pushing to the remote, you need to
+ attention as git submodules. Before pushing to the remote, you need to
ensure the local override was pushed, otherwise you may point to a com-
- mit that only exists in your local machine. You'll also need to CGI
- escape your usernames and passwords as well.
-
- Bundler does many checks to ensure a developer won't work with invalid
- references. Particularly, we force a developer to specify a branch in
- the 1mGemfile 22min order to use this feature. If the branch specified in
- the 1mGemfile 22mand the current branch in the local git repository do not
- match, Bundler will abort. This ensures that a developer is always
- working against the correct branches, and prevents accidental locking
+ mit that only exists in your local machine. You'll also need to CGI es-
+ cape your usernames and passwords as well.
+
+ Bundler does many checks to ensure a developer won't work with invalid
+ references. Particularly, we force a developer to specify a branch in
+ the 1mGemfile 22min order to use this feature. If the branch specified in
+ the 1mGemfile 22mand the current branch in the local git repository do not
+ match, Bundler will abort. This ensures that a developer is always
+ working against the correct branches, and prevents accidental locking
to a different branch.
- Finally, Bundler also ensures that the current revision in the 1mGem-0m
- 1mfile.lock 22mexists in the local git repository. By doing this, Bundler
+ Finally, Bundler also ensures that the current revision in the 1mGem-0m
+ 1mfile.lock 22mexists in the local git repository. By doing this, Bundler
forces you to fetch the latest changes in the remotes.
1mMIRRORS OF GEM SOURCES0m
- Bundler supports overriding gem sources with mirrors. This allows you
+ Bundler supports overriding gem sources with mirrors. This allows you
to configure rubygems.org as the gem source in your Gemfile while still
using your mirror to fetch gems.
@@ -424,7 +423,7 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
- For example, to use a mirror of rubygems.org hosted at rubygems-mir-
+ For example, to use a mirror of rubygems.org hosted at rubygems-mir-
ror.org:
@@ -433,8 +432,8 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
- Each mirror also provides a fallback timeout setting. If the mirror
- does not respond within the fallback timeout, Bundler will try to use
+ Each mirror also provides a fallback timeout setting. If the mirror
+ does not respond within the fallback timeout, Bundler will try to use
the original server instead of the mirror.
@@ -451,11 +450,11 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
- The default fallback timeout is 0.1 seconds, but the setting can cur-
+ The default fallback timeout is 0.1 seconds, but the setting can cur-
rently only accept whole seconds (for example, 1, 15, or 30).
1mCREDENTIALS FOR GEM SOURCES0m
- Bundler allows you to configure credentials for any gem source, which
+ Bundler allows you to configure credentials for any gem source, which
allows you to avoid putting secrets into your Gemfile.
@@ -464,7 +463,7 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
- For example, to save the credentials of user 1mclaudette 22mfor the gem
+ For example, to save the credentials of user 1mclaudette 22mfor the gem
source at 1mgems.longerous.com22m, you would run:
@@ -498,7 +497,7 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
- This is especially useful for private repositories on hosts such as
+ This is especially useful for private repositories on hosts such as
Github, where you can use personal OAuth tokens:
@@ -508,9 +507,9 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
1mCONFIGURE BUNDLER DIRECTORIES0m
- Bundler's home, config, cache and plugin directories are able to be
- configured through environment variables. The default location for
- Bundler's home directory is 1m~/.bundle22m, which all directories inherit
+ Bundler's home, config, cache and plugin directories are able to be
+ configured through environment variables. The default location for
+ Bundler's home directory is 1m~/.bundle22m, which all directories inherit
from by default. The following outlines the available environment vari-
ables and their default values
@@ -526,4 +525,4 @@ BUNDLE-CONFIG(1) BUNDLE-CONFIG(1)
- December 2018 BUNDLE-CONFIG(1)
+ January 2019 BUNDLE-CONFIG(1)
diff --git a/man/bundle-exec.1.txt b/man/bundle-exec.1.txt
index fa55d2a0c2..864eb0b485 100644
--- a/man/bundle-exec.1.txt
+++ b/man/bundle-exec.1.txt
@@ -14,8 +14,8 @@ BUNDLE-EXEC(1) BUNDLE-EXEC(1)
Essentially, if you would normally have run something like 1mrspec0m
1mspec/my_spec.rb22m, and you want to use the gems specified in the [1mGem-0m
- 1mfile(5)22m][Gemfile(5)] and installed via bundle install(1) 4mbun-0m
- 4mdle-install.1.html24m, you should run 1mbundle exec rspec spec/my_spec.rb22m.
+ 1mfile(5)22m][Gemfile(5)] and installed via bundle install(1) 4mbundle-in-0m
+ 4mstall.1.html24m, you should run 1mbundle exec rspec spec/my_spec.rb22m.
Note that 1mbundle exec 22mdoes not require that an executable is available
on your shell's 1m$PATH22m.
@@ -27,10 +27,10 @@ BUNDLE-EXEC(1) BUNDLE-EXEC(1)
of passing all file descriptors to the new process.
1mBUNDLE INSTALL --BINSTUBS0m
- If you use the 1m--binstubs 22mflag in bundle install(1) 4mbun-0m
- 4mdle-install.1.html24m, Bundler will automatically create a directory
- (which defaults to 1mapp_root/bin22m) containing all of the executables
- available from gems in the bundle.
+ If you use the 1m--binstubs 22mflag in bundle install(1) 4mbundle-in-0m
+ 4mstall.1.html24m, Bundler will automatically create a directory (which de-
+ faults to 1mapp_root/bin22m) containing all of the executables available
+ from gems in the bundle.
After using 1m--binstubs22m, 1mbin/rspec spec/my_spec.rb 22mis identical to 1mbun-0m
1mdle exec rspec spec/my_spec.rb22m.
@@ -39,8 +39,8 @@ BUNDLE-EXEC(1) BUNDLE-EXEC(1)
1mbundle exec 22mmakes a number of changes to the shell environment, then
executes the command you specify in full.
- o make sure that it's still possible to shell out to 1mbundle 22mfrom
- inside a command invoked by 1mbundle exec 22m(using 1m$BUNDLE_BIN_PATH22m)
+ o make sure that it's still possible to shell out to 1mbundle 22mfrom in-
+ side a command invoked by 1mbundle exec 22m(using 1m$BUNDLE_BIN_PATH22m)
o put the directory containing executables (like 1mrails22m, 1mrspec22m,
1mrackup22m) for your bundle on 1m$PATH0m
@@ -82,18 +82,18 @@ BUNDLE-EXEC(1) BUNDLE-EXEC(1)
By default, when attempting to 1mbundle exec 22mto a file with a ruby she-
bang, Bundler will 1mKernel.load 22mthat file instead of using 1mKernel.exec22m.
For the vast majority of cases, this is a performance improvement. In a
- rare few cases, this could cause some subtle side-effects (such as
- dependence on the exact contents of 1m$0 22mor 1m__FILE__22m) and the optimiza-
- tion can be disabled by enabling the 1mdisable_exec_load 22msetting.
+ rare few cases, this could cause some subtle side-effects (such as de-
+ pendence on the exact contents of 1m$0 22mor 1m__FILE__22m) and the optimization
+ can be disabled by enabling the 1mdisable_exec_load 22msetting.
1mShelling out0m
Any Ruby code that opens a subshell (like 1msystem22m, backticks, or 1m%x{}22m)
will automatically use the current Bundler environment. If you need to
shell out to a Ruby command that is not part of your current bundle,
- use the 1mwith_clean_env 22mmethod with a block. Any subshells created
- inside the block will be given the environment present before Bundler
- was activated. For example, Homebrew commands run Ruby, but don't work
- inside a bundle:
+ use the 1mwith_clean_env 22mmethod with a block. Any subshells created in-
+ side the block will be given the environment present before Bundler was
+ activated. For example, Homebrew commands run Ruby, but don't work in-
+ side a bundle:
diff --git a/man/bundle-gem.1.txt b/man/bundle-gem.1.txt
index 59e5e0ddcc..a951d5b4b6 100644
--- a/man/bundle-gem.1.txt
+++ b/man/bundle-gem.1.txt
@@ -16,8 +16,8 @@ BUNDLE-GEM(1) BUNDLE-GEM(1)
Run 1mrake -T 22min the resulting project for a list of Rake tasks that can
be used to test and publish the gem to rubygems.org.
- The generated project skeleton can be customized with OPTIONS, as
- explained below. Note that these options can also be specified via
+ The generated project skeleton can be customized with OPTIONS, as ex-
+ plained below. Note that these options can also be specified via
Bundler's global configuration file using the following names:
o 1mgem.coc0m
@@ -57,9 +57,9 @@ BUNDLE-GEM(1) BUNDLE-GEM(1)
1m--mit 22mAdd an MIT license to a 1mLICENSE.txt 22mfile in the root of the gen-
erated project. Your name from the global git config is used for
- the copyright statement. If this option is unspecified, an
- interactive prompt will be displayed and the answer will be
- saved in Bundler's global config for future 1mbundle gem 22muse.
+ the copyright statement. If this option is unspecified, an in-
+ teractive prompt will be displayed and the answer will be saved
+ in Bundler's global config for future 1mbundle gem 22muse.
1m--no-mit0m
Do not create a 1mLICENSE.txt 22m(overrides 1m--mit 22mspecified in the
@@ -68,12 +68,12 @@ BUNDLE-GEM(1) BUNDLE-GEM(1)
1m-t22m, 1m--test=minitest22m, 1m--test=rspec0m
Specify the test framework that Bundler should use when generat-
ing the project. Acceptable values are 1mminitest 22mand 1mrspec22m. The
- 1mGEM_NAME.gemspec 22mwill be configured and a skeleton test/spec
- directory will be created based on this option. If this option
- is unspecified, an interactive prompt will be displayed and the
- answer will be saved in Bundler's global config for future 1mbun-0m
- 1mdle gem 22muse. If no option is specified, the default testing
- framework is RSpec.
+ 1mGEM_NAME.gemspec 22mwill be configured and a skeleton test/spec di-
+ rectory will be created based on this option. If this option is
+ unspecified, an interactive prompt will be displayed and the an-
+ swer will be saved in Bundler's global config for future 1mbundle0m
+ 1mgem 22muse. If no option is specified, the default testing frame-
+ work is RSpec.
1m-e22m, 1m--edit[=EDITOR]0m
Open the resulting GEM_NAME.gemspec in EDITOR, or the default
diff --git a/man/bundle-install.1 b/man/bundle-install.1
index c70f92eb25..8bd0a7fa3d 100644
--- a/man/bundle-install.1
+++ b/man/bundle-install.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-INSTALL" "1" "December 2018" "" ""
+.TH "BUNDLE\-INSTALL" "1" "January 2019" "" ""
.
.SH "NAME"
\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
diff --git a/man/bundle-install.1.txt b/man/bundle-install.1.txt
index 93118629c7..7637aeb8b7 100644
--- a/man/bundle-install.1.txt
+++ b/man/bundle-install.1.txt
@@ -39,8 +39,8 @@ BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
text. If used, you might add this directory to your environ-
ment's 1mPATH 22mvariable. For instance, if the 1mrails 22mgem comes with
a 1mrails 22mexecutable, this flag will create a 1mbin/rails 22mexecutable
- that ensures that all referred dependencies will be resolved
- using the bundled gems.
+ that ensures that all referred dependencies will be resolved us-
+ ing the bundled gems.
1m--clean0m
On finishing the installation Bundler is going to remove any
@@ -53,9 +53,9 @@ BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
this option enabled in your development environment.
1m--force0m
- Force download every gem, even if the required versions are
- already available locally. 1m--redownload 22mis an alias of this
- option.
+ Force download every gem, even if the required versions are al-
+ ready available locally. 1m--redownload 22mis an alias of this op-
+ tion.
1m--frozen0m
Do not allow the Gemfile.lock to be updated after this install.
@@ -82,8 +82,8 @@ BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
1m--local0m
Do not attempt to connect to 1mrubygems.org22m. Instead, Bundler will
use the gems already present in Rubygems' cache or in 1mven-0m
- 1mdor/cache22m. Note that if a appropriate platform-specific gem
- exists on 1mrubygems.org 22mit will not be found.
+ 1mdor/cache22m. Note that if a appropriate platform-specific gem ex-
+ ists on 1mrubygems.org 22mit will not be found.
1m--no-cache0m
Do not update the cache in 1mvendor/cache 22mwith the newly bundled
@@ -103,8 +103,8 @@ BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
will not get listed.
1m--quiet0m
- Do not print progress information to the standard output.
- Instead, Bundler will exit using a status code (1m$?22m).
+ Do not print progress information to the standard output. In-
+ stead, Bundler will exit using a status code (1m$?22m).
1m--retry=[<number>]0m
Retry failed network or git requests for 4mnumber24m times.
@@ -155,8 +155,8 @@ BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
1. A 1mGemfile.lock 22mis required.
To ensure that the same versions of the gems you developed with and
- tested with are also used in deployments, a 1mGemfile.lock 22mis
- required.
+ tested with are also used in deployments, a 1mGemfile.lock 22mis re-
+ quired.
This is mainly to ensure that you remember to check your 1mGem-0m
1mfile.lock 22minto version control.
@@ -172,18 +172,18 @@ BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
3. Gems are installed to 1mvendor/bundle 22mnot your default system loca-
tion
- In development, it's convenient to share the gems used in your
- application with other applications and other scripts that run on
- the system.
+ In development, it's convenient to share the gems used in your ap-
+ plication with other applications and other scripts that run on the
+ system.
In deployment, isolation is a more important default. In addition,
- the user deploying the application may not have permission to
- install gems to the system, or the web server may not have permis-
- sion to read them.
+ the user deploying the application may not have permission to in-
+ stall gems to the system, or the web server may not have permission
+ to read them.
As a result, 1mbundle install --deployment 22minstalls gems to the 1mven-0m
- 1mdor/bundle 22mdirectory in the application. This may be overridden
- using the 1m--path 22moption.
+ 1mdor/bundle 22mdirectory in the application. This may be overridden us-
+ ing the 1m--path 22moption.
@@ -195,8 +195,8 @@ BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
ask you for your 1msudo 22mpassword in order to copy the gems into their
system location.
- From your perspective, this is identical to installing the gems
- directly into the system.
+ From your perspective, this is identical to installing the gems di-
+ rectly into the system.
You should never use 1msudo bundle install22m. This is because several other
steps in 1mbundle install 22mmust be performed as the current user:
@@ -265,9 +265,9 @@ BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
APIs unavailable in Rack 1.x, only to have Bundler switch to Rack 1.2
when the 1mproduction 22mgroup 4mis24m used.
- This should not cause any problems in practice, because we do not
- attempt to 1minstall 22mthe gems in the excluded groups, and only evaluate
- as part of the dependency resolution process.
+ This should not cause any problems in practice, because we do not at-
+ tempt to 1minstall 22mthe gems in the excluded groups, and only evaluate as
+ part of the dependency resolution process.
This also means that you cannot include different versions of the same
gem in different groups, because doing so would result in different
@@ -300,8 +300,8 @@ BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
When Bundler first shipped, the 1mGemfile.lock 22mwas included in the 1m.git-0m
1mignore 22mfile included with generated gems. Over time, however, it became
clear that this practice forces the pain of broken dependencies onto
- new contributors, while leaving existing contributors potentially
- unaware of the problem. Since 1mbundle install 22mis usually the first step
+ new contributors, while leaving existing contributors potentially un-
+ aware of the problem. Since 1mbundle install 22mis usually the first step
towards a contribution, the pain of broken dependencies would discour-
age new contributors from contributing. As a result, we have revised
our guidance for gem authors to now recommend checking in the lock for
@@ -331,8 +331,8 @@ BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
1m1.1.022m, while the 1mactivemerchant 22mgem depends on 1mactivesupport >= 2.3.222m,
1mbraintree >= 2.0.022m, and 1mbuilder >= 2.0.022m.
- When the dependencies are first resolved, Bundler will select
- 1mactivesupport 2.3.822m, which satisfies the requirements of both gems in
+ When the dependencies are first resolved, Bundler will select 1mac-0m
+ 1mtivesupport 2.3.822m, which satisfies the requirements of both gems in
your Gemfile(5).
Next, you modify your Gemfile(5) to:
@@ -346,12 +346,12 @@ BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
- The 1mactionpack 3.0.0.rc 22mgem has a number of new dependencies, and
- updates the 1mactivesupport 22mdependency to 1m= 3.0.0.rc 22mand the 1mrack 22mdepen-
+ The 1mactionpack 3.0.0.rc 22mgem has a number of new dependencies, and up-
+ dates the 1mactivesupport 22mdependency to 1m= 3.0.0.rc 22mand the 1mrack 22mdepen-
dency to 1m~> 1.2.122m.
- When you run 1mbundle install22m, Bundler notices that you changed the
- 1mactionpack 22mgem, but not the 1mactivemerchant 22mgem. It evaluates the gems
+ When you run 1mbundle install22m, Bundler notices that you changed the 1mac-0m
+ 1mtionpack 22mgem, but not the 1mactivemerchant 22mgem. It evaluates the gems
currently being used to satisfy its requirements:
1mactivesupport 2.3.80m
@@ -370,8 +370,8 @@ BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
retically matches 1mactivesupport 3.0.0.rc22m, Bundler treats gems in your
Gemfile(5) that have not changed as an atomic unit together with their
dependencies. In this case, the 1mactivemerchant 22mdependency is treated as
- 1mactivemerchant 1.7.1 + activesupport 2.3.822m, so 1mbundle install 22mwill
- report that it cannot update 1mactionpack22m.
+ 1mactivemerchant 1.7.1 + activesupport 2.3.822m, so 1mbundle install 22mwill re-
+ port that it cannot update 1mactionpack22m.
To explicitly update 1mactionpack22m, including its dependencies which other
gems in the Gemfile(5) still depend on, run 1mbundle update actionpack0m
@@ -383,8 +383,8 @@ BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
work, run bundle update(1) 4mbundle-update.1.html24m.
1mSEE ALSO0m
- o Gem install docs
- 4mhttp://guides.rubygems.org/rubygems-basics/#installing-gems0m
+ o Gem install docs 4mhttp://guides.rubygems.org/rubygems-basics/#in-0m
+ 4mstalling-gems0m
o Rubygems signing docs 4mhttp://guides.rubygems.org/security/0m
@@ -393,4 +393,4 @@ BUNDLE-INSTALL(1) BUNDLE-INSTALL(1)
- December 2018 BUNDLE-INSTALL(1)
+ January 2019 BUNDLE-INSTALL(1)
diff --git a/man/bundle-lock.1.txt b/man/bundle-lock.1.txt
index 2c757f0201..838c1baae5 100644
--- a/man/bundle-lock.1.txt
+++ b/man/bundle-lock.1.txt
@@ -21,8 +21,8 @@ BUNDLE-LOCK(1) BUNDLE-LOCK(1)
1m--local0m
Do not attempt to connect to 1mrubygems.org22m. Instead, Bundler will
use the gems already present in Rubygems' cache or in 1mven-0m
- 1mdor/cache22m. Note that if a appropriate platform-specific gem
- exists on 1mrubygems.org 22mit will not be found.
+ 1mdor/cache22m. Note that if a appropriate platform-specific gem ex-
+ ists on 1mrubygems.org 22mit will not be found.
1m--print0m
Prints the lockfile to STDOUT instead of writing to the file
@@ -60,17 +60,17 @@ BUNDLE-LOCK(1) BUNDLE-LOCK(1)
1mUPDATING ALL GEMS0m
If you run 1mbundle lock 22mwith 1m--update 22moption without list of gems,
- bundler will ignore any previously installed gems and resolve all
- dependencies again based on the latest versions of all gems available
- in the sources.
+ bundler will ignore any previously installed gems and resolve all de-
+ pendencies again based on the latest versions of all gems available in
+ the sources.
1mUPDATING A LIST OF GEMS0m
Sometimes, you want to update a single gem in the Gemfile(5), and leave
the rest of the gems that you specified locked to the versions in the
1mGemfile.lock22m.
- For instance, you only want to update 1mnokogiri22m, run 1mbundle lock0m
- 1m--update nokogiri22m.
+ For instance, you only want to update 1mnokogiri22m, run 1mbundle lock --up-0m
+ 1mdate nokogiri22m.
Bundler will update 1mnokogiri 22mand any of its dependencies, but leave the
rest of the gems that you specified locked to the versions in the 1mGem-0m
diff --git a/man/bundle-outdated.1.txt b/man/bundle-outdated.1.txt
index 00779962fc..dc9d7a06c7 100644
--- a/man/bundle-outdated.1.txt
+++ b/man/bundle-outdated.1.txt
@@ -7,9 +7,9 @@ BUNDLE-OUTDATED(1) BUNDLE-OUTDATED(1)
1mSYNOPSIS0m
1mbundle outdated 22m[GEM] [--local] [--pre] [--source] [--strict]
- [--parseable | --porcelain] [--group=GROUP] [--groups]
- [--update-strict] [--patch|--minor|--major] [--filter-major] [--fil-
- ter-minor] [--filter-patch] [--only-explicit]
+ [--parseable | --porcelain] [--group=GROUP] [--groups] [--up-
+ date-strict] [--patch|--minor|--major] [--filter-major] [--filter-mi-
+ nor] [--filter-patch] [--only-explicit]
1mDESCRIPTION0m
Outdated lists the names and versions of gems that have a newer version
@@ -20,8 +20,8 @@ BUNDLE-OUTDATED(1) BUNDLE-OUTDATED(1)
1mOPTIONS0m
1m--local0m
- Do not attempt to fetch gems remotely and use the gem cache
- instead.
+ Do not attempt to fetch gems remotely and use the gem cache in-
+ stead.
1m--pre 22mCheck for newer pre-release gems.
@@ -41,8 +41,8 @@ BUNDLE-OUTDATED(1) BUNDLE-OUTDATED(1)
List gems organized by groups.
1m--update-strict0m
- Strict conservative resolution, do not allow any gem to be
- updated past latest --patch | --minor| --major.
+ Strict conservative resolution, do not allow any gem to be up-
+ dated past latest --patch | --minor| --major.
1m--minor0m
Prefer updating only to next minor version.
diff --git a/man/bundle-package.1.txt b/man/bundle-package.1.txt
index e581e94507..56b977f0ca 100644
--- a/man/bundle-package.1.txt
+++ b/man/bundle-package.1.txt
@@ -10,15 +10,15 @@ BUNDLE-PACKAGE(1) BUNDLE-PACKAGE(1)
1mDESCRIPTION0m
Copy all of the 1m.gem 22mfiles needed to run the application into the 1mven-0m
- 1mdor/cache 22mdirectory. In the future, when running [bundle
- install(1)][bundle-install], use the gems in the cache in preference to
+ 1mdor/cache 22mdirectory. In the future, when running [bundle in-
+ stall(1)][bundle-install], use the gems in the cache in preference to
the ones on 1mrubygems.org22m.
1mGIT AND PATH GEMS0m
Since Bundler 1.2, the 1mbundle package 22mcommand can also package 1m:git 22mand
- 1m:path 22mdependencies besides .gem files. This needs to be explicitly
- enabled via the 1m--all 22moption. Once used, the 1m--all 22moption will be
- remembered.
+ 1m:path 22mdependencies besides .gem files. This needs to be explicitly en-
+ abled via the 1m--all 22moption. Once used, the 1m--all 22moption will be remem-
+ bered.
1mSUPPORT FOR MULTIPLE PLATFORMS0m
When using gems that have different packages for different platforms,
@@ -48,9 +48,9 @@ BUNDLE-PACKAGE(1) BUNDLE-PACKAGE(1)
run 1mbundle install22m, bundler is forced to check to see whether a 1m"java"0m
platformed 1mnokogiri 22mexists.
- Even though the 1mnokogiri 22mgem for the Ruby platform is 4mtechnically0m
- acceptable on JRuby, it has a C extension that does not run on JRuby.
- As a result, bundler will, by default, still connect to 1mrubygems.org 22mto
+ Even though the 1mnokogiri 22mgem for the Ruby platform is 4mtechnically24m ac-
+ ceptable on JRuby, it has a C extension that does not run on JRuby. As
+ a result, bundler will, by default, still connect to 1mrubygems.org 22mto
check whether it has a version of one of your gems more specific to
your platform.
diff --git a/man/bundle-pristine.1.txt b/man/bundle-pristine.1.txt
index a46f3c830c..2fd320282a 100644
--- a/man/bundle-pristine.1.txt
+++ b/man/bundle-pristine.1.txt
@@ -18,9 +18,9 @@ BUNDLE-PRISTINE(1) BUNDLE-PRISTINE(1)
gem's git repository as if one were installing from scratch.
Note: the Bundler gem cannot be restored to its original state with
- 1mpristine22m. One also cannot use 1mbundle pristine 22mon gems with a 'path'
- option in the Gemfile, because bundler has no original copy it can
- restore from.
+ 1mpristine22m. One also cannot use 1mbundle pristine 22mon gems with a 'path' op-
+ tion in the Gemfile, because bundler has no original copy it can re-
+ store from.
When is it practical to use 1mbundle pristine22m?
diff --git a/man/bundle-remove.1.txt b/man/bundle-remove.1.txt
index 2cf2ba6010..5248a0ee18 100644
--- a/man/bundle-remove.1.txt
+++ b/man/bundle-remove.1.txt
@@ -17,8 +17,8 @@ BUNDLE-REMOVE(1) BUNDLE-REMOVE(1)
1mOPTIONS0m
1m--install0m
Runs 1mbundle install 22mafter the given gems have been removed from
- the Gemfile, which ensures that both the lockfile and the
- installed gems on disk are also updated to remove the given
+ the Gemfile, which ensures that both the lockfile and the in-
+ stalled gems on disk are also updated to remove the given
gem(s).
Example:
diff --git a/man/bundle-update.1 b/man/bundle-update.1
index 1fe205cff0..513bc64905 100644
--- a/man/bundle-update.1
+++ b/man/bundle-update.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-UPDATE" "1" "December 2018" "" ""
+.TH "BUNDLE\-UPDATE" "1" "January 2019" "" ""
.
.SH "NAME"
\fBbundle\-update\fR \- Update your gems to the latest available versions
diff --git a/man/bundle-update.1.txt b/man/bundle-update.1.txt
index 1a206e2c49..d40b05485a 100644
--- a/man/bundle-update.1.txt
+++ b/man/bundle-update.1.txt
@@ -35,8 +35,8 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
1m--source rails0m
1m--local0m
- Do not attempt to fetch gems remotely and use the gem cache
- instead.
+ Do not attempt to fetch gems remotely and use the gem cache in-
+ stead.
1m--ruby 22mUpdate the locked version of Ruby to the current version of
Ruby.
@@ -79,8 +79,8 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
shared dependencies to be updated.
1mUPDATING ALL GEMS0m
- If you run 1mbundle update --all22m, bundler will ignore any previously
- installed gems and resolve all dependencies again based on the latest
+ If you run 1mbundle update --all22m, bundler will ignore any previously in-
+ stalled gems and resolve all dependencies again based on the latest
versions of all gems available in the sources.
Consider the following Gemfile(5):
@@ -95,8 +95,8 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
When you run bundle install(1) 4mbundle-install.1.html24m the first time,
- bundler will resolve all of the dependencies, all the way down, and
- install what you need:
+ bundler will resolve all of the dependencies, all the way down, and in-
+ stall what you need:
@@ -153,8 +153,8 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
To do this, run 1mbundle update --all22m, which will ignore the 1mGem-0m
1mfile.lock22m, and resolve all the dependencies again. Keep in mind that
this process can result in a significantly different set of the 25
- gems, based on the requirements of new gems that the gem authors
- released since the last time you ran 1mbundle update --all22m.
+ gems, based on the requirements of new gems that the gem authors re-
+ leased since the last time you ran 1mbundle update --all22m.
1mUPDATING A LIST OF GEMS0m
Sometimes, you want to update a single gem in the Gemfile(5), and leave
@@ -182,8 +182,8 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
- The 1mthin 22mgem depends on 1mrack >= 1.022m, while 1mrack-perftools-profiler0m
- depends on 1mrack ~> 1.022m. If you run bundle install, you get:
+ The 1mthin 22mgem depends on 1mrack >= 1.022m, while 1mrack-perftools-profiler 22mde-
+ pends on 1mrack ~> 1.022m. If you run bundle install, you get:
@@ -200,8 +200,8 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
In this case, the two gems have their own set of dependencies, but they
- share 1mrack 22min common. If you run 1mbundle update thin22m, bundler will
- update 1mdaemons22m, 1meventmachine 22mand 1mrack22m, which are dependencies of 1mthin22m,
+ share 1mrack 22min common. If you run 1mbundle update thin22m, bundler will up-
+ date 1mdaemons22m, 1meventmachine 22mand 1mrack22m, which are dependencies of 1mthin22m,
but not 1mopen4 22mor 1mperftools.rb22m, which are dependencies of
1mrack-perftools_profiler22m. Note that 1mbundle update thin 22mwill update 1mrack0m
even though it's 4malso24m a dependency of 1mrack-perftools_profiler22m.
@@ -215,10 +215,10 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
4mdle-install.1.html24m:
In this scenario, updating the 1mthin 22mversion manually in the Gemfile(5),
- and then running bundle install(1) 4mbundle-install.1.html24m will only
- update 1mdaemons 22mand 1meventmachine22m, but not 1mrack22m. For more information,
- see the 1mCONSERVATIVE UPDATING 22msection of bundle install(1) 4mbun-0m
- 4mdle-install.1.html24m.
+ and then running bundle install(1) 4mbundle-install.1.html24m will only up-
+ date 1mdaemons 22mand 1meventmachine22m, but not 1mrack22m. For more information, see
+ the 1mCONSERVATIVE UPDATING 22msection of bundle install(1) 4mbundle-in-0m
+ 4mstall.1.html24m.
Starting with 1.14, specifying the 1m--conservative 22moption will also pre-
vent shared dependencies from being updated.
@@ -242,11 +242,11 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
Do not allow any gem to be updated past latest 1m--patch 22m| 1m--minor0m
| 1m--major22m.
- When Bundler is resolving what versions to use to satisfy declared
- requirements in the Gemfile or in parent gems, it looks up all avail-
- able versions, filters out any versions that don't satisfy the require-
- ment, and then, by default, sorts them from newest to oldest, consider-
- ing them in that order.
+ When Bundler is resolving what versions to use to satisfy declared re-
+ quirements in the Gemfile or in parent gems, it looks up all available
+ versions, filters out any versions that don't satisfy the requirement,
+ and then, by default, sorts them from newest to oldest, considering
+ them in that order.
Providing one of the patch level options (e.g. 1m--patch22m) changes the
sort order of the satisfying versions, causing Bundler to consider the
@@ -266,16 +266,16 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
"1.1.1, 1.1.0, 1.0.4, 1.0.3, 1.0.2, 2.0.0".
Combining the 1m--strict 22moption with any of the patch level options will
- remove any versions beyond the scope of the patch level option, to
- ensure that no gem is updated that far.
+ remove any versions beyond the scope of the patch level option, to en-
+ sure that no gem is updated that far.
To continue the previous example, if both 1m--patch 22mand 1m--strict 22moptions
are used, the available versions for resolution would be "1.0.4, 1.0.3,
1.0.2". If 1m--minor 22mand 1m--strict 22mare used, it would be "1.1.1, 1.1.0,
1.0.4, 1.0.3, 1.0.2".
- Gem requirements as defined in the Gemfile will still be the first
- determining factor for what versions are available. If the gem require-
+ Gem requirements as defined in the Gemfile will still be the first de-
+ termining factor for what versions are available. If the gem require-
ment for 1mfoo 22min the Gemfile is '~> 1.0', that will accomplish the same
thing as providing the 1m--minor 22mand 1m--strict 22moptions.
@@ -328,8 +328,8 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
In case 1, bar is upgraded to 2.1.1, a minor version increase, because
the dependency from foo 1.4.5 required it.
- In case 2, only foo is requested to be unlocked, but bar is also
- allowed to move because it's not a declared dependency in the Gemfile.
+ In case 2, only foo is requested to be unlocked, but bar is also al-
+ lowed to move because it's not a declared dependency in the Gemfile.
In case 3, bar goes up a whole major release, because a minor increase
is preferred now for foo, and when it goes to 1.5.1, it requires 3.0.0
@@ -388,4 +388,4 @@ BUNDLE-UPDATE(1) BUNDLE-UPDATE(1)
- December 2018 BUNDLE-UPDATE(1)
+ January 2019 BUNDLE-UPDATE(1)
diff --git a/man/bundle.1 b/man/bundle.1
index abb90154d9..cc777c9aab 100644
--- a/man/bundle.1
+++ b/man/bundle.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE" "1" "November 2018" "" ""
+.TH "BUNDLE" "1" "January 2019" "" ""
.
.SH "NAME"
\fBbundle\fR \- Ruby Dependency Management
@@ -116,6 +116,10 @@ Clean up unused gems in your Bundler directory
\fBbundle doctor(1)\fR \fIbundle\-doctor\.1\.html\fR
Display warnings about common problems
.
+.TP
+\fBbundle remove(1)\fR \fIbundle\-remove\.1\.html\fR
+Removes gems from the Gemfile
+.
.SH "PLUGINS"
When running a command that isn\'t listed in PRIMARY COMMANDS or UTILITIES, Bundler will try to find an executable on your path named \fBbundler\-<command>\fR and execute it, passing down any extra arguments to it\.
.
diff --git a/man/bundle.1.txt b/man/bundle.1.txt
index 0f38628621..751411846f 100644
--- a/man/bundle.1.txt
+++ b/man/bundle.1.txt
@@ -56,8 +56,8 @@ BUNDLE(1) BUNDLE(1)
Generate binstubs for executables in a gem
1mbundle check(1) 4m22mbundle-check.1.html0m
- Determine whether the requirements for your application are
- installed and available to Bundler
+ Determine whether the requirements for your application are in-
+ stalled and available to Bundler
1mbundle show(1) 4m22mbundle-show.1.html0m
Show the source location of a particular gem in the bundle
@@ -92,6 +92,9 @@ BUNDLE(1) BUNDLE(1)
1mbundle doctor(1) 4m22mbundle-doctor.1.html0m
Display warnings about common problems
+ 1mbundle remove(1) 4m22mbundle-remove.1.html0m
+ Removes gems from the Gemfile
+
1mPLUGINS0m
When running a command that isn't listed in PRIMARY COMMANDS or UTILI-
TIES, Bundler will try to find an executable on your path named
@@ -110,4 +113,4 @@ BUNDLE(1) BUNDLE(1)
- November 2018 BUNDLE(1)
+ January 2019 BUNDLE(1)
diff --git a/man/bundle.ronn b/man/bundle.ronn
index c03201a30c..0005692abd 100644
--- a/man/bundle.ronn
+++ b/man/bundle.ronn
@@ -94,6 +94,9 @@ We divide `bundle` subcommands into primary commands and utilities:
* [`bundle doctor(1)`](bundle-doctor.1.html):
Display warnings about common problems
+* [`bundle remove(1)`](bundle-remove.1.html):
+ Removes gems from the Gemfile
+
## PLUGINS
When running a command that isn't listed in PRIMARY COMMANDS or UTILITIES,
diff --git a/man/gemfile.5 b/man/gemfile.5
index ccb258f50f..c40ad9c71b 100644
--- a/man/gemfile.5
+++ b/man/gemfile.5
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "GEMFILE" "5" "November 2018" "" ""
+.TH "GEMFILE" "5" "January 2019" "" ""
.
.SH "NAME"
\fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
@@ -299,19 +299,19 @@ The full list of platforms and supported versions includes:
.
.TP
\fBruby\fR
-1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5
+1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
.
.TP
\fBmri\fR
-1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5
+1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
.
.TP
\fBmingw\fR
-1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5
+1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
.
.TP
\fBx64_mingw\fR
-2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5
+2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
.
.P
As with groups, you can specify one or more platforms:
diff --git a/man/gemfile.5.ronn b/man/gemfile.5.ronn
index f4772f6d8d..c941463edc 100644
--- a/man/gemfile.5.ronn
+++ b/man/gemfile.5.ronn
@@ -216,13 +216,13 @@ used on platforms with Ruby 2.3, use:
The full list of platforms and supported versions includes:
* `ruby`:
- 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5
+ 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
* `mri`:
- 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5
+ 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
* `mingw`:
- 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5
+ 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
* `x64_mingw`:
- 2.0, 2.1, 2.2, 2.3, 2.4, 2.5
+ 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
As with groups, you can specify one or more platforms:
diff --git a/man/gemfile.5.txt b/man/gemfile.5.txt
index 85ef7135d9..0a01c045d7 100644
--- a/man/gemfile.5.txt
+++ b/man/gemfile.5.txt
@@ -43,8 +43,8 @@ GEMFILE(5) GEMFILE(5)
Some gem sources require a username and password. Use bundle config(1)
4mbundle-config.1.html24m to set the username and password for any of the
sources that need it. The command must be run once on each computer
- that will install the Gemfile, but this keeps the credentials from
- being stored in plain text in version control.
+ that will install the Gemfile, but this keeps the credentials from be-
+ ing stored in plain text in version control.
@@ -98,8 +98,8 @@ GEMFILE(5) GEMFILE(5)
o Other implementations 4mhttps://www.ruby-lang.org/en/about/24m of Ruby
exist. Some of the more well-known implementations include Rubinius
4mhttps://rubinius.com/24m, and JRuby 4mhttp://jruby.org/24m. Rubinius is an
- alternative implementation of Ruby written in Ruby. JRuby is an
- implementation of Ruby on the JVM, short for Java Virtual Machine.
+ alternative implementation of Ruby written in Ruby. JRuby is an im-
+ plementation of Ruby on the JVM, short for Java Virtual Machine.
@@ -227,8 +227,8 @@ GEMFILE(5) GEMFILE(5)
Note that on 1mbundle install22m, bundler downloads and evaluates all gems,
in order to create a single canonical list of all of the required gems
and their dependencies. This means that you cannot list different ver-
- sions of the same gems in different groups. For more details, see
- Understanding Bundler 4mhttp://bundler.io/rationale.html24m.
+ sions of the same gems in different groups. For more details, see Un-
+ derstanding Bundler 4mhttp://bundler.io/rationale.html24m.
1mPLATFORMS0m
If a gem should only be used in a particular platform or set of plat-
@@ -256,8 +256,8 @@ GEMFILE(5) GEMFILE(5)
1mmswin 22mWindows
- You can restrict further by platform and version for all platforms
- 4mexcept24m for 1mrbx22m, 1mjruby22m, 1mtruffleruby 22mand 1mmswin22m.
+ You can restrict further by platform and version for all platforms 4mex-0m
+ 4mcept24m for 1mrbx22m, 1mjruby22m, 1mtruffleruby 22mand 1mmswin22m.
To specify a version in addition to a platform, append the version num-
ber without the delimiter to the platform. For example, to specify that
@@ -271,14 +271,14 @@ GEMFILE(5) GEMFILE(5)
The full list of platforms and supported versions includes:
- 1mruby 22m1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5
+ 1mruby 22m1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
- 1mmri 22m1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5
+ 1mmri 22m1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
- 1mmingw 22m1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5
+ 1mmingw 22m1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
1mx64_mingw0m
- 2.0, 2.1, 2.2, 2.3, 2.4, 2.5
+ 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
As with groups, you can specify one or more platforms:
@@ -313,8 +313,8 @@ GEMFILE(5) GEMFILE(5)
it will fall back on global sources using the ordering described in
4mSOURCE24m 4mPRIORITY24m.
- Selecting a specific source repository this way also suppresses the
- ambiguous gem warning described above in 4mGLOBAL24m 4mSOURCES24m 4m(#source)24m.
+ Selecting a specific source repository this way also suppresses the am-
+ biguous gem warning described above in 4mGLOBAL24m 4mSOURCES24m 4m(#source)24m.
Using the 1m:source 22moption for an individual gem will also make that
source available as a possible global source for any other gems which
@@ -342,13 +342,13 @@ GEMFILE(5) GEMFILE(5)
can deliver malicious code and compromise your system. HTTPS and SSH
are strongly preferred.
- The 1mgroup22m, 1mplatforms22m, and 1mrequire 22moptions are available and behave
- exactly the same as they would for a normal gem.
+ The 1mgroup22m, 1mplatforms22m, and 1mrequire 22moptions are available and behave ex-
+ actly the same as they would for a normal gem.
- A git repository 1mSHOULD 22mhave at least one file, at the root of the
- directory containing the gem, with the extension 1m.gemspec22m. This file
- 1mMUST 22mcontain a valid gem specification, as expected by the 1mgem build0m
- command.
+ A git repository 1mSHOULD 22mhave at least one file, at the root of the di-
+ rectory containing the gem, with the extension 1m.gemspec22m. This file 1mMUST0m
+ contain a valid gem specification, as expected by the 1mgem build 22mcom-
+ mand.
If a git repository does not have a 1m.gemspec22m, bundler will attempt to
create one, but it will not contain any dependencies, executables, or C
@@ -419,8 +419,8 @@ GEMFILE(5) GEMFILE(5)
1mGIT SOURCE0m
A custom git source can be defined via the 1mgit_source 22mmethod. Provide
the source's name as an argument, and a block which receives a single
- argument and interpolates it into a string to return the full repo
- address:
+ argument and interpolates it into a string to return the full repo ad-
+ dress:
@@ -510,8 +510,8 @@ GEMFILE(5) GEMFILE(5)
- Since the 1mbitbucket 22mmethod is a specialization of 1mgit_source22m, it
- accepts a 1m:branch 22mnamed argument.
+ Since the 1mbitbucket 22mmethod is a specialization of 1mgit_source22m, it ac-
+ cepts a 1m:branch 22mnamed argument.
1mPATH0m
You can specify that a gem is located in a particular location on the
@@ -573,8 +573,8 @@ GEMFILE(5) GEMFILE(5)
In the case of the group block form the :optional option can be given
- to prevent a group from being installed unless listed in the 1m--with0m
- option given to the 1mbundle install 22mcommand.
+ to prevent a group from being installed unless listed in the 1m--with 22mop-
+ tion given to the 1mbundle install 22mcommand.
In the case of the 1mgit 22mblock form, the 1m:ref22m, 1m:branch22m, 1m:tag22m, and 1m:sub-0m
1mmodules 22moptions may be passed to the 1mgit 22mmethod, and all gems in the
@@ -584,8 +584,8 @@ GEMFILE(5) GEMFILE(5)
available as a possible global source for any other gems which do not
specify explicit sources. Thus, when defining source blocks, it is rec-
ommended that you also ensure all other gems in the Gemfile are using
- explicit sources, either via source blocks or 1m:source 22mdirectives on
- individual gems.
+ explicit sources, either via source blocks or 1m:source 22mdirectives on in-
+ dividual gems.
1mINSTALL_IF0m
The 1minstall_if 22mmethod allows gems to be installed based on a proc or
@@ -612,12 +612,12 @@ GEMFILE(5) GEMFILE(5)
cies listed in the 1m.gemspec 22mfile.
The 1mgemspec 22mmethod adds any runtime dependencies as gem requirements in
- the default group. It also adds development dependencies as gem
- requirements in the 1mdevelopment 22mgroup. Finally, it adds a gem require-
- ment on your project (1m:path => '.'22m). In conjunction with 1mBundler.setup22m,
- this allows you to require project files in your test code as you would
- if the project were installed as a gem; you need not manipulate the
- load path manually or require project files via relative paths.
+ the default group. It also adds development dependencies as gem re-
+ quirements in the 1mdevelopment 22mgroup. Finally, it adds a gem requirement
+ on your project (1m:path => '.'22m). In conjunction with 1mBundler.setup22m, this
+ allows you to require project files in your test code as you would if
+ the project were installed as a gem; you need not manipulate the load
+ path manually or require project files via relative paths.
The 1mgemspec 22mmethod supports optional 1m:path22m, 1m:glob22m, 1m:name22m, and 1m:develop-0m
1mment_group 22moptions, which control where bundler looks for the 1m.gemspec22m,
@@ -650,4 +650,4 @@ GEMFILE(5) GEMFILE(5)
- November 2018 GEMFILE(5)
+ January 2019 GEMFILE(5)
diff --git a/spec/bundler/bundler/cli_spec.rb b/spec/bundler/bundler/cli_spec.rb
index c82d46587e..9a2591ac96 100644
--- a/spec/bundler/bundler/cli_spec.rb
+++ b/spec/bundler/bundler/cli_spec.rb
@@ -28,7 +28,7 @@ RSpec.describe "bundle executable" do
end
context "with no arguments" do
- it "prints a concise help message", :bundler => "2" do
+ it "prints a concise help message", :bundler => "3" do
bundle! ""
expect(last_command.stderr).to be_empty
expect(last_command.stdout).to include("Bundler version #{Bundler::VERSION}").
@@ -161,12 +161,12 @@ To install the latest version, run `gem install bundler --pre`
end
RSpec.describe "bundler executable" do
- it "shows the bundler version just as the `bundle` executable does", :bundler => "< 2" do
+ it "shows the bundler version just as the `bundle` executable does", :bundler => "< 3" do
bundler "--version"
expect(out).to eq("Bundler version #{Bundler::VERSION}")
end
- it "shows the bundler version just as the `bundle` executable does", :bundler => "2" do
+ it "shows the bundler version just as the `bundle` executable does", :bundler => "3" do
bundler "--version"
expect(out).to eq(Bundler::VERSION)
end
diff --git a/spec/bundler/bundler/definition_spec.rb b/spec/bundler/bundler/definition_spec.rb
index ceb7b4bf05..a27c5b0a54 100644
--- a/spec/bundler/bundler/definition_spec.rb
+++ b/spec/bundler/bundler/definition_spec.rb
@@ -34,7 +34,7 @@ RSpec.describe Bundler::Definition do
end
describe "detects changes" do
- it "for a path gem with changes", :bundler => "< 2" do
+ it "for a path gem with changes", :bundler => "< 3" do
build_lib "foo", "1.0", :path => lib_path("foo")
install_gemfile <<-G
@@ -72,7 +72,7 @@ RSpec.describe Bundler::Definition do
G
end
- it "for a path gem with changes", :bundler => "2" do
+ it "for a path gem with changes", :bundler => "3" do
build_lib "foo", "1.0", :path => lib_path("foo")
install_gemfile <<-G
@@ -110,7 +110,7 @@ RSpec.describe Bundler::Definition do
G
end
- it "for a path gem with deps and no changes", :bundler => "< 2" do
+ it "for a path gem with deps and no changes", :bundler => "< 3" do
build_lib "foo", "1.0", :path => lib_path("foo") do |s|
s.add_dependency "rack", "1.0"
s.add_development_dependency "net-ssh", "1.0"
@@ -147,7 +147,7 @@ RSpec.describe Bundler::Definition do
G
end
- it "for a path gem with deps and no changes", :bundler => "2" do
+ it "for a path gem with deps and no changes", :bundler => "3" do
build_lib "foo", "1.0", :path => lib_path("foo") do |s|
s.add_dependency "rack", "1.0"
s.add_development_dependency "net-ssh", "1.0"
diff --git a/spec/bundler/bundler/dsl_spec.rb b/spec/bundler/bundler/dsl_spec.rb
index 89528eb745..94d54ad877 100644
--- a/spec/bundler/bundler/dsl_spec.rb
+++ b/spec/bundler/bundler/dsl_spec.rb
@@ -32,7 +32,7 @@ RSpec.describe Bundler::Dsl do
end
end
- context "default hosts (git, gist)", :bundler => "< 2" do
+ context "default hosts (git, gist)", :bundler => "< 3" do
context "when github.https config is true" do
before { bundle "config github.https true" }
it "converts :github to :git using https" do
@@ -79,7 +79,7 @@ RSpec.describe Bundler::Dsl do
end
end
- context "default git sources", :bundler => "2" do
+ context "default git sources", :bundler => "3" do
it "has none" do
expect(subject.instance_variable_get(:@git_sources)).to eq({})
end
@@ -245,7 +245,7 @@ RSpec.describe Bundler::Dsl do
# gem 'spree_api'
# gem 'spree_backend'
# end
- describe "#github", :bundler => "< 2" do
+ describe "#github", :bundler => "< 3" do
it "from github" do
spree_gems = %w[spree_core spree_api spree_backend]
subject.github "spree" do
@@ -258,7 +258,7 @@ RSpec.describe Bundler::Dsl do
end
end
- describe "#github", :bundler => "2" do
+ describe "#github", :bundler => "3" do
it "from github" do
expect do
spree_gems = %w[spree_core spree_api spree_backend]
diff --git a/spec/bundler/bundler/source_list_spec.rb b/spec/bundler/bundler/source_list_spec.rb
index ce3353012c..541a46c6d0 100644
--- a/spec/bundler/bundler/source_list_spec.rb
+++ b/spec/bundler/bundler/source_list_spec.rb
@@ -115,7 +115,7 @@ RSpec.describe Bundler::SourceList do
end
end
- describe "#add_rubygems_remote", :bundler => "< 2" do
+ describe "#add_rubygems_remote", :bundler => "< 3" do
let!(:returned_source) { source_list.add_rubygems_remote("https://rubygems.org/") }
it "returns the aggregate rubygems source" do
@@ -372,7 +372,7 @@ RSpec.describe Bundler::SourceList do
source_list.add_git_source("uri" => "git://first-git.org/path.git")
end
- it "combines the rubygems sources into a single instance, removing duplicate remotes from the end", :bundler => "< 2" do
+ it "combines the rubygems sources into a single instance, removing duplicate remotes from the end", :bundler => "< 3" do
expect(source_list.lock_sources).to eq [
Bundler::Source::Git.new("uri" => "git://first-git.org/path.git"),
Bundler::Source::Git.new("uri" => "git://second-git.org/path.git"),
@@ -391,7 +391,7 @@ RSpec.describe Bundler::SourceList do
]
end
- it "returns all sources, without combining rubygems sources", :bundler => "2" do
+ it "returns all sources, without combining rubygems sources", :bundler => "3" do
expect(source_list.lock_sources).to eq [
Bundler::Source::Rubygems.new,
Bundler::Source::Rubygems.new("remotes" => ["https://duplicate-rubygems.org"]),
diff --git a/spec/bundler/cache/path_spec.rb b/spec/bundler/cache/path_spec.rb
index 8c6a843476..12be2dbcf8 100644
--- a/spec/bundler/cache/path_spec.rb
+++ b/spec/bundler/cache/path_spec.rb
@@ -86,7 +86,7 @@
expect(bundled_app("vendor/cache/bar-1.0")).not_to exist
end
- it "raises a warning without --all", :bundler => "< 2" do
+ it "raises a warning without --all", :bundler => "< 3" do
build_lib "foo"
install_gemfile <<-G
diff --git a/spec/bundler/commands/binstubs_spec.rb b/spec/bundler/commands/binstubs_spec.rb
index 6a705d3423..7f2e81c099 100644
--- a/spec/bundler/commands/binstubs_spec.rb
+++ b/spec/bundler/commands/binstubs_spec.rb
@@ -134,6 +134,33 @@ RSpec.describe "bundle binstubs <gem>" do
if ENV["BUNDLER_SPEC_SUB_VERSION"]
let(:system_bundler_version) { Bundler::VERSION }
end
+
+ before do
+ gemfile <<-G
+ source "file:///Users/colby/Projects/bundler/tmp/gems/remote2"
+ gem "rack"
+ gem "prints_loaded_gems"
+ G
+
+ lockfile <<-G
+ GEM
+ remote: file:///Users/colby/Projects/bundler/tmp/gems/remote2/
+ specs:
+ prints_loaded_gems (1.0)
+ rack (1.2)
+
+ PLATFORMS
+ ruby
+
+ DEPENDENCIES
+ prints_loaded_gems
+ rack
+
+ BUNDLED WITH
+ #{system_bundler_version}
+ G
+ end
+
it "runs bundler" do
sys_exec! "#{bundled_app("bin/bundle")} install"
expect(out).to eq %(system bundler #{system_bundler_version}\n["install"])
@@ -313,7 +340,7 @@ RSpec.describe "bundle binstubs <gem>" do
expect(bundled_app("exec/rackup")).to exist
end
- it "setting is saved for bundle install", :bundler => "< 2" do
+ it "setting is saved for bundle install", :bundler => "< 3" do
install_gemfile <<-G
source "file://#{gem_repo1}"
gem "rack"
diff --git a/spec/bundler/commands/check_spec.rb b/spec/bundler/commands/check_spec.rb
index f2af446fbf..890f4b1356 100644
--- a/spec/bundler/commands/check_spec.rb
+++ b/spec/bundler/commands/check_spec.rb
@@ -92,7 +92,7 @@ RSpec.describe "bundle check" do
expect(out).to include("Bundler can't satisfy your Gemfile's dependencies.")
end
- it "remembers --without option from install", :bundler => "< 2" do
+ it "remembers --without option from install", :bundler => "< 3" do
gemfile <<-G
source "file://#{gem_repo1}"
group :foo do
@@ -238,7 +238,7 @@ RSpec.describe "bundle check" do
expect(last_command).to be_failure
end
- context "--path", :bundler => "< 2" do
+ context "--path", :bundler => "< 3" do
before do
gemfile <<-G
source "file://#{gem_repo1}"
@@ -254,7 +254,7 @@ RSpec.describe "bundle check" do
expect(out).to include("The Gemfile's dependencies are satisfied")
end
- it "should write to .bundle/config", :bundler => "< 2" do
+ it "should write to .bundle/config", :bundler => "< 3" do
bundle "check --path vendor/bundle"
bundle! "check"
end
diff --git a/spec/bundler/commands/clean_spec.rb b/spec/bundler/commands/clean_spec.rb
index 37cbeeb4e7..158d58d67c 100644
--- a/spec/bundler/commands/clean_spec.rb
+++ b/spec/bundler/commands/clean_spec.rb
@@ -142,7 +142,7 @@ RSpec.describe "bundle clean" do
bundle :clean
digest = Digest(:SHA1).hexdigest(git_path.to_s)
- cache_path = Bundler::VERSION.start_with?("1.") ? vendored_gems("cache/bundler/git/foo-1.0-#{digest}") : home(".bundle/cache/git/foo-1.0-#{digest}")
+ cache_path = Bundler.bundler_major_version < 3 ? vendored_gems("cache/bundler/git/foo-1.0-#{digest}") : home(".bundle/cache/git/foo-1.0-#{digest}")
expect(cache_path).to exist
end
@@ -343,7 +343,7 @@ RSpec.describe "bundle clean" do
expect(out).to include("rack (1.0.0)").and include("thin (1.0)")
end
- it "--clean should override the bundle setting on install", :bundler => "< 2" do
+ it "--clean should override the bundle setting on install", :bundler => "< 3" do
gemfile <<-G
source "file://#{gem_repo1}"
@@ -363,7 +363,7 @@ RSpec.describe "bundle clean" do
should_not_have_gems "thin-1.0"
end
- it "--clean should override the bundle setting on update", :bundler => "< 2" do
+ it "--clean should override the bundle setting on update", :bundler => "< 3" do
build_repo2
gemfile <<-G
@@ -383,7 +383,7 @@ RSpec.describe "bundle clean" do
should_not_have_gems "foo-1.0"
end
- it "automatically cleans when path has not been set", :bundler => "2" do
+ it "automatically cleans when path has not been set", :bundler => "3" do
build_repo2
install_gemfile! <<-G
diff --git a/spec/bundler/commands/console_spec.rb b/spec/bundler/commands/console_spec.rb
index 9bf66e8f5b..05b0a6c1e4 100644
--- a/spec/bundler/commands/console_spec.rb
+++ b/spec/bundler/commands/console_spec.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-RSpec.describe "bundle console", :bundler => "< 2" do
+RSpec.describe "bundle console", :bundler => "< 3" do
before :each do
install_gemfile <<-G
source "file://#{gem_repo1}"
diff --git a/spec/bundler/commands/exec_spec.rb b/spec/bundler/commands/exec_spec.rb
index 6835305d55..2e3cb6621e 100644
--- a/spec/bundler/commands/exec_spec.rb
+++ b/spec/bundler/commands/exec_spec.rb
@@ -570,22 +570,7 @@ RSpec.describe "bundle exec" do
it_behaves_like "it runs"
end
- context "the executable is empty", :bundler => "< 2" do
- let(:executable) { "" }
-
- let(:exit_code) { 0 }
- let(:expected) { "#{path} is empty" }
- let(:expected_err) { "" }
- if LessThanProc.with(RUBY_VERSION).call("1.9")
- # Kernel#exec in ruby < 1.9 will raise Errno::ENOEXEC if the command content is empty,
- # even if the command is set as an executable.
- pending "Kernel#exec is different"
- else
- it_behaves_like "it runs"
- end
- end
-
- context "the executable is empty", :bundler => "2" do
+ context "the executable is empty" do
let(:executable) { "" }
let(:exit_code) { 0 }
@@ -594,18 +579,7 @@ RSpec.describe "bundle exec" do
it_behaves_like "it runs"
end
- context "the executable raises", :bundler => "< 2" do
- let(:executable) { super() << "\nraise 'ERROR'" }
- let(:exit_code) { 1 }
- let(:expected) { super() << "\nbundler: failed to load command: #{path} (#{path})" }
- let(:expected_err) do
- "RuntimeError: ERROR\n #{path}:10" +
- (Bundler.current_ruby.ruby_18? ? "" : ":in `<top (required)>'")
- end
- it_behaves_like "it runs"
- end
-
- context "the executable raises", :bundler => "2" do
+ context "the executable raises" do
let(:executable) { super() << "\nraise 'ERROR'" }
let(:exit_code) { 1 }
let(:expected_err) do
@@ -615,16 +589,7 @@ RSpec.describe "bundle exec" do
it_behaves_like "it runs"
end
- context "the executable raises an error without a backtrace", :bundler => "< 2" do
- let(:executable) { super() << "\nclass Err < Exception\ndef backtrace; end;\nend\nraise Err" }
- let(:exit_code) { 1 }
- let(:expected) { super() << "\nbundler: failed to load command: #{path} (#{path})" }
- let(:expected_err) { "Err: Err" }
-
- it_behaves_like "it runs"
- end
-
- context "the executable raises an error without a backtrace", :bundler => "2" do
+ context "the executable raises an error without a backtrace" do
let(:executable) { super() << "\nclass Err < Exception\ndef backtrace; end;\nend\nraise Err" }
let(:exit_code) { 1 }
let(:expected_err) { "bundler: failed to load command: #{path} (#{path})\nErr: Err" }
@@ -638,7 +603,7 @@ RSpec.describe "bundle exec" do
it_behaves_like "it runs"
end
- context "when Bundler.setup fails", :bundler => "< 2" do
+ context "when Bundler.setup fails", :bundler => "< 3" do
before do
gemfile <<-G
gem 'rack', '2'
@@ -655,7 +620,7 @@ RSpec.describe "bundle exec" do
it_behaves_like "it runs"
end
- context "when Bundler.setup fails", :bundler => "2" do
+ context "when Bundler.setup fails", :bundler => "3" do
before do
gemfile <<-G
gem 'rack', '2'
@@ -800,10 +765,11 @@ __FILE__: #{path.to_s.inspect}
it "overrides disable_shared_gems so bundler can be found" do
skip "bundler 1.16.x is not support with Ruby 2.6 on Travis CI" if RUBY_VERSION >= "2.6"
+ system_gems :bundler
file = bundled_app("file_that_bundle_execs.rb")
create_file(file, <<-RB)
#!#{Gem.ruby}
- puts `bundle exec echo foo`
+ puts `#{system_bundle_bin_path} exec echo foo`
RB
file.chmod(0o777)
bundle! "exec #{file}", :system_bundler => true
diff --git a/spec/bundler/commands/init_spec.rb b/spec/bundler/commands/init_spec.rb
index 9b5bd95814..8a8f0effa0 100644
--- a/spec/bundler/commands/init_spec.rb
+++ b/spec/bundler/commands/init_spec.rb
@@ -1,19 +1,19 @@
# frozen_string_literal: true
RSpec.describe "bundle init" do
- it "generates a Gemfile", :bundler => "< 2" do
+ it "generates a Gemfile", :bundler => "< 3" do
bundle! :init
expect(out).to include("Writing new Gemfile")
expect(bundled_app("Gemfile")).to be_file
end
- it "generates a gems.rb", :bundler => "2" do
+ it "generates a gems.rb", :bundler => "3" do
bundle! :init
expect(out).to include("Writing new gems.rb")
expect(bundled_app("gems.rb")).to be_file
end
- context "when a Gemfile already exists", :bundler => "< 2" do
+ context "when a Gemfile already exists", :bundler => "< 3" do
before do
create_file "Gemfile", <<-G
gem "rails"
@@ -30,7 +30,7 @@ RSpec.describe "bundle init" do
end
end
- context "when gems.rb already exists", :bundler => ">= 2" do
+ context "when gems.rb already exists", :bundler => ">= 3" do
before do
create_file("gems.rb", <<-G)
gem "rails"
@@ -47,7 +47,7 @@ RSpec.describe "bundle init" do
end
end
- context "when a Gemfile exists in a parent directory", :bundler => "< 2" do
+ context "when a Gemfile exists in a parent directory", :bundler => "< 3" do
let(:subdir) { "child_dir" }
it "lets users generate a Gemfile in a child directory" do
@@ -82,7 +82,7 @@ RSpec.describe "bundle init" do
end
end
- context "when a gems.rb file exists in a parent directory", :bundler => ">= 2" do
+ context "when a gems.rb file exists in a parent directory", :bundler => ">= 3" do
let(:subdir) { "child_dir" }
it "lets users generate a Gemfile in a child directory" do
@@ -99,7 +99,7 @@ RSpec.describe "bundle init" do
end
end
- context "given --gemspec option", :bundler => "< 2" do
+ context "given --gemspec option", :bundler => "< 3" do
let(:spec_file) { tmp.join("test.gemspec") }
it "should generate from an existing gemspec" do
@@ -115,7 +115,7 @@ RSpec.describe "bundle init" do
bundle :init, :gemspec => spec_file
- gemfile = if Bundler::VERSION[0, 2] == "1."
+ gemfile = if Bundler::VERSION[0, 2].to_i < 3
bundled_app("Gemfile").read
else
bundled_app("gems.rb").read
@@ -146,7 +146,7 @@ RSpec.describe "bundle init" do
context "when init_gems_rb setting is enabled" do
before { bundle "config init_gems_rb true" }
- context "given --gemspec option", :bundler => "< 2" do
+ context "given --gemspec option", :bundler => "< 3" do
let(:spec_file) { tmp.join("test.gemspec") }
before do
diff --git a/spec/bundler/commands/inject_spec.rb b/spec/bundler/commands/inject_spec.rb
index b7ffc89a34..d091e01380 100644
--- a/spec/bundler/commands/inject_spec.rb
+++ b/spec/bundler/commands/inject_spec.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-RSpec.describe "bundle inject", :bundler => "< 2" do
+RSpec.describe "bundle inject", :bundler => "< 3" do
before :each do
gemfile <<-G
source "file://#{gem_repo1}"
@@ -79,7 +79,7 @@ Usage: "bundle inject GEM VERSION"
context "when frozen" do
before do
bundle "install"
- if Bundler.feature_flag.bundler_2_mode?
+ if Bundler.feature_flag.bundler_3_mode?
bundle! "config --local deployment true"
else
bundle! "config --local frozen true"
diff --git a/spec/bundler/commands/install_spec.rb b/spec/bundler/commands/install_spec.rb
index 394f672fef..326f98161e 100644
--- a/spec/bundler/commands/install_spec.rb
+++ b/spec/bundler/commands/install_spec.rb
@@ -29,7 +29,7 @@ RSpec.describe "bundle install with gem sources" do
expect(bundled_app("Gemfile.lock")).to exist
end
- it "does not create ./.bundle by default", :bundler => "< 2" do
+ it "does not create ./.bundle by default", :bundler => "< 3" do
gemfile <<-G
source "file://#{gem_repo1}"
gem "rack"
@@ -275,14 +275,14 @@ RSpec.describe "bundle install with gem sources" do
expect(the_bundle).to include_gems "rack 1.0"
end
- it "allows running bundle install --system without deleting foo", :bundler => "< 2" do
+ it "allows running bundle install --system without deleting foo", :bundler => "< 3" do
bundle "install", forgotten_command_line_options(:path => "vendor")
bundle "install", forgotten_command_line_options(:system => true)
FileUtils.rm_rf(bundled_app("vendor"))
expect(the_bundle).to include_gems "rack 1.0"
end
- it "allows running bundle install --system after deleting foo", :bundler => "< 2" do
+ it "allows running bundle install --system after deleting foo", :bundler => "< 3" do
bundle "install", forgotten_command_line_options(:path => "vendor")
FileUtils.rm_rf(bundled_app("vendor"))
bundle "install", forgotten_command_line_options(:system => true)
@@ -290,7 +290,7 @@ RSpec.describe "bundle install with gem sources" do
end
end
- it "finds gems in multiple sources", :bundler => "< 2" do
+ it "finds gems in multiple sources", :bundler => "< 3" do
build_repo2
update_repo2
diff --git a/spec/bundler/commands/list_spec.rb b/spec/bundler/commands/list_spec.rb
index 5305176c65..ba4bb9b040 100644
--- a/spec/bundler/commands/list_spec.rb
+++ b/spec/bundler/commands/list_spec.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-RSpec.describe "bundle list", :bundler => "2" do
+RSpec.describe "bundle list", :bundler => "3" do
before do
install_gemfile <<-G
source "file://#{gem_repo1}"
diff --git a/spec/bundler/commands/outdated_spec.rb b/spec/bundler/commands/outdated_spec.rb
index fc1f1772e7..c9d3ac1de4 100644
--- a/spec/bundler/commands/outdated_spec.rb
+++ b/spec/bundler/commands/outdated_spec.rb
@@ -407,7 +407,7 @@ RSpec.describe "bundle outdated" do
expect(out).to include("Installing foo 1.0")
end
- context "after bundle install --deployment", :bundler => "< 2" do
+ context "after bundle install --deployment", :bundler => "< 3" do
before do
install_gemfile <<-G, forgotten_command_line_options(:deployment => true)
source "file://#{gem_repo2}"
diff --git a/spec/bundler/commands/package_spec.rb b/spec/bundler/commands/package_spec.rb
index 6351909bc7..a8426e6322 100644
--- a/spec/bundler/commands/package_spec.rb
+++ b/spec/bundler/commands/package_spec.rb
@@ -141,7 +141,7 @@ RSpec.describe "bundle package" do
end
end
- context "with --path", :bundler => "< 2" do
+ context "with --path", :bundler => "< 3" do
it "sets root directory for gems" do
gemfile <<-D
source "file://#{gem_repo1}"
diff --git a/spec/bundler/commands/pristine_spec.rb b/spec/bundler/commands/pristine_spec.rb
index 0bfc37560a..d8761bba26 100644
--- a/spec/bundler/commands/pristine_spec.rb
+++ b/spec/bundler/commands/pristine_spec.rb
@@ -49,7 +49,7 @@ RSpec.describe "bundle pristine", :ruby_repo do
bundle! "pristine", :system_bundler => true
bundle! "-v", :system_bundler => true
- expected = if Bundler::VERSION < "2.0"
+ expected = if Bundler::VERSION < "3.0"
"Bundler version"
else
Bundler::VERSION
diff --git a/spec/bundler/commands/show_spec.rb b/spec/bundler/commands/show_spec.rb
index efbe4b13fb..a5c6beec1a 100644
--- a/spec/bundler/commands/show_spec.rb
+++ b/spec/bundler/commands/show_spec.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-RSpec.describe "bundle show", :bundler => "< 2", :ruby => ">= 2.0" do
+RSpec.describe "bundle show", :bundler => "< 3", :ruby => ">= 2.0" do
context "with a standard Gemfile" do
before :each do
install_gemfile <<-G
@@ -36,7 +36,7 @@ RSpec.describe "bundle show", :bundler => "< 2", :ruby => ">= 2.0" do
it "prints path if gem exists in bundle" do
bundle "show rails"
expect(out).to eq(
- "[DEPRECATED FOR 2.0] use `bundle info rails` instead of `bundle show rails`\n" +
+ "[DEPRECATED FOR 3.0] use `bundle info rails` instead of `bundle show rails`\n" +
default_bundle_path("gems", "rails-2.3.2").to_s
)
end
@@ -44,7 +44,7 @@ RSpec.describe "bundle show", :bundler => "< 2", :ruby => ">= 2.0" do
it "prints the path to the running bundler" do
bundle "show bundler"
expect(out).to eq(
- "[DEPRECATED FOR 2.0] use `bundle info bundler` instead of `bundle show bundler`\n" +
+ "[DEPRECATED FOR 3.0] use `bundle info bundler` instead of `bundle show bundler`\n" +
root.to_s
)
end
@@ -52,7 +52,7 @@ RSpec.describe "bundle show", :bundler => "< 2", :ruby => ">= 2.0" do
it "prints path if gem exists in bundle (with --paths option)" do
bundle "show rails --paths"
expect(out).to eq(
- "[DEPRECATED FOR 2.0] use `bundle info rails --path` instead of `bundle show rails --paths`\n" +
+ "[DEPRECATED FOR 3.0] use `bundle info rails --path` instead of `bundle show rails --paths`\n" +
default_bundle_path("gems", "rails-2.3.2").to_s
)
end
@@ -64,7 +64,7 @@ RSpec.describe "bundle show", :bundler => "< 2", :ruby => ">= 2.0" do
expect(out).to include(default_bundle_path("gems", "rails-2.3.2").to_s)
out_lines = out.split("\n")
- expect(out_lines[0]).to eq("[DEPRECATED FOR 2.0] use `bundle list` instead of `bundle show --paths`")
+ expect(out_lines[0]).to eq("[DEPRECATED FOR 3.0] use `bundle list` instead of `bundle show --paths`")
# Gem names are the last component of their path.
gem_list = out_lines[1..-1].map {|p| p.split("/").last }
diff --git a/spec/bundler/commands/update_spec.rb b/spec/bundler/commands/update_spec.rb
index 6eb49d3acd..1effba6526 100644
--- a/spec/bundler/commands/update_spec.rb
+++ b/spec/bundler/commands/update_spec.rb
@@ -11,7 +11,7 @@ RSpec.describe "bundle update" do
G
end
- describe "with no arguments", :bundler => "< 2" do
+ describe "with no arguments", :bundler => "< 3" do
it "updates the entire bundle" do
update_repo2 do
build_gem "activesupport", "3.0"
@@ -34,7 +34,7 @@ RSpec.describe "bundle update" do
end
end
- describe "with --all", :bundler => "2" do
+ describe "with --all", :bundler => "3" do
it "updates the entire bundle" do
update_repo2 do
build_gem "activesupport", "3.0"
@@ -279,7 +279,7 @@ RSpec.describe "bundle update" do
end
describe "in a frozen bundle" do
- it "should fail loudly", :bundler => "< 2" do
+ it "should fail loudly", :bundler => "< 3" do
bundle! "install --deployment"
bundle "update", :all => bundle_update_requires_all?
@@ -288,14 +288,14 @@ RSpec.describe "bundle update" do
expect(out).to match(/freeze \nby running `bundle install --no-deployment`./m)
end
- it "should suggest different command when frozen is set globally", :bundler => "< 2" do
+ it "should suggest different command when frozen is set globally", :bundler => "< 3" do
bundle! "config --global frozen 1"
bundle "update", :all => bundle_update_requires_all?
expect(out).to match(/You are trying to install in deployment mode after changing.your Gemfile/m).
and match(/freeze \nby running `bundle config --delete frozen`./m)
end
- it "should suggest different command when frozen is set globally", :bundler => "2" do
+ it "should suggest different command when frozen is set globally", :bundler => "3" do
bundle! "config --global deployment true"
bundle "update", :all => bundle_update_requires_all?
expect(out).to match(/You are trying to install in deployment mode after changing.your Gemfile/m).
@@ -304,7 +304,7 @@ RSpec.describe "bundle update" do
end
describe "with --source option" do
- it "should not update gems not included in the source that happen to have the same name", :bundler => "< 2" do
+ it "should not update gems not included in the source that happen to have the same name", :bundler => "< 3" do
install_gemfile! <<-G
source "file://#{gem_repo2}"
gem "activesupport"
@@ -315,7 +315,7 @@ RSpec.describe "bundle update" do
expect(the_bundle).to include_gem "activesupport 3.0"
end
- it "should not update gems not included in the source that happen to have the same name", :bundler => "2" do
+ it "should not update gems not included in the source that happen to have the same name", :bundler => "3" do
install_gemfile! <<-G
source "file://#{gem_repo2}"
gem "activesupport"
@@ -358,7 +358,7 @@ RSpec.describe "bundle update" do
G
end
- it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "< 2" do
+ it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "< 3" do
update_repo2 do
build_gem "fred", "2.0"
build_gem "harry", "2.0" do |s|
@@ -371,7 +371,7 @@ RSpec.describe "bundle update" do
expect(the_bundle).to include_gems "fred 1.0"
end
- it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "2" do
+ it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "3" do
update_repo2 do
build_gem "fred", "2.0"
build_gem "harry", "2.0" do |s|
@@ -403,7 +403,7 @@ RSpec.describe "bundle update" do
G
end
- it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "< 2" do
+ it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "< 3" do
update_repo2 do
build_gem "george", "2.0"
build_gem "harry", "2.0" do |s|
@@ -417,7 +417,7 @@ RSpec.describe "bundle update" do
expect(the_bundle).to include_gems "george 1.0"
end
- it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "2" do
+ it "should not update the child dependencies of a gem that has the same name as the source", :bundler => "3" do
update_repo2 do
build_gem "george", "2.0"
build_gem "harry", "2.0" do |s|
@@ -561,14 +561,14 @@ RSpec.describe "bundle update when a gem depends on a newer version of bundler"
G
end
- it "should explain that bundler conflicted", :bundler => "< 2" do
+ it "should explain that bundler conflicted", :bundler => "< 3" do
bundle "update", :all => bundle_update_requires_all?
expect(last_command.stdboth).not_to match(/in snapshot/i)
expect(last_command.bundler_err).to match(/current Bundler version/i).
and match(/perhaps you need to update bundler/i)
end
- it "should warn that the newer version of Bundler would conflict", :bundler => "2" do
+ it "should warn that the newer version of Bundler would conflict", :bundler => "3" do
bundle! "update", :all => true
expect(last_command.bundler_err).to include("rails (3.0.1) has dependency bundler").
and include("so the dependency is being ignored")
@@ -577,7 +577,7 @@ RSpec.describe "bundle update when a gem depends on a newer version of bundler"
end
RSpec.describe "bundle update" do
- it "shows the previous version of the gem when updated from rubygems source", :bundler => "< 2" do
+ it "shows the previous version of the gem when updated from rubygems source", :bundler => "< 3" do
build_repo2
install_gemfile <<-G
diff --git a/spec/bundler/commands/version_spec.rb b/spec/bundler/commands/version_spec.rb
index b919c25e0f..66c7930397 100644
--- a/spec/bundler/commands/version_spec.rb
+++ b/spec/bundler/commands/version_spec.rb
@@ -2,36 +2,36 @@
RSpec.describe "bundle version" do
context "with -v" do
- it "outputs the version", :bundler => "< 2" do
+ it "outputs the version", :bundler => "< 3" do
bundle! "-v"
expect(out).to eq("Bundler version #{Bundler::VERSION}")
end
- it "outputs the version", :bundler => "2" do
+ it "outputs the version", :bundler => "3" do
bundle! "-v"
expect(out).to eq(Bundler::VERSION)
end
end
context "with --version" do
- it "outputs the version", :bundler => "< 2" do
+ it "outputs the version", :bundler => "< 3" do
bundle! "--version"
expect(out).to eq("Bundler version #{Bundler::VERSION}")
end
- it "outputs the version", :bundler => "2" do
+ it "outputs the version", :bundler => "3" do
bundle! "--version"
expect(out).to eq(Bundler::VERSION)
end
end
context "with version" do
- it "outputs the version with build metadata", :bundler => "< 2" do
+ it "outputs the version with build metadata", :bundler => "< 3" do
bundle! "version"
expect(out).to match(/\ABundler version #{Regexp.escape(Bundler::VERSION)} \(\d{4}-\d{2}-\d{2} commit [a-fA-F0-9]{7,}\)\z/)
end
- it "outputs the version with build metadata", :bundler => "2" do
+ it "outputs the version with build metadata", :bundler => "3" do
bundle! "version"
expect(out).to match(/\A#{Regexp.escape(Bundler::VERSION)} \(\d{4}-\d{2}-\d{2} commit [a-fA-F0-9]{7,}\)\z/)
end
diff --git a/spec/bundler/commands/viz_spec.rb b/spec/bundler/commands/viz_spec.rb
index 3804d3561c..61414956a9 100644
--- a/spec/bundler/commands/viz_spec.rb
+++ b/spec/bundler/commands/viz_spec.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-RSpec.describe "bundle viz", :ruby => "1.9.3", :bundler => "< 2", :if => Bundler.which("dot") do
+RSpec.describe "bundle viz", :ruby => "1.9.3", :bundler => "< 3", :if => Bundler.which("dot") do
let(:ruby_graphviz) do
graphviz_glob = base_system_gems.join("cache/ruby-graphviz*")
Pathname.glob(graphviz_glob).first
diff --git a/spec/bundler/install/binstubs_spec.rb b/spec/bundler/install/binstubs_spec.rb
index 23eb691ab8..f04d3fe654 100644
--- a/spec/bundler/install/binstubs_spec.rb
+++ b/spec/bundler/install/binstubs_spec.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-RSpec.describe "bundle install", :bundler => "< 2" do
+RSpec.describe "bundle install", :bundler => "< 3" do
describe "when system_bindir is set" do
# On OS X, Gem.bindir defaults to /usr/bin, so system_bindir is useful if
# you want to avoid sudo installs for system gems with OS X's default ruby
@@ -20,7 +20,7 @@ RSpec.describe "bundle install", :bundler => "< 2" do
end
end
- describe "when multiple gems contain the same exe", :bundler => "< 2" do
+ describe "when multiple gems contain the same exe", :bundler => "< 3" do
before do
build_repo2 do
build_gem "fake", "14" do |s|
diff --git a/spec/bundler/install/deploy_spec.rb b/spec/bundler/install/deploy_spec.rb
index 3b9d68982a..ec72ff69fc 100644
--- a/spec/bundler/install/deploy_spec.rb
+++ b/spec/bundler/install/deploy_spec.rb
@@ -8,7 +8,7 @@ RSpec.describe "install with --deployment or --frozen" do
G
end
- context "with CLI flags", :bundler => "< 2" do
+ context "with CLI flags", :bundler => "< 3" do
it "fails without a lockfile and says that --deployment requires a lock" do
bundle "install --deployment"
expect(out).to include("The --deployment flag requires a Gemfile.lock")
@@ -109,11 +109,11 @@ RSpec.describe "install with --deployment or --frozen" do
bundle "install"
end
- it "works with the --deployment flag if you didn't change anything", :bundler => "< 2" do
+ it "works with the --deployment flag if you didn't change anything", :bundler => "< 3" do
bundle! "install --deployment"
end
- it "works with the --frozen flag if you didn't change anything", :bundler => "< 2" do
+ it "works with the --frozen flag if you didn't change anything", :bundler => "< 3" do
bundle! "install --frozen"
end
@@ -165,7 +165,7 @@ RSpec.describe "install with --deployment or --frozen" do
expect(out).to include("The path `#{lib_path("path_gem-1.0")}` does not exist.")
end
- it "can have --frozen set via an environment variable", :bundler => "< 2" do
+ it "can have --frozen set via an environment variable", :bundler => "< 3" do
gemfile <<-G
source "file://#{gem_repo1}"
gem "rack"
@@ -297,7 +297,7 @@ RSpec.describe "install with --deployment or --frozen" do
context "when replacing a host with the same host with credentials" do
let(:success_message) do
- if Bundler::VERSION.split(".", 2).first == "1"
+ if Bundler.bundler_major_version < 3
"Could not reach host localgemserver.test"
else
"Bundle complete!"
diff --git a/spec/bundler/install/gemfile/gemspec_spec.rb b/spec/bundler/install/gemfile/gemspec_spec.rb
index 7ce037730e..bbb56da5a4 100644
--- a/spec/bundler/install/gemfile/gemspec_spec.rb
+++ b/spec/bundler/install/gemfile/gemspec_spec.rb
@@ -433,7 +433,7 @@ RSpec.describe "bundle install from an existing gemspec" do
end
end
- context "on ruby", :bundler => "< 2" do
+ context "on ruby", :bundler => "< 3" do
before do
simulate_platform("ruby")
bundle :install
@@ -534,7 +534,7 @@ RSpec.describe "bundle install from an existing gemspec" do
end
end
- context "on ruby", :bundler => "2" do
+ context "on ruby", :bundler => "3" do
before do
simulate_platform("ruby")
bundle :install
diff --git a/spec/bundler/install/gemfile/git_spec.rb b/spec/bundler/install/gemfile/git_spec.rb
index 57d83a5295..fe396c7a0f 100644
--- a/spec/bundler/install/gemfile/git_spec.rb
+++ b/spec/bundler/install/gemfile/git_spec.rb
@@ -26,7 +26,7 @@ RSpec.describe "bundle install with git sources" do
expect(out).to eq("WIN")
end
- it "caches the git repo", :bundler => "< 2" do
+ it "caches the git repo", :bundler => "< 3" do
expect(Dir["#{default_bundle_path}/cache/bundler/git/foo-1.0-*"]).to have_attributes :size => 1
end
diff --git a/spec/bundler/install/gemfile/groups_spec.rb b/spec/bundler/install/gemfile/groups_spec.rb
index 19c379e188..45395e606f 100644
--- a/spec/bundler/install/gemfile/groups_spec.rb
+++ b/spec/bundler/install/gemfile/groups_spec.rb
@@ -192,19 +192,19 @@ RSpec.describe "bundle install with groups" do
expect(the_bundle).not_to include_gems "thin 1.0"
end
- it "does remove groups from without when passed at --with", :bundler => "< 2" do
+ it "does remove groups from without when passed at --with", :bundler => "< 3" do
bundle :install, forgotten_command_line_options(:without => "emo")
bundle :install, forgotten_command_line_options(:with => "emo")
expect(the_bundle).to include_gems "activesupport 2.3.5"
end
- it "does remove groups from with when passed at --without", :bundler => "< 2" do
+ it "does remove groups from with when passed at --without", :bundler => "< 3" do
bundle :install, forgotten_command_line_options(:with => "debugging")
bundle :install, forgotten_command_line_options(:without => "debugging")
expect(the_bundle).not_to include_gem "thin 1.0"
end
- it "errors out when passing a group to with and without via CLI flags", :bundler => "< 2" do
+ it "errors out when passing a group to with and without via CLI flags", :bundler => "< 3" do
bundle :install, forgotten_command_line_options(:with => "emo debugging", :without => "emo")
expect(last_command).to be_failure
expect(out).to include("The offending groups are: emo")
diff --git a/spec/bundler/install/gemfile/path_spec.rb b/spec/bundler/install/gemfile/path_spec.rb
index f7789e7ea5..a508c971ad 100644
--- a/spec/bundler/install/gemfile/path_spec.rb
+++ b/spec/bundler/install/gemfile/path_spec.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
RSpec.describe "bundle install with explicit source paths" do
- it "fetches gems with a global path source", :bundler => "< 2" do
+ it "fetches gems with a global path source", :bundler => "< 3" do
build_lib "foo"
install_gemfile <<-G
diff --git a/spec/bundler/install/gemfile/platform_spec.rb b/spec/bundler/install/gemfile/platform_spec.rb
index bfdf9b68c8..b5dbc41a33 100644
--- a/spec/bundler/install/gemfile/platform_spec.rb
+++ b/spec/bundler/install/gemfile/platform_spec.rb
@@ -230,7 +230,7 @@ RSpec.describe "bundle install across platforms" do
expect(the_bundle).to include_gems "nokogiri 1.4.2 JAVA", "weakling 0.0.3"
end
- it "works with gems that have extra platform-specific runtime dependencies", :bundler => "< 2" do
+ it "works with gems that have extra platform-specific runtime dependencies", :bundler => "< 3" do
simulate_platform x64_mac
update_repo2 do
diff --git a/spec/bundler/install/gemfile/sources_spec.rb b/spec/bundler/install/gemfile/sources_spec.rb
index c814d0de76..efe6ccce7f 100644
--- a/spec/bundler/install/gemfile/sources_spec.rb
+++ b/spec/bundler/install/gemfile/sources_spec.rb
@@ -28,7 +28,7 @@ RSpec.describe "bundle install with gems on multiple sources" do
bundle "config major_deprecations true"
end
- it "warns about ambiguous gems, but installs anyway, prioritizing sources last to first", :bundler => "< 2" do
+ it "warns about ambiguous gems, but installs anyway, prioritizing sources last to first", :bundler => "< 3" do
bundle :install
expect(out).to have_major_deprecation a_string_including("Your Gemfile contains multiple primary sources.")
@@ -58,7 +58,7 @@ RSpec.describe "bundle install with gems on multiple sources" do
bundle "config major_deprecations true"
end
- it "warns about ambiguous gems, but installs anyway", :bundler => "< 2" do
+ it "warns about ambiguous gems, but installs anyway", :bundler => "< 3" do
bundle :install
expect(out).to have_major_deprecation a_string_including("Your Gemfile contains multiple primary sources.")
@@ -248,7 +248,7 @@ RSpec.describe "bundle install with gems on multiple sources" do
G
end
- it "installs from the other source and warns about ambiguous gems", :bundler => "< 2" do
+ it "installs from the other source and warns about ambiguous gems", :bundler => "< 3" do
bundle "config major_deprecations true"
bundle :install
expect(out).to have_major_deprecation a_string_including("Your Gemfile contains multiple primary sources.")
@@ -276,7 +276,7 @@ RSpec.describe "bundle install with gems on multiple sources" do
G
end
- it "installs the dependency from the pinned source without warning", :bundler => "< 2" do
+ it "installs the dependency from the pinned source without warning", :bundler => "< 3" do
bundle :install
expect(out).not_to include("Warning: the gem 'rack' was found in multiple sources.")
diff --git a/spec/bundler/install/gems/compact_index_spec.rb b/spec/bundler/install/gems/compact_index_spec.rb
index 02a37a77d5..2acade1166 100644
--- a/spec/bundler/install/gems/compact_index_spec.rb
+++ b/spec/bundler/install/gems/compact_index_spec.rb
@@ -269,7 +269,7 @@ The checksum of /versions does not match the checksum provided by the server! So
expect(last_command.stdboth).not_to include "Double checking"
end
- it "fetches again when more dependencies are found in subsequent sources", :bundler => "< 2" do
+ it "fetches again when more dependencies are found in subsequent sources", :bundler => "< 3" do
build_repo2 do
build_gem "back_deps" do |s|
s.add_dependency "foo"
@@ -328,7 +328,7 @@ The checksum of /versions does not match the checksum provided by the server! So
expect(the_bundle).to include_gems "rack 1.2"
end
- it "considers all possible versions of dependencies from all api gem sources", :bundler => "< 2" do
+ it "considers all possible versions of dependencies from all api gem sources", :bundler => "< 3" do
# In this scenario, the gem "somegem" only exists in repo4. It depends on specific version of activesupport that
# exists only in repo1. There happens also be a version of activesupport in repo4, but not the one that version 1.0.0
# of somegem wants. This test makes sure that bundler actually finds version 1.2.3 of active support in the other
@@ -352,7 +352,7 @@ The checksum of /versions does not match the checksum provided by the server! So
expect(the_bundle).to include_gems "activesupport 1.2.3"
end
- it "considers all possible versions of dependencies from all api gem sources when using blocks", :bundler => "< 2" do
+ it "considers all possible versions of dependencies from all api gem sources when using blocks", :bundler => "< 3" do
# In this scenario, the gem "somegem" only exists in repo4. It depends on specific version of activesupport that
# exists only in repo1. There happens also be a version of activesupport in repo4, but not the one that version 1.0.0
# of somegem wants. This test makes sure that bundler actually finds version 1.2.3 of active support in the other
@@ -458,7 +458,7 @@ The checksum of /versions does not match the checksum provided by the server! So
expect(the_bundle).to include_gems "foo 1.0"
end
- it "fetches again when more dependencies are found in subsequent sources using --deployment", :bundler => "< 2" do
+ it "fetches again when more dependencies are found in subsequent sources using --deployment", :bundler => "< 3" do
build_repo2 do
build_gem "back_deps" do |s|
s.add_dependency "foo"
@@ -522,7 +522,7 @@ The checksum of /versions does not match the checksum provided by the server! So
expect(the_bundle).to include_gems "rails 2.3.2"
end
- it "installs the binstubs", :bundler => "< 2" do
+ it "installs the binstubs", :bundler => "< 3" do
gemfile <<-G
source "#{source_uri}"
gem "rack"
@@ -534,7 +534,7 @@ The checksum of /versions does not match the checksum provided by the server! So
expect(out).to eq("1.0.0")
end
- it "installs the bins when using --path and uses autoclean", :bundler => "< 2" do
+ it "installs the bins when using --path and uses autoclean", :bundler => "< 3" do
gemfile <<-G
source "#{source_uri}"
gem "rack"
@@ -545,7 +545,7 @@ The checksum of /versions does not match the checksum provided by the server! So
expect(vendored_gems("bin/rackup")).to exist
end
- it "installs the bins when using --path and uses bundle clean", :bundler => "< 2" do
+ it "installs the bins when using --path and uses bundle clean", :bundler => "< 3" do
gemfile <<-G
source "#{source_uri}"
gem "rack"
@@ -620,7 +620,7 @@ The checksum of /versions does not match the checksum provided by the server! So
expect(out).not_to include("#{user}:#{password}")
end
- it "strips http basic auth creds when warning about ambiguous sources", :bundler => "< 2" do
+ it "strips http basic auth creds when warning about ambiguous sources", :bundler => "< 3" do
gemfile <<-G
source "#{basic_auth_source_uri}"
source "file://#{gem_repo1}"
diff --git a/spec/bundler/install/gems/dependency_api_spec.rb b/spec/bundler/install/gems/dependency_api_spec.rb
index 2ffe4b62d7..3cb98db1eb 100644
--- a/spec/bundler/install/gems/dependency_api_spec.rb
+++ b/spec/bundler/install/gems/dependency_api_spec.rb
@@ -243,7 +243,7 @@ RSpec.describe "gemcutter's dependency API" do
end
end
- it "fetches again when more dependencies are found in subsequent sources", :bundler => "< 2" do
+ it "fetches again when more dependencies are found in subsequent sources", :bundler => "< 3" do
build_repo2 do
build_gem "back_deps" do |s|
s.add_dependency "foo"
@@ -302,7 +302,7 @@ RSpec.describe "gemcutter's dependency API" do
expect(the_bundle).to include_gems "rack 1.2"
end
- it "considers all possible versions of dependencies from all api gem sources", :bundler => "< 2" do
+ it "considers all possible versions of dependencies from all api gem sources", :bundler => "< 3" do
# In this scenario, the gem "somegem" only exists in repo4. It depends on specific version of activesupport that
# exists only in repo1. There happens also be a version of activesupport in repo4, but not the one that version 1.0.0
# of somegem wants. This test makes sure that bundler actually finds version 1.2.3 of active support in the other
@@ -372,7 +372,7 @@ RSpec.describe "gemcutter's dependency API" do
expect(out).to include("Fetching source index from http://localgemserver.test/extra")
end
- it "does not fetch every spec if the index of gems is large when doing back deps", :bundler => "< 2" do
+ it "does not fetch every spec if the index of gems is large when doing back deps", :bundler => "< 3" do
build_repo2 do
build_gem "back_deps" do |s|
s.add_dependency "foo"
@@ -432,7 +432,7 @@ RSpec.describe "gemcutter's dependency API" do
expect(the_bundle).to include_gems "foo 1.0"
end
- it "fetches again when more dependencies are found in subsequent sources using --deployment", :bundler => "< 2" do
+ it "fetches again when more dependencies are found in subsequent sources using --deployment", :bundler => "< 3" do
build_repo2 do
build_gem "back_deps" do |s|
s.add_dependency "foo"
@@ -496,7 +496,7 @@ RSpec.describe "gemcutter's dependency API" do
expect(the_bundle).to include_gems "rails 2.3.2"
end
- it "installs the binstubs", :bundler => "< 2" do
+ it "installs the binstubs", :bundler => "< 3" do
gemfile <<-G
source "#{source_uri}"
gem "rack"
@@ -508,7 +508,7 @@ RSpec.describe "gemcutter's dependency API" do
expect(out).to eq("1.0.0")
end
- it "installs the bins when using --path and uses autoclean", :bundler => "< 2" do
+ it "installs the bins when using --path and uses autoclean", :bundler => "< 3" do
gemfile <<-G
source "#{source_uri}"
gem "rack"
@@ -519,7 +519,7 @@ RSpec.describe "gemcutter's dependency API" do
expect(vendored_gems("bin/rackup")).to exist
end
- it "installs the bins when using --path and uses bundle clean", :bundler => "< 2" do
+ it "installs the bins when using --path and uses bundle clean", :bundler => "< 3" do
gemfile <<-G
source "#{source_uri}"
gem "rack"
@@ -594,7 +594,7 @@ RSpec.describe "gemcutter's dependency API" do
expect(out).not_to include("#{user}:#{password}")
end
- it "strips http basic auth creds when warning about ambiguous sources", :bundler => "< 2" do
+ it "strips http basic auth creds when warning about ambiguous sources", :bundler => "< 3" do
gemfile <<-G
source "#{basic_auth_source_uri}"
source "file://#{gem_repo1}"
diff --git a/spec/bundler/install/gems/flex_spec.rb b/spec/bundler/install/gems/flex_spec.rb
index 37d2e4958a..736f418ec7 100644
--- a/spec/bundler/install/gems/flex_spec.rb
+++ b/spec/bundler/install/gems/flex_spec.rb
@@ -244,7 +244,7 @@ RSpec.describe "bundle flex_install" do
end
describe "when adding a new source" do
- it "updates the lockfile", :bundler => "< 2" do
+ it "updates the lockfile", :bundler => "< 3" do
build_repo2
install_gemfile! <<-G
source "file://localhost#{gem_repo1}"
@@ -274,7 +274,7 @@ RSpec.describe "bundle flex_install" do
L
end
- it "updates the lockfile", :bundler => "2" do
+ it "updates the lockfile", :bundler => "3" do
build_repo2
install_gemfile! <<-G
source "file://localhost#{gem_repo1}"
diff --git a/spec/bundler/install/gems/standalone_spec.rb b/spec/bundler/install/gems/standalone_spec.rb
index 10ce589eef..fa7a3bdc27 100644
--- a/spec/bundler/install/gems/standalone_spec.rb
+++ b/spec/bundler/install/gems/standalone_spec.rb
@@ -197,7 +197,7 @@ RSpec.shared_examples "bundle install --standalone" do
expect(last_command.stderr).to eq("ZOMG LOAD ERROR")
end
- it "allows --path to change the location of the standalone bundle", :bundler => "< 2" do
+ it "allows --path to change the location of the standalone bundle", :bundler => "< 3" do
bundle! "install", forgotten_command_line_options(:path => "path/to/bundle").merge(:standalone => true)
Dir.chdir(bundled_app) do
@@ -213,7 +213,7 @@ RSpec.shared_examples "bundle install --standalone" do
expect(last_command.stdout).to eq("2.3.2")
end
- it "allows --path to change the location of the standalone bundle", :bundler => "2" do
+ it "allows --path to change the location of the standalone bundle", :bundler => "3" do
bundle! "install", forgotten_command_line_options(:path => "path/to/bundle").merge(:standalone => true)
path = File.expand_path("path/to/bundle")
@@ -273,7 +273,7 @@ RSpec.shared_examples "bundle install --standalone" do
end
end
- describe "with --binstubs", :bundler => "< 2" do
+ describe "with --binstubs", :bundler => "< 3" do
before do
gemfile <<-G
source "file://#{gem_repo1}"
diff --git a/spec/bundler/install/git_spec.rb b/spec/bundler/install/git_spec.rb
index 6ae718c2a4..48086a86c7 100644
--- a/spec/bundler/install/git_spec.rb
+++ b/spec/bundler/install/git_spec.rb
@@ -2,7 +2,7 @@
RSpec.describe "bundle install" do
context "git sources" do
- it "displays the revision hash of the gem repository", :bundler => "< 2" do
+ it "displays the revision hash of the gem repository", :bundler => "< 3" do
build_git "foo", "1.0", :path => lib_path("foo")
install_gemfile <<-G
@@ -14,7 +14,7 @@ RSpec.describe "bundle install" do
expect(the_bundle).to include_gems "foo 1.0", :source => "git@#{lib_path("foo")}"
end
- it "displays the ref of the gem repository when using branch~num as a ref", :bundler => "< 2" do
+ it "displays the ref of the gem repository when using branch~num as a ref", :bundler => "< 3" do
build_git "foo", "1.0", :path => lib_path("foo")
rev = revision_for(lib_path("foo"))[0..6]
update_git "foo", "2.0", :path => lib_path("foo"), :gemspec => true
diff --git a/spec/bundler/install/path_spec.rb b/spec/bundler/install/path_spec.rb
index 44439c275e..94f38c9290 100644
--- a/spec/bundler/install/path_spec.rb
+++ b/spec/bundler/install/path_spec.rb
@@ -13,7 +13,7 @@ RSpec.describe "bundle install" do
G
end
- it "does not use available system gems with bundle --path vendor/bundle", :bundler => "< 2" do
+ it "does not use available system gems with bundle --path vendor/bundle", :bundler => "< 3" do
bundle! :install, forgotten_command_line_options(:path => "vendor/bundle")
expect(the_bundle).to include_gems "rack 1.0.0"
end
@@ -35,13 +35,13 @@ RSpec.describe "bundle install" do
expect(out).to include("gems are installed into `./vendor/bundle`")
end
- it "disallows --path vendor/bundle --system", :bundler => "< 2" do
+ it "disallows --path vendor/bundle --system", :bundler => "< 3" do
bundle "install --path vendor/bundle --system"
expect(out).to include("Please choose only one option.")
expect(exitstatus).to eq(15) if exitstatus
end
- it "remembers to disable system gems after the first time with bundle --path vendor/bundle", :bundler => "< 2" do
+ it "remembers to disable system gems after the first time with bundle --path vendor/bundle", :bundler => "< 3" do
bundle "install --path vendor/bundle"
FileUtils.rm_rf bundled_app("vendor")
bundle "install"
@@ -53,7 +53,7 @@ RSpec.describe "bundle install" do
context "with path_relative_to_cwd set to true" do
before { bundle! "config path_relative_to_cwd true" }
- it "installs the bundle relatively to current working directory", :bundler => "< 2" do
+ it "installs the bundle relatively to current working directory", :bundler => "< 3" do
Dir.chdir(bundled_app.parent) do
bundle! "install --gemfile='#{bundled_app}/Gemfile' --path vendor/bundle"
expect(out).to include("installed into `./vendor/bundle`")
@@ -113,7 +113,7 @@ RSpec.describe "bundle install" do
expect(the_bundle).to include_gems "rack 1.0.0"
end
- context "with global_path_appends_ruby_scope set", :bundler => "2" do
+ context "with global_path_appends_ruby_scope set", :bundler => "3" do
it "installs gems to ." do
set_bundle_path(type, ".")
bundle! "config --global disable_shared_gems true"
@@ -147,7 +147,7 @@ RSpec.describe "bundle install" do
end
end
- context "with global_path_appends_ruby_scope unset", :bundler => "< 2" do
+ context "with global_path_appends_ruby_scope unset", :bundler => "< 3" do
it "installs gems to ." do
set_bundle_path(type, ".")
bundle! "config --global disable_shared_gems true"
diff --git a/spec/bundler/install/post_bundle_message_spec.rb b/spec/bundler/install/post_bundle_message_spec.rb
index eadc8a4d85..394134f523 100644
--- a/spec/bundler/install/post_bundle_message_spec.rb
+++ b/spec/bundler/install/post_bundle_message_spec.rb
@@ -19,7 +19,7 @@ RSpec.describe "post bundle message" do
let(:bundle_complete_message) { "Bundle complete!" }
let(:bundle_updated_message) { "Bundle updated!" }
let(:installed_gems_stats) { "4 Gemfile dependencies, 5 gems now installed." }
- let(:bundle_show_message) { Bundler::VERSION.split(".").first.to_i < 2 ? bundle_show_system_message : bundle_show_path_message }
+ let(:bundle_show_message) { Bundler::VERSION.split(".").first.to_i < 3 ? bundle_show_system_message : bundle_show_path_message }
describe "for fresh bundle install" do
it "without any options" do
@@ -101,7 +101,7 @@ RSpec.describe "post bundle message" do
end
describe "with misspelled or non-existent gem name" do
- it "should report a helpful error message", :bundler => "< 2" do
+ it "should report a helpful error message", :bundler => "< 3" do
install_gemfile <<-G
source "file://localhost#{gem_repo1}"
gem "rack"
@@ -110,7 +110,7 @@ RSpec.describe "post bundle message" do
expect(out).to include("Could not find gem 'not-a-gem' in any of the gem sources listed in your Gemfile.")
end
- it "should report a helpful error message", :bundler => "2" do
+ it "should report a helpful error message", :bundler => "3" do
install_gemfile <<-G
source "file://localhost#{gem_repo1}"
gem "rack"
diff --git a/spec/bundler/install/redownload_spec.rb b/spec/bundler/install/redownload_spec.rb
index 665c64d49a..f9caeed58a 100644
--- a/spec/bundler/install/redownload_spec.rb
+++ b/spec/bundler/install/redownload_spec.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-RSpec.describe "bundle install", :bundler => "< 2", :ruby => ">= 2.0" do
+RSpec.describe "bundle install", :bundler => "< 3", :ruby => ">= 2.0" do
before :each do
gemfile <<-G
source "file://#{gem_repo1}"
@@ -65,12 +65,12 @@ RSpec.describe "bundle install", :bundler => "< 2", :ruby => ">= 2.0" do
it "shows a deprecation when single flag passed" do
bundle! "install --force"
- expect(out).to include "[DEPRECATED FOR 2.0] The `--force` option has been renamed to `--redownload`"
+ expect(out).to include "[DEPRECATED FOR 3.0] The `--force` option has been renamed to `--redownload`"
end
it "shows a deprecation when multiple flags passed" do
bundle! "install --no-color --force"
- expect(out).to include "[DEPRECATED FOR 2.0] The `--force` option has been renamed to `--redownload`"
+ expect(out).to include "[DEPRECATED FOR 3.0] The `--force` option has been renamed to `--redownload`"
end
end
diff --git a/spec/bundler/lock/lockfile_bundler_1_spec.rb b/spec/bundler/lock/lockfile_bundler_1_spec.rb
index fcdf6ebf0d..e89c5078d9 100644
--- a/spec/bundler/lock/lockfile_bundler_1_spec.rb
+++ b/spec/bundler/lock/lockfile_bundler_1_spec.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-RSpec.describe "the lockfile format", :bundler => "< 2" do
+RSpec.describe "the lockfile format", :bundler => "< 3" do
include Bundler::GemHelpers
before { ENV["BUNDLER_SPEC_IGNORE_COMPATIBILITY_GUARD"] = "TRUE" }
@@ -78,7 +78,7 @@ RSpec.describe "the lockfile format", :bundler => "< 2" do
it "does not update the lockfile's bundler version if nothing changed during bundle install", :ruby_repo do
version = "#{Bundler::VERSION.split(".").first}.0.0.0.a"
- lockfile <<-L
+ lockfile normalize_uri_file(<<-L)
GEM
remote: file://localhost#{gem_repo1}/
specs:
@@ -94,13 +94,13 @@ RSpec.describe "the lockfile format", :bundler => "< 2" do
#{version}
L
- install_gemfile <<-G
+ install_gemfile normalize_uri_file(<<-G)
source "file://localhost#{gem_repo1}"
gem "rack"
G
- lockfile_should_be <<-G
+ lockfile_should_be normalize_uri_file(<<-G)
GEM
remote: file://localhost#{gem_repo1}/
specs:
diff --git a/spec/bundler/lock/lockfile_spec.rb b/spec/bundler/lock/lockfile_spec.rb
index 53c832445f..9e2fb3b2dd 100644
--- a/spec/bundler/lock/lockfile_spec.rb
+++ b/spec/bundler/lock/lockfile_spec.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-RSpec.describe "the lockfile format", :bundler => "2" do
+RSpec.describe "the lockfile format", :bundler => "3" do
include Bundler::GemHelpers
before { ENV["BUNDLER_SPEC_IGNORE_COMPATIBILITY_GUARD"] = "TRUE" }
@@ -428,7 +428,7 @@ RSpec.describe "the lockfile format", :bundler => "2" do
expect(the_bundle).to include_gems "net-sftp 1.1.1", "net-ssh 1.0.0"
end
- it "generates a simple lockfile for a single pinned source, gem with a version requirement", :bundler => "< 2" do
+ it "generates a simple lockfile for a single pinned source, gem with a version requirement", :bundler => "< 3" do
git = build_git "foo"
install_gemfile <<-G
diff --git a/spec/bundler/other/bundle_ruby_spec.rb b/spec/bundler/other/bundle_ruby_spec.rb
index a7da9cbec9..fbca31d0a0 100644
--- a/spec/bundler/other/bundle_ruby_spec.rb
+++ b/spec/bundler/other/bundle_ruby_spec.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-RSpec.describe "bundle_ruby", :bundler => "< 2" do
+RSpec.describe "bundle_ruby", :bundler => "< 3" do
context "without patchlevel" do
it "returns the ruby version" do
gemfile <<-G
diff --git a/spec/bundler/other/major_deprecation_spec.rb b/spec/bundler/other/major_deprecation_spec.rb
index fba177b497..50800dbb0c 100644
--- a/spec/bundler/other/major_deprecation_spec.rb
+++ b/spec/bundler/other/major_deprecation_spec.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-RSpec.describe "major deprecations", :bundler => "< 2" do
+RSpec.describe "major deprecations", :bundler => "< 3" do
let(:warnings) { last_command.bundler_err } # change to err in 2.0
let(:warnings_without_version_messages) { warnings.gsub(/#{Spec::Matchers::MAJOR_DEPRECATION}Bundler will only support ruby(gems)? >= .*/, "") }
@@ -200,25 +200,25 @@ RSpec.describe "major deprecations", :bundler => "< 2" do
context "with github gems" do
it "warns about the https change" do
msg = <<-EOS
-The :github git source is deprecated, and will be removed in Bundler 2.0. Change any "reponame" :github sources to "username/reponame". Add this code to the top of your Gemfile to ensure it continues to work:
+The :github git source is deprecated, and will be removed in Bundler 3.0. Change any "reponame" :github sources to "username/reponame". Add this code to the top of your Gemfile to ensure it continues to work:
git_source(:github) {|repo_name| "https://github.com/\#{repo_name}.git" }
EOS
- expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(2, msg)
+ expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(3, msg)
subject.gem("sparks", :github => "indirect/sparks")
end
it "upgrades to https on request" do
Bundler.settings.temporary "github.https" => true
msg = <<-EOS
-The :github git source is deprecated, and will be removed in Bundler 2.0. Change any "reponame" :github sources to "username/reponame". Add this code to the top of your Gemfile to ensure it continues to work:
+The :github git source is deprecated, and will be removed in Bundler 3.0. Change any "reponame" :github sources to "username/reponame". Add this code to the top of your Gemfile to ensure it continues to work:
git_source(:github) {|repo_name| "https://github.com/\#{repo_name}.git" }
EOS
- expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(2, msg)
- expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(2, "The `github.https` setting will be removed")
+ expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(3, msg)
+ expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(3, "The `github.https` setting will be removed")
subject.gem("sparks", :github => "indirect/sparks")
github_uri = "https://github.com/indirect/sparks.git"
expect(subject.dependencies.first.source.uri).to eq(github_uri)
@@ -229,7 +229,7 @@ The :github git source is deprecated, and will be removed in Bundler 2.0. Change
it "warns about removal" do
allow(Bundler.ui).to receive(:deprecate)
msg = <<-EOS
-The :bitbucket git source is deprecated, and will be removed in Bundler 2.0. Add this code to the top of your Gemfile to ensure it continues to work:
+The :bitbucket git source is deprecated, and will be removed in Bundler 3.0. Add this code to the top of your Gemfile to ensure it continues to work:
git_source(:bitbucket) do |repo_name|
user_name, repo_name = repo_name.split("/")
@@ -238,7 +238,7 @@ The :bitbucket git source is deprecated, and will be removed in Bundler 2.0. Add
end
EOS
- expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(2, msg)
+ expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(3, msg)
subject.gem("not-really-a-gem", :bitbucket => "mcorp/flatlab-rails")
end
end
@@ -247,10 +247,10 @@ The :bitbucket git source is deprecated, and will be removed in Bundler 2.0. Add
it "warns about removal" do
allow(Bundler.ui).to receive(:deprecate)
msg = "The :gist git source is deprecated, and will be removed " \
- "in Bundler 2.0. Add this code to the top of your Gemfile to ensure it " \
+ "in Bundler 3.0. Add this code to the top of your Gemfile to ensure it " \
"continues to work:\n\n git_source(:gist) {|repo_name| " \
"\"https://gist.github.com/\#{repo_name}.git\" }\n\n"
- expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(2, msg)
+ expect(Bundler::SharedHelpers).to receive(:major_deprecation).with(3, msg)
subject.gem("not-really-a-gem", :gist => "1234")
end
end
diff --git a/spec/bundler/other/platform_spec.rb b/spec/bundler/other/platform_spec.rb
index ca74945563..6c59fd893c 100644
--- a/spec/bundler/other/platform_spec.rb
+++ b/spec/bundler/other/platform_spec.rb
@@ -4,7 +4,7 @@ RSpec.describe "bundle platform" do
context "without flags" do
let(:bundle_platform_platforms_string) do
platforms = [rb]
- platforms.unshift(specific_local_platform) if Bundler.feature_flag.bundler_2_mode?
+ platforms.unshift(specific_local_platform) if Bundler.feature_flag.bundler_3_mode?
platforms.map {|pl| "* #{pl}" }.join("\n")
end
@@ -633,7 +633,7 @@ G
end
end
- it "fails if ruby version doesn't match", :bundler => "< 2" do
+ it "fails if ruby version doesn't match", :bundler => "< 3" do
gemfile <<-G
source "file://#{gem_repo1}"
gem "rails"
@@ -645,7 +645,7 @@ G
should_be_ruby_version_incorrect
end
- it "fails if engine doesn't match", :bundler => "< 2" do
+ it "fails if engine doesn't match", :bundler => "< 3" do
gemfile <<-G
source "file://#{gem_repo1}"
gem "rails"
@@ -657,7 +657,7 @@ G
should_be_engine_incorrect
end
- it "fails if engine version doesn't match", :bundler => "< 2" do
+ it "fails if engine version doesn't match", :bundler => "< 3" do
simulate_ruby_engine "jruby" do
gemfile <<-G
source "file://#{gem_repo1}"
@@ -671,7 +671,7 @@ G
end
end
- it "fails when patchlevel doesn't match", :bundler => "< 2" do
+ it "fails when patchlevel doesn't match", :bundler => "< 3" do
gemfile <<-G
source "file://#{gem_repo1}"
gem "rack"
@@ -928,7 +928,7 @@ G
end
end
- context "bundle console", :bundler => "< 2" do
+ context "bundle console", :bundler => "< 3" do
before do
install_gemfile <<-G
source "file://#{gem_repo1}"
diff --git a/spec/bundler/plugins/source/example_spec.rb b/spec/bundler/plugins/source/example_spec.rb
index fd30892f63..d9a3cd2b92 100644
--- a/spec/bundler/plugins/source/example_spec.rb
+++ b/spec/bundler/plugins/source/example_spec.rb
@@ -67,7 +67,7 @@ RSpec.describe "real source plugins" do
expect(the_bundle).to include_gems("a-path-gem 1.0")
end
- it "writes to lock file", :bundler => "< 2" do
+ it "writes to lock file", :bundler => "< 3" do
bundle "install"
lockfile_should_be <<-G
@@ -92,7 +92,7 @@ RSpec.describe "real source plugins" do
G
end
- it "writes to lock file", :bundler => "2" do
+ it "writes to lock file", :bundler => "3" do
bundle "install"
lockfile_should_be <<-G
@@ -359,7 +359,7 @@ RSpec.describe "real source plugins" do
expect(the_bundle).to include_gems("ma-gitp-gem 1.0")
end
- it "writes to lock file", :bundler => "< 2" do
+ it "writes to lock file", :bundler => "< 3" do
revision = revision_for(lib_path("ma-gitp-gem-1.0"))
bundle "install"
@@ -386,7 +386,7 @@ RSpec.describe "real source plugins" do
G
end
- it "writes to lock file", :bundler => "2" do
+ it "writes to lock file", :bundler => "3" do
revision = revision_for(lib_path("ma-gitp-gem-1.0"))
bundle "install"
diff --git a/spec/bundler/quality_spec.rb b/spec/bundler/quality_spec.rb
index 14d6bb99b9..ce7058afc0 100644
--- a/spec/bundler/quality_spec.rb
+++ b/spec/bundler/quality_spec.rb
@@ -181,6 +181,7 @@ RSpec.describe "The library itself" do
gem.coc
gem.mit
inline
+ lockfile_upgrade_warning
lockfile_uses_separate_rubygems_sources
use_gem_version_promoter_for_major_updates
viz_command
@@ -260,7 +261,11 @@ RSpec.describe "The library itself" do
end
end
- expect(last_command.stdboth.split("\n")).to be_well_formed
+ warnings = last_command.stdboth.split("\n")
+ # ignore warnings around deprecated Object#=~ method in RubyGems
+ warnings.reject! {|w| w =~ %r{rubygems\/version.rb.*deprecated\ Object#=~} }
+
+ expect(warnings).to be_well_formed
end
end
end
diff --git a/spec/bundler/realworld/edgecases_spec.rb b/spec/bundler/realworld/edgecases_spec.rb
index aa60e20b8a..1db5c0f9d6 100644
--- a/spec/bundler/realworld/edgecases_spec.rb
+++ b/spec/bundler/realworld/edgecases_spec.rb
@@ -57,7 +57,7 @@ RSpec.describe "real world edgecases", :realworld => true, :sometimes => true do
expect(lockfile).to include("activemodel (3.0.5)")
end
- it "resolves dependencies correctly", :ruby => "1.9.3" do
+ it "resolves dependencies correctly", :ruby => "<= 1.9.3" do
gemfile <<-G
source "https://rubygems.org"
@@ -70,7 +70,7 @@ RSpec.describe "real world edgecases", :realworld => true, :sometimes => true do
expect(lockfile).to include("capybara (2.2.1)")
end
- it "installs the latest version of gxapi_rails", :ruby => "1.9.3" do
+ it "installs the latest version of gxapi_rails", :ruby => "<= 1.9.3" do
gemfile <<-G
source "https://rubygems.org"
@@ -188,7 +188,7 @@ RSpec.describe "real world edgecases", :realworld => true, :sometimes => true do
activemodel (= 4.2.7.1)
activerecord (= 4.2.7.1)
activesupport (= 4.2.7.1)
- bundler (>= 1.3.0, < 2.0)
+ bundler (>= 1.3.0, < 3.0)
railties (= 4.2.7.1)
sprockets-rails
rails-deprecated_sanitizer (1.0.3)
diff --git a/spec/bundler/runtime/executable_spec.rb b/spec/bundler/runtime/executable_spec.rb
index dcee234e15..7ba510a509 100644
--- a/spec/bundler/runtime/executable_spec.rb
+++ b/spec/bundler/runtime/executable_spec.rb
@@ -99,7 +99,7 @@ RSpec.describe "Running bin/* commands" do
expect(bundled_app("bin/rackup")).not_to exist
end
- it "allows you to stop installing binstubs", :bundler => "< 2" do
+ it "allows you to stop installing binstubs", :bundler => "< 3" do
bundle! "install --binstubs bin/"
bundled_app("bin/rackup").rmtree
bundle! "install --binstubs \"\""
@@ -110,7 +110,7 @@ RSpec.describe "Running bin/* commands" do
expect(out).to include("You have not configured a value for `bin`")
end
- it "remembers that the option was specified", :bundler => "< 2" do
+ it "remembers that the option was specified", :bundler => "< 3" do
gemfile <<-G
source "file://#{gem_repo1}"
gem "activesupport"
diff --git a/spec/bundler/runtime/setup_spec.rb b/spec/bundler/runtime/setup_spec.rb
index 646227d931..c41738a598 100644
--- a/spec/bundler/runtime/setup_spec.rb
+++ b/spec/bundler/runtime/setup_spec.rb
@@ -886,7 +886,9 @@ end
end
end
- it "should succesfully require 'bundler/setup'", :ruby_repo do
+ # Can't make this pass on 2.6 since the ruby standard library has the same $LOAD_PATH
+ # entry as bundler (since it's a default gem)
+ it "should successfully require 'bundler/setup'", :ruby_repo, :ruby => "< 2.6" do
install_gemfile ""
ENV["GEM_PATH"] = symlinked_gem_home.path
@@ -1395,7 +1397,7 @@ end
end
describe "after setup" do
- it "allows calling #gem on random objects", :bundler => "< 2" do
+ it "allows calling #gem on random objects", :bundler => "< 3" do
install_gemfile <<-G
source "file:#{gem_repo1}"
gem "rack"
@@ -1410,7 +1412,7 @@ end
expect(out).to eq("rack-1.0.0")
end
- it "keeps Kernel#gem private", :bundler => "2" do
+ it "keeps Kernel#gem private", :bundler => "3" do
install_gemfile! <<-G
source "file:#{gem_repo1}"
gem "rack"
diff --git a/spec/bundler/runtime/with_clean_env_spec.rb b/spec/bundler/runtime/with_clean_env_spec.rb
index 321f5b6415..da8e37b45d 100644
--- a/spec/bundler/runtime/with_clean_env_spec.rb
+++ b/spec/bundler/runtime/with_clean_env_spec.rb
@@ -63,7 +63,7 @@ RSpec.describe "Bundler.with_env helpers" do
end
end
- describe "Bundler.clean_env", :bundler => "< 2" do
+ describe "Bundler.clean_env", :bundler => "< 3" do
before do
bundle "config path vendor/bundle"
gemfile ""
@@ -116,7 +116,7 @@ RSpec.describe "Bundler.with_env helpers" do
end
end
- describe "Bundler.with_clean_env", :bundler => "< 2" do
+ describe "Bundler.with_clean_env", :bundler => "< 3" do
it "should set ENV to clean_env in the block" do
expected = Bundler.clean_env
actual = Bundler.with_clean_env { ENV.to_hash }
@@ -132,14 +132,14 @@ RSpec.describe "Bundler.with_env helpers" do
end
end
- describe "Bundler.clean_system", :ruby => ">= 1.9", :bundler => "< 2" do
+ describe "Bundler.clean_system", :ruby => ">= 1.9", :bundler => "< 3" do
it "runs system inside with_clean_env" do
Bundler.clean_system(%(echo 'if [ "$BUNDLE_PATH" = "" ]; then exit 42; else exit 1; fi' | /bin/sh))
expect($?.exitstatus).to eq(42)
end
end
- describe "Bundler.clean_exec", :ruby => ">= 1.9", :bundler => "< 2" do
+ describe "Bundler.clean_exec", :ruby => ">= 1.9", :bundler => "< 3" do
it "runs exec inside with_clean_env" do
pid = Kernel.fork do
Bundler.clean_exec(%(echo 'if [ "$BUNDLE_PATH" = "" ]; then exit 42; else exit 1; fi' | /bin/sh))
diff --git a/spec/bundler/spec_helper.rb b/spec/bundler/spec_helper.rb
index 0646719c4c..c7614e1c43 100644
--- a/spec/bundler/spec_helper.rb
+++ b/spec/bundler/spec_helper.rb
@@ -40,7 +40,7 @@ if ENV.select {|k, _v| k =~ /TRAVIS/ }.any? && Gem::Version.new(Gem::VERSION) >
end
end
-if File.expand_path(__FILE__) =~ %r{([^\w/\.-])}
+if File.expand_path(__FILE__) =~ %r{([^\w/\.:\-])}
abort "The bundler specs cannot be run from a path that contains special characters (particularly #{$1.inspect})"
end
diff --git a/spec/bundler/support/helpers.rb b/spec/bundler/support/helpers.rb
index b027e7a922..43bf6af229 100644
--- a/spec/bundler/support/helpers.rb
+++ b/spec/bundler/support/helpers.rb
@@ -53,7 +53,7 @@ module Spec
end
def bundle_update_requires_all?
- Bundler::VERSION.start_with?("1.") ? nil : true
+ Bundler::VERSION.start_with?("2.") ? nil : true
end
def in_app_root(&blk)
@@ -104,7 +104,7 @@ module Spec
bundle_bin = options.delete("bundle_bin") || bindir.join("bundle")
if system_bundler = options.delete(:system_bundler)
- bundle_bin = "-S bundle"
+ bundle_bin = system_bundle_bin_path
end
env = options.delete(:env) || {}
@@ -152,7 +152,7 @@ module Spec
bang :bundle
def forgotten_command_line_options(options)
- remembered = Bundler::VERSION.split(".", 2).first == "1"
+ remembered = Bundler.bundler_major_version < 3
options = options.map do |k, v|
k = Array(k)[remembered ? 0 : -1]
v = '""' if v && v.to_s.empty?
diff --git a/spec/bundler/support/path.rb b/spec/bundler/support/path.rb
index 76fa89d3cc..38f7145dc7 100644
--- a/spec/bundler/support/path.rb
+++ b/spec/bundler/support/path.rb
@@ -29,7 +29,7 @@ module Spec
end
def default_bundle_path(*path)
- if Bundler::VERSION.split(".").first.to_i < 2
+ if Bundler::VERSION.split(".").first.to_i < 3
system_gem_path(*path)
else
bundled_app(*[".bundle", ENV.fetch("BUNDLER_SPEC_RUBY_ENGINE", Gem.ruby_engine), Gem::ConfigMap[:ruby_version], *path].compact)
@@ -90,6 +90,10 @@ module Spec
tmp("gems/system", *path)
end
+ def system_bundle_bin_path
+ system_gem_path("bin/bundle")
+ end
+
def lib_path(*args)
tmp("libs", *args)
end
diff --git a/spec/bundler/support/platforms.rb b/spec/bundler/support/platforms.rb
index 39040a61bd..950311d20e 100644
--- a/spec/bundler/support/platforms.rb
+++ b/spec/bundler/support/platforms.rb
@@ -106,7 +106,7 @@ module Spec
end
def local_platforms
- if Bundler::VERSION.split(".").first.to_i > 1
+ if Bundler::VERSION.split(".").first.to_i > 2
[local, specific_local_platform]
else
[local]
diff --git a/spec/bundler/update/git_spec.rb b/spec/bundler/update/git_spec.rb
index b4cbb79434..d97760e84b 100644
--- a/spec/bundler/update/git_spec.rb
+++ b/spec/bundler/update/git_spec.rb
@@ -299,7 +299,7 @@ RSpec.describe "bundle update" do
G
end
- it "the --source flag updates version of gems that were originally pulled in by the source", :bundler => "< 2" do
+ it "the --source flag updates version of gems that were originally pulled in by the source", :bundler => "> 3" do
spec_lines = lib_path("bar/foo.gemspec").read.split("\n")
spec_lines[5] = "s.version = '2.0'"
@@ -335,7 +335,7 @@ RSpec.describe "bundle update" do
G
end
- it "the --source flag updates version of gems that were originally pulled in by the source", :bundler => "2" do
+ it "the --source flag updates version of gems that were originally pulled in by the source", :bundler => "3" do
spec_lines = lib_path("bar/foo.gemspec").read.split("\n")
spec_lines[5] = "s.version = '2.0'"
diff --git a/spec/bundler/update/redownload_spec.rb b/spec/bundler/update/redownload_spec.rb
index 018d3ed2e9..1bbc3a66fc 100644
--- a/spec/bundler/update/redownload_spec.rb
+++ b/spec/bundler/update/redownload_spec.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-RSpec.describe "bundle update", :bundler => "< 2", :ruby => ">= 2.0" do
+RSpec.describe "bundle update", :bundler => "< 3", :ruby => ">= 2.0" do
before :each do
install_gemfile <<-G
source "file://#{gem_repo1}"
@@ -13,24 +13,24 @@ RSpec.describe "bundle update", :bundler => "< 2", :ruby => ">= 2.0" do
describe "with --force" do
it "shows a deprecation when single flag passed" do
bundle! "update rack --force"
- expect(out).to include "[DEPRECATED FOR 2.0] The `--force` option has been renamed to `--redownload`"
+ expect(out).to include "[DEPRECATED FOR 3.0] The `--force` option has been renamed to `--redownload`"
end
it "shows a deprecation when multiple flags passed" do
bundle! "update rack --no-color --force"
- expect(out).to include "[DEPRECATED FOR 2.0] The `--force` option has been renamed to `--redownload`"
+ expect(out).to include "[DEPRECATED FOR 3.0] The `--force` option has been renamed to `--redownload`"
end
end
describe "with --redownload" do
it "does not show a deprecation when single flag passed" do
bundle! "update rack --redownload"
- expect(out).not_to include "[DEPRECATED FOR 2.0] The `--force` option has been renamed to `--redownload`"
+ expect(out).not_to include "[DEPRECATED FOR 3.0] The `--force` option has been renamed to `--redownload`"
end
it "does not show a deprecation when single multiple flags passed" do
bundle! "update rack --no-color --redownload"
- expect(out).not_to include "[DEPRECATED FOR 2.0] The `--force` option has been renamed to `--redownload`"
+ expect(out).not_to include "[DEPRECATED FOR 3.0] The `--force` option has been renamed to `--redownload`"
end
end
end