summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/PULL_REQUEST_TEMPLATE.md21
-rw-r--r--.github/workflows/jruby.yml31
-rw-r--r--.rubocop.yml2
-rw-r--r--.travis.yml1
-rw-r--r--CHANGELOG.md16
-rw-r--r--doc/POLICIES.md22
-rw-r--r--doc/contributing/HOW_YOU_CAN_HELP.md2
-rw-r--r--lib/bundler.rb15
-rw-r--r--lib/bundler/cli/gem.rb2
-rw-r--r--lib/bundler/cli/init.rb2
-rw-r--r--lib/bundler/cli/issue.rb4
-rw-r--r--lib/bundler/friendly_errors.rb14
-rw-r--r--lib/bundler/gem_helper.rb12
-rw-r--r--lib/bundler/source/git/git_proxy.rb2
-rw-r--r--lib/bundler/source/path.rb6
-rw-r--r--lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt104
-rw-r--r--lib/bundler/templates/newgem/Gemfile.tt2
-rw-r--r--man/bundle-add.12
-rw-r--r--man/bundle-add.1.txt2
-rw-r--r--man/bundle-binstubs.12
-rw-r--r--man/bundle-binstubs.1.txt2
-rw-r--r--man/bundle-cache.12
-rw-r--r--man/bundle-cache.1.txt2
-rw-r--r--man/bundle-check.12
-rw-r--r--man/bundle-check.1.txt2
-rw-r--r--man/bundle-clean.12
-rw-r--r--man/bundle-clean.1.txt2
-rw-r--r--man/bundle-config.12
-rw-r--r--man/bundle-config.1.txt2
-rw-r--r--man/bundle-doctor.12
-rw-r--r--man/bundle-doctor.1.txt2
-rw-r--r--man/bundle-exec.12
-rw-r--r--man/bundle-exec.1.txt2
-rw-r--r--man/bundle-gem.12
-rw-r--r--man/bundle-gem.1.txt2
-rw-r--r--man/bundle-info.12
-rw-r--r--man/bundle-info.1.txt2
-rw-r--r--man/bundle-init.12
-rw-r--r--man/bundle-init.1.txt2
-rw-r--r--man/bundle-inject.12
-rw-r--r--man/bundle-inject.1.txt2
-rw-r--r--man/bundle-install.12
-rw-r--r--man/bundle-install.1.txt2
-rw-r--r--man/bundle-list.12
-rw-r--r--man/bundle-list.1.txt2
-rw-r--r--man/bundle-lock.12
-rw-r--r--man/bundle-lock.1.txt2
-rw-r--r--man/bundle-open.12
-rw-r--r--man/bundle-open.1.txt2
-rw-r--r--man/bundle-outdated.12
-rw-r--r--man/bundle-outdated.1.txt2
-rw-r--r--man/bundle-platform.12
-rw-r--r--man/bundle-platform.1.txt2
-rw-r--r--man/bundle-pristine.12
-rw-r--r--man/bundle-pristine.1.txt2
-rw-r--r--man/bundle-remove.12
-rw-r--r--man/bundle-remove.1.txt2
-rw-r--r--man/bundle-show.12
-rw-r--r--man/bundle-show.1.txt2
-rw-r--r--man/bundle-update.12
-rw-r--r--man/bundle-update.1.txt2
-rw-r--r--man/bundle-viz.12
-rw-r--r--man/bundle-viz.1.txt2
-rw-r--r--man/bundle.12
-rw-r--r--man/bundle.1.txt2
-rw-r--r--man/gemfile.52
-rw-r--r--man/gemfile.5.txt2
-rw-r--r--spec/bundler/compact_index_client/updater_spec.rb4
-rw-r--r--spec/bundler/friendly_errors_spec.rb26
-rw-r--r--spec/bundler/gem_helper_spec.rb3
-rw-r--r--spec/cache/path_spec.rb7
-rw-r--r--spec/commands/config_spec.rb12
-rw-r--r--spec/commands/lock_spec.rb6
-rw-r--r--spec/commands/newgem_spec.rb4
-rw-r--r--spec/commands/show_spec.rb2
-rw-r--r--spec/install/gemfile/gemspec_spec.rb2
-rw-r--r--spec/install/gems/compact_index_spec.rb2
-rw-r--r--spec/install/gems/resolving_spec.rb4
-rw-r--r--spec/lock/lockfile_spec.rb4
-rw-r--r--spec/quality_spec.rb2
-rw-r--r--spec/realworld/fixtures/warbler/.gitignore1
-rw-r--r--spec/realworld/fixtures/warbler/Gemfile7
-rw-r--r--spec/realworld/fixtures/warbler/Gemfile.lock29
-rw-r--r--spec/realworld/fixtures/warbler/bin/warbler-example.rb3
-rw-r--r--spec/realworld/fixtures/warbler/demo/demo.gemspec10
-rw-r--r--spec/runtime/setup_spec.rb2
-rw-r--r--spec/support/builders.rb40
-rw-r--r--spec/support/path.rb10
-rw-r--r--spec/support/rubygems_ext.rb11
89 files changed, 335 insertions, 214 deletions
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 67dfa5b2c6..a721e8bf0d 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,18 +1,19 @@
+<!--
Thanks so much for the contribution!
-To make reviewing this PR a bit easier, please fill out answers to the following questions.
-### What was the end-user problem that led to this PR?
+If you're updating documentation, make sure you run `bin/rake man:build` and
+squash the result into your changes, so that all documentation formats are
+updated.
-The problem was...
+To make reviewing this PR a bit easier, please fill out answers to the following questions.
+-->
-### What was your diagnosis of the problem?
+### What was the end-user or developer problem that led to this PR?
-My diagnosis was...
+<!-- Write a clear and complete description of the problem -->
### What is your fix for the problem, implemented in this PR?
-My fix...
-
-### Why did you choose this fix out of the possible options?
-
-I chose this fix because...
+<!-- Explain the fix being implemented. Include any diagnosis you run to
+determine the cause of the issue and your conclusions. If you considered other
+alternatives, explain why you end up choosing the current implementation -->
diff --git a/.github/workflows/jruby.yml b/.github/workflows/jruby.yml
new file mode 100644
index 0000000000..4974787eed
--- /dev/null
+++ b/.github/workflows/jruby.yml
@@ -0,0 +1,31 @@
+name: jruby
+
+on:
+ pull_request:
+
+ push:
+ branches:
+ - staging
+ - trying
+
+jobs:
+ warbler:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+
+ - name: Setup ruby
+ uses: eregon/use-ruby-action@v1
+ with:
+ ruby-version: jruby-9.2.9.0
+
+ - name: Install local bundler
+ run: bin/rake install:local
+
+ - name: Run a warbler project
+ run: |
+ cd spec/realworld/fixtures/warbler
+ bundle install
+ bundle exec warble
+ java -jar warbler.jar
diff --git a/.rubocop.yml b/.rubocop.yml
index 604300a117..3a4d8cb295 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -408,6 +408,8 @@ Naming/ConstantName:
Naming/FileName:
Enabled: true
+ Exclude:
+ - 'spec/realworld/fixtures/warbler/bin/warbler-example.rb'
Naming/HeredocDelimiterCase:
Enabled: true
diff --git a/.travis.yml b/.travis.yml
index 8fd329cf3c..1100b8981f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,7 +7,6 @@ script:
- BUNDLER_SPEC_PRE_RECORDED=1 bin/rake spec:realworld
before_script:
- - travis_retry gem install rake:"~> 12.0"
- travis_retry bin/rake override_version
- travis_retry bin/rake spec:parallel_deps
- if [ "$BUNDLER_SPEC_SUB_VERSION" = "" ];
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9bf8e81a7f..1cfa974545 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,19 @@
+## 2.1.4 (January 5, 2020)
+
+Bugfixes:
+
+ - Fix `net-http-pipeline` no longer being allowed in Gemfiles if already installed in the system due to our vendored version of `net-http-persistent` optionally requiring it [#7529](https://github.com/bundler/bundler/pull/7529)
+ - Fix inline gems no longer being requirable if no Gemfile is present in the directory hierarchy [#7537](https://github.com/bundler/bundler/pull/7537)
+
+## 2.1.3 (January 2, 2020)
+
+Bugfixes:
+
+ - Fix `rake build` when path has spaces on it [#7514](https://github.com/bundler/bundler/pull/7514)
+ - Fix `rake release` git push tasks when the running shell has `git` as an alias of another command (like `hub`) [#7510](https://github.com/bundler/bundler/pull/7510)
+ - Fix some circular require warnings [#7520](https://github.com/bundler/bundler/pull/7520)
+ - Fix `bundle config set deployment true` recommended alternative to `bundle config --deployment` to behave in the same way as the `--deployment` flag [#7519](https://github.com/bundler/bundler/pull/7519)
+
## 2.1.2 (December 20, 2019)
Bugfixes:
diff --git a/doc/POLICIES.md b/doc/POLICIES.md
index 81a8a72f82..c82739e4c0 100644
--- a/doc/POLICIES.md
+++ b/doc/POLICIES.md
@@ -17,10 +17,22 @@ Bundler tries for perfect backwards compatibility. That means that if something
Bundler will provide features and bugfixes to older versions on a schedule similar to Ruby itself. For example, when Bundler 4.x is the current version, Bundler 4 will be eligible for new features and bugfixes. Bundler 3 will be eligible for bugfixes only. Bundler 2 will be eligible for security bugfixes only. Bundler 1 will be unsupported.
-Bundler 2 and above will support Ruby and RubyGems versions for the same amount of time as the Ruby core team supports them. As of February 2018, that means no support for Bundler running on Ruby 2.2, security fixes only for Bundler running on Ruby 2.3, and full support (including new features and bugfixes) for Bundler running on Ruby 2.4 and 2.5. Unsupported Ruby versions will be dropped in the first Bundler minor release after support ends.
+Bundler supports Ruby and RubyGems versions until the next major release after the Ruby core team drops support. For example, the Ruby core team will drop all Ruby 2.4 support on March 31, 2020. The next Bundler major release after that date will drop support for Ruby 2.4.
These policies are not a guarantee that any particular fix will be backported. Instead, this is a way for us to set an upper limit on the versions of Ruby, RubyGems, and Bundler that we have to consider while making changes. Without the limit, the number of versions grows exponentially over time and quickly becomes overwhelming, which leads to maintainer burnout. We want to avoid that.
+### Release guidelines
+
+**tl;dr**: Majors about once per year, minors for any finished features with docs, patches for any committed bugfix.
+
+Patch (bugfix) releases should generally be cut as soon as possible. A patch release for a single bugfix PR is totally okay.
+
+Minor (feature) releases can be cut anytime at least one new feature is ready, but don't have to be. Minor version releases must update their major version's man pages and docs website as needed, and should each have their own "What's new?" section.
+
+Major (breaking) version releases should be cut no more than once per year, and must include a new section of the docs website dedicated to that major version. Ideally, major releases will happen after a Ruby version loses support in February or March, to help us stay in sync with Ruby versions supported by the core team.
+
+Breaking changes other than dropping support for old Ruby versions should be avoided whenever possible, but may be included in major releases. In general, breaking changes should include at least one major version (and one year elapsed) with a deprecation warning before the breaking change takes effect.
+
### User experience guidelines
The experience of using Bundler should not include surprises. If users are surprised, we did something wrong, and we should fix it. There are no user errors, only UX design failures. Warnings should always include actionable instructions to resolve them. Errors should include instructions, helpful references, or other information to help users attempt to debug.
@@ -58,14 +70,6 @@ Always create pull requests rather than pushing directly to the primary branch.
Contributors who have contributed regularly for more than six months (or implemented a completely new feature for a minor release) are eligible to join the maintainer team. Unless vetoed by an existing maintainer, these contributors will be asked to join the maintainer team. If they accept, new maintainers will be given permissions to view maintainer playbooks, accept pull requests, and release new versions.
-### Release guidelines
-
-Bugfix releases should generally be cut as soon as possible. Multiple bugfix releases are preferable to waiting for a specific fix to land.
-
-Minor/feature releases can be cut anytime at least one new feature is ready, but don't have to be. Minor version releases should include an update to the documentation website, allowing users to view the documentation for whatever minor version they happen to be using.
-
-Major version releases should be cut no more than once per year, ideally between Ruby's release on December 25 and February 15 of the next year. Releasing soon after Ruby helps us stay in sync with deprecated Ruby versions. Breaking changes other than dropping support for old Ruby versions should be avoided whenever possible, but may be included in major releases. In general, breaking changes should include at least one major version with a deprecation warning before the breaking change takes effect.
-
### Enforcement guidelines
First off, Bundler's policies and enforcement of those policies are subsidiary to [Bundler's code of conduct](https://github.com/rubygems/bundler/blob/master/CODE_OF_CONDUCT.md) in any case where they conflict. The first priority is treating human beings with respect and empathy, and figuring out project guidelines and sticking to them will always come after that.
diff --git a/doc/contributing/HOW_YOU_CAN_HELP.md b/doc/contributing/HOW_YOU_CAN_HELP.md
index 9f8c4270e8..fc2d1d33e1 100644
--- a/doc/contributing/HOW_YOU_CAN_HELP.md
+++ b/doc/contributing/HOW_YOU_CAN_HELP.md
@@ -19,7 +19,7 @@ Generally, great ways to get started helping out with Bundler are:
- closing issues that are not complete
- adding a failing test for reproducible [reported bugs](https://github.com/rubygems/bundler/issues)
- reviewing [pull requests](https://github.com/rubygems/bundler/pulls) and suggesting improvements
- - improving existing code, including suggestions from [CodeClimate](https://codeclimate.com/github/bundler/bundler)
+ - improving existing code, including suggestions from [CodeClimate](https://codeclimate.com/github/rubygems/bundler)
- writing code (no patch is too small! fix typos or bad whitespace)
- get started setting up your dev environment with [these instructions](../development/SETUP.md)
- backfilling [unit tests](https://github.com/rubygems/bundler/tree/master/spec/bundler) for modules that lack coverage.
diff --git a/lib/bundler.rb b/lib/bundler.rb
index df345539c8..23ed848d86 100644
--- a/lib/bundler.rb
+++ b/lib/bundler.rb
@@ -285,7 +285,13 @@ module Bundler
def app_config_path
if app_config = ENV["BUNDLE_APP_CONFIG"]
- Pathname.new(app_config).expand_path(root)
+ app_config_pathname = Pathname.new(app_config)
+
+ if app_config_pathname.absolute?
+ app_config_pathname
+ else
+ app_config_pathname.expand_path(root)
+ end
else
root.join(".bundle")
end
@@ -451,6 +457,10 @@ EOF
Bundler.settings[:system_bindir] || Bundler.rubygems.gem_bindir
end
+ def preferred_gemfile_name
+ Bundler.settings[:init_gems_rb] ? "gems.rb" : "Gemfile"
+ end
+
def use_system_gems?
configured_bundle_path.use_system_gems?
end
@@ -512,7 +522,8 @@ EOF
Your user account isn't allowed to install to the system RubyGems.
You can cancel this installation and run:
- bundle install --path vendor/bundle
+ bundle config set --local path 'vendor/bundle'
+ bundle install
to install the gems into ./vendor/bundle/, or you can enter your password
and install the bundled gems to RubyGems using sudo.
diff --git a/lib/bundler/cli/gem.rb b/lib/bundler/cli/gem.rb
index 00b3bc55a6..3fd67d9a88 100644
--- a/lib/bundler/cli/gem.rb
+++ b/lib/bundler/cli/gem.rb
@@ -63,7 +63,7 @@ module Bundler
ensure_safe_gem_name(name, constant_array)
templates = {
- "Gemfile.tt" => "Gemfile",
+ "#{Bundler.preferred_gemfile_name}.tt" => Bundler.preferred_gemfile_name,
"lib/newgem.rb.tt" => "lib/#{namespaced_path}.rb",
"lib/newgem/version.rb.tt" => "lib/#{namespaced_path}/version.rb",
"newgem.gemspec.tt" => "#{name}.gemspec",
diff --git a/lib/bundler/cli/init.rb b/lib/bundler/cli/init.rb
index 65dd08dfe9..f45871ce9c 100644
--- a/lib/bundler/cli/init.rb
+++ b/lib/bundler/cli/init.rb
@@ -41,7 +41,7 @@ module Bundler
private
def gemfile
- @gemfile ||= Bundler.settings[:init_gems_rb] ? "gems.rb" : "Gemfile"
+ @gemfile ||= Bundler.preferred_gemfile_name
end
end
end
diff --git a/lib/bundler/cli/issue.rb b/lib/bundler/cli/issue.rb
index 054ce76315..1a0ea39f7b 100644
--- a/lib/bundler/cli/issue.rb
+++ b/lib/bundler/cli/issue.rb
@@ -10,7 +10,7 @@ module Bundler
be sure to check out these resources:
1. Check out our troubleshooting guide for quick fixes to common issues:
- https://github.com/bundler/bundler/blob/master/doc/TROUBLESHOOTING.md
+ https://github.com/rubygems/bundler/blob/master/doc/TROUBLESHOOTING.md
2. Instructions for common Bundler uses can be found on the documentation
site: https://bundler.io/
@@ -22,7 +22,7 @@ module Bundler
still aren't working the way you expect them to, please let us know so
that we can diagnose and help fix the problem you're having. Please
view the Filing Issues guide for more information:
- https://github.com/bundler/bundler/blob/master/doc/contributing/ISSUES.md
+ https://github.com/rubygems/bundler/blob/master/doc/contributing/ISSUES.md
EOS
diff --git a/lib/bundler/friendly_errors.rb b/lib/bundler/friendly_errors.rb
index 080697b02c..2b4706aab0 100644
--- a/lib/bundler/friendly_errors.rb
+++ b/lib/bundler/friendly_errors.rb
@@ -23,13 +23,7 @@ module Bundler
Bundler.ui.error error.message
when LoadError
raise error unless error.message =~ /cannot load such file -- openssl|openssl.so|libcrypto.so/
- Bundler.ui.error "\nCould not load OpenSSL."
- Bundler.ui.warn <<-WARN, :wrap => true
- You must recompile Ruby with OpenSSL support or change the sources in your \
- Gemfile from 'https' to 'http'. Instructions for compiling with OpenSSL \
- using RVM are available at https://rvm.io/packages/openssl.
- WARN
- Bundler.ui.trace error
+ Bundler.ui.error "\nCould not load OpenSSL. #{error.class}: #{error}\n#{error.backtrace.join("\n ")}"
when Interrupt
Bundler.ui.error "\nQuitting..."
Bundler.ui.trace error
@@ -82,7 +76,7 @@ module Bundler
I tried...
- - **Have you read our issues document, https://github.com/bundler/bundler/blob/master/doc/contributing/ISSUES.md?**
+ - **Have you read our issues document, https://github.com/rubygems/bundler/blob/master/doc/contributing/ISSUES.md?**
...
@@ -106,7 +100,7 @@ module Bundler
#{issues_url(e)}
If there aren't any reports for this error yet, please create copy and paste the report template above into a new issue. Don't forget to anonymize any private data! The new issue form is located at:
- https://github.com/bundler/bundler/issues/new
+ https://github.com/rubygems/bundler/issues/new
EOS
end
@@ -114,7 +108,7 @@ module Bundler
message = exception.message.lines.first.tr(":", " ").chomp
message = message.split("-").first if exception.is_a?(Errno)
require "cgi"
- "https://github.com/bundler/bundler/search?q=" \
+ "https://github.com/rubygems/bundler/search?q=" \
"#{CGI.escape(message)}&type=Issues"
end
end
diff --git a/lib/bundler/gem_helper.rb b/lib/bundler/gem_helper.rb
index 61a5673df6..9e5a72be7e 100644
--- a/lib/bundler/gem_helper.rb
+++ b/lib/bundler/gem_helper.rb
@@ -73,7 +73,7 @@ module Bundler
def build_gem
file_name = nil
- sh("#{gem_command} build -V #{spec_path.shellescape}".shellsplit) do
+ sh([*gem_command, "build", "-V", spec_path]) do
file_name = File.basename(built_gem_path)
SharedHelpers.filesystem_access(File.join(base, "pkg")) {|p| FileUtils.mkdir_p(p) }
FileUtils.mv(built_gem_path, "pkg")
@@ -84,9 +84,9 @@ module Bundler
def install_gem(built_gem_path = nil, local = false)
built_gem_path ||= build_gem
- cmd = "#{gem_command} install #{built_gem_path}"
- cmd += " --local" if local
- _, status = sh_with_status(cmd.shellsplit)
+ cmd = [*gem_command, "install", built_gem_path.to_s]
+ cmd << "--local" if local
+ _, status = sh_with_status(cmd)
unless status.success?
raise "Couldn't install gem, run `gem install #{built_gem_path}' for more detailed output"
end
@@ -96,7 +96,7 @@ module Bundler
protected
def rubygem_push(path)
- cmd = %W[#{gem_command} push #{path}]
+ cmd = [*gem_command, "push", path]
cmd << "--key" << gem_key if gem_key
cmd << "--host" << allowed_push_host if allowed_push_host
unless allowed_push_host || Bundler.user_home.join(".gem/credentials").file?
@@ -210,7 +210,7 @@ module Bundler
end
def gem_command
- ENV["GEM_COMMAND"] ? ENV["GEM_COMMAND"] : "gem"
+ ENV["GEM_COMMAND"]&.shellsplit || ["gem"]
end
end
end
diff --git a/lib/bundler/source/git/git_proxy.rb b/lib/bundler/source/git/git_proxy.rb
index 7612eb16c6..5a68112e8f 100644
--- a/lib/bundler/source/git/git_proxy.rb
+++ b/lib/bundler/source/git/git_proxy.rb
@@ -18,7 +18,7 @@ module Bundler
def initialize(command)
msg = String.new
msg << "Bundler is trying to run a `git #{command}` at runtime. You probably need to run `bundle install`. However, "
- msg << "this error message could probably be more useful. Please submit a ticket at https://github.com/bundler/bundler/issues "
+ msg << "this error message could probably be more useful. Please submit a ticket at https://github.com/rubygems/bundler/issues "
msg << "with steps to reproduce as well as the following\n\nCALLER: #{caller.join("\n")}"
super msg
end
diff --git a/lib/bundler/source/path.rb b/lib/bundler/source/path.rb
index f98f5155fb..e73e33d922 100644
--- a/lib/bundler/source/path.rb
+++ b/lib/bundler/source/path.rb
@@ -132,7 +132,11 @@ module Bundler
end
def expand(somepath)
- somepath.expand_path(root_path)
+ if Bundler.current_ruby.jruby? # TODO: Unify when https://github.com/rubygems/bundler/issues/7598 fixed upstream and all supported jrubies include the fix
+ somepath.expand_path(root_path).expand_path
+ else
+ somepath.expand_path(root_path)
+ end
rescue ArgumentError => e
Bundler.ui.debug(e)
raise PathError, "There was an error while trying to use the path " \
diff --git a/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt b/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt
index 7dfd14aab9..175b821a62 100644
--- a/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt
+++ b/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt
@@ -2,73 +2,83 @@
## Our Pledge
-In the interest of fostering an open and welcoming environment, we as
-contributors and maintainers pledge to making participation in our project and
-our community a harassment-free experience for everyone, regardless of age, body
-size, disability, ethnicity, gender identity and expression, level of experience,
-nationality, personal appearance, race, religion, or sexual identity and
-orientation.
+We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
+
+We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
## Our Standards
-Examples of behavior that contributes to creating a positive environment
-include:
+Examples of behavior that contributes to a positive environment for our community include:
-* Using welcoming and inclusive language
-* Being respectful of differing viewpoints and experiences
-* Gracefully accepting constructive criticism
-* Focusing on what is best for the community
-* Showing empathy towards other community members
+* Demonstrating empathy and kindness toward other people
+* Being respectful of differing opinions, viewpoints, and experiences
+* Giving and gracefully accepting constructive feedback
+* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
+* Focusing on what is best not just for us as individuals, but for the overall community
-Examples of unacceptable behavior by participants include:
+Examples of unacceptable behavior include:
-* The use of sexualized language or imagery and unwelcome sexual attention or
-advances
-* Trolling, insulting/derogatory comments, and personal or political attacks
+* The use of sexualized language or imagery, and sexual attention or
+ advances of any kind
+* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
-* Publishing others' private information, such as a physical or electronic
- address, without explicit permission
+* Publishing others' private information, such as a physical or email
+ address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
-## Our Responsibilities
+## Enforcement Responsibilities
-Project maintainers are responsible for clarifying the standards of acceptable
-behavior and are expected to take appropriate and fair corrective action in
-response to any instances of unacceptable behavior.
+Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
-Project maintainers have the right and responsibility to remove, edit, or
-reject comments, commits, code, wiki edits, issues, and other contributions
-that are not aligned to this Code of Conduct, or to ban temporarily or
-permanently any contributor for other behaviors that they deem inappropriate,
-threatening, offensive, or harmful.
+Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.
## Scope
-This Code of Conduct applies both within project spaces and in public spaces
-when an individual is representing the project or its community. Examples of
-representing a project or community include using an official project e-mail
-address, posting via an official social media account, or acting as an appointed
-representative at an online or offline event. Representation of a project may be
-further defined and clarified by project maintainers.
+This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
## Enforcement
-Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting the project team at <%= config[:email] %>. All
-complaints will be reviewed and investigated and will result in a response that
-is deemed necessary and appropriate to the circumstances. The project team is
-obligated to maintain confidentiality with regard to the reporter of an incident.
-Further details of specific enforcement policies may be posted separately.
+Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at <%= config[:email] %>. All complaints will be reviewed and investigated promptly and fairly.
+
+All community leaders are obligated to respect the privacy and security of the reporter of any incident.
+
+## Enforcement Guidelines
+
+Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
+
+### 1. Correction
+
+**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
+
+**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
+
+### 2. Warning
+
+**Community Impact**: A violation through a single incident or series of actions.
-Project maintainers who do not follow or enforce the Code of Conduct in good
-faith may face temporary or permanent repercussions as determined by other
-members of the project's leadership.
+**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
+
+### 3. Temporary Ban
+
+**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
+
+**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
+
+### 4. Permanent Ban
+
+**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
+
+**Consequence**: A permanent ban from any sort of public interaction within the community.
## Attribution
-This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
-available at [https://contributor-covenant.org/version/1/4][version]
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0,
+available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
+
+Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity).
+
+[homepage]: https://www.contributor-covenant.org
-[homepage]: https://contributor-covenant.org
-[version]: https://contributor-covenant.org/version/1/4/
+For answers to common questions about this code of conduct, see the FAQ at
+https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.
diff --git a/lib/bundler/templates/newgem/Gemfile.tt b/lib/bundler/templates/newgem/Gemfile.tt
index 7b0296068b..b689e2e804 100644
--- a/lib/bundler/templates/newgem/Gemfile.tt
+++ b/lib/bundler/templates/newgem/Gemfile.tt
@@ -3,7 +3,7 @@ source "https://rubygems.org"
# Specify your gem's dependencies in <%= config[:name] %>.gemspec
gemspec
-gem "rake", "~> 12.0"
+gem "rake", "~> 13.0"
<%- if config[:ext] -%>
gem "rake-compiler"
<%- end -%>
diff --git a/man/bundle-add.1 b/man/bundle-add.1
index 8b75859104..b8ba117f9a 100644
--- a/man/bundle-add.1
+++ b/man/bundle-add.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-ADD" "1" "January 2020" "" ""
+.TH "BUNDLE\-ADD" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
diff --git a/man/bundle-add.1.txt b/man/bundle-add.1.txt
index dcd76df4ae..c37785553a 100644
--- a/man/bundle-add.1.txt
+++ b/man/bundle-add.1.txt
@@ -55,4 +55,4 @@ OPTIONS
- January 2020 BUNDLE-ADD(1)
+ February 2020 BUNDLE-ADD(1)
diff --git a/man/bundle-binstubs.1 b/man/bundle-binstubs.1
index 4f9e5c0e31..23c7520d4b 100644
--- a/man/bundle-binstubs.1
+++ b/man/bundle-binstubs.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-BINSTUBS" "1" "January 2020" "" ""
+.TH "BUNDLE\-BINSTUBS" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
diff --git a/man/bundle-binstubs.1.txt b/man/bundle-binstubs.1.txt
index cbd2b12da0..73fde9a21f 100644
--- a/man/bundle-binstubs.1.txt
+++ b/man/bundle-binstubs.1.txt
@@ -45,4 +45,4 @@ BUNDLE INSTALL --BINSTUBS
- January 2020 BUNDLE-BINSTUBS(1)
+ February 2020 BUNDLE-BINSTUBS(1)
diff --git a/man/bundle-cache.1 b/man/bundle-cache.1
index cb376777ff..446ce6b94b 100644
--- a/man/bundle-cache.1
+++ b/man/bundle-cache.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-CACHE" "1" "January 2020" "" ""
+.TH "BUNDLE\-CACHE" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
diff --git a/man/bundle-cache.1.txt b/man/bundle-cache.1.txt
index c0b8b5bf07..37262f3466 100644
--- a/man/bundle-cache.1.txt
+++ b/man/bundle-cache.1.txt
@@ -75,4 +75,4 @@ REMOTE FETCHING
- January 2020 BUNDLE-CACHE(1)
+ February 2020 BUNDLE-CACHE(1)
diff --git a/man/bundle-check.1 b/man/bundle-check.1
index aba5b66348..0ba17223e9 100644
--- a/man/bundle-check.1
+++ b/man/bundle-check.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-CHECK" "1" "January 2020" "" ""
+.TH "BUNDLE\-CHECK" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
diff --git a/man/bundle-check.1.txt b/man/bundle-check.1.txt
index cca5fae9e1..dc58dc36a5 100644
--- a/man/bundle-check.1.txt
+++ b/man/bundle-check.1.txt
@@ -30,4 +30,4 @@ OPTIONS
- January 2020 BUNDLE-CHECK(1)
+ February 2020 BUNDLE-CHECK(1)
diff --git a/man/bundle-clean.1 b/man/bundle-clean.1
index cc5c8e86d7..462aa03913 100644
--- a/man/bundle-clean.1
+++ b/man/bundle-clean.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-CLEAN" "1" "January 2020" "" ""
+.TH "BUNDLE\-CLEAN" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
diff --git a/man/bundle-clean.1.txt b/man/bundle-clean.1.txt
index 300d0c0b51..febc88666b 100644
--- a/man/bundle-clean.1.txt
+++ b/man/bundle-clean.1.txt
@@ -23,4 +23,4 @@ OPTIONS
- January 2020 BUNDLE-CLEAN(1)
+ February 2020 BUNDLE-CLEAN(1)
diff --git a/man/bundle-config.1 b/man/bundle-config.1
index 2831c64f07..58be36c5c6 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" "January 2020" "" ""
+.TH "BUNDLE\-CONFIG" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-config\fR \- Set bundler configuration options
diff --git a/man/bundle-config.1.txt b/man/bundle-config.1.txt
index 6734e26be2..d6632792e5 100644
--- a/man/bundle-config.1.txt
+++ b/man/bundle-config.1.txt
@@ -526,4 +526,4 @@ CONFIGURE BUNDLER DIRECTORIES
- January 2020 BUNDLE-CONFIG(1)
+ February 2020 BUNDLE-CONFIG(1)
diff --git a/man/bundle-doctor.1 b/man/bundle-doctor.1
index 344c40066b..96c23653fc 100644
--- a/man/bundle-doctor.1
+++ b/man/bundle-doctor.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-DOCTOR" "1" "January 2020" "" ""
+.TH "BUNDLE\-DOCTOR" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-doctor\fR \- Checks the bundle for common problems
diff --git a/man/bundle-doctor.1.txt b/man/bundle-doctor.1.txt
index 595ba99633..6fd76e94b1 100644
--- a/man/bundle-doctor.1.txt
+++ b/man/bundle-doctor.1.txt
@@ -41,4 +41,4 @@ OPTIONS
- January 2020 BUNDLE-DOCTOR(1)
+ February 2020 BUNDLE-DOCTOR(1)
diff --git a/man/bundle-exec.1 b/man/bundle-exec.1
index 555819a5b4..5aa9739312 100644
--- a/man/bundle-exec.1
+++ b/man/bundle-exec.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-EXEC" "1" "January 2020" "" ""
+.TH "BUNDLE\-EXEC" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-exec\fR \- Execute a command in the context of the bundle
diff --git a/man/bundle-exec.1.txt b/man/bundle-exec.1.txt
index ebdc2fda71..eb4457903d 100644
--- a/man/bundle-exec.1.txt
+++ b/man/bundle-exec.1.txt
@@ -175,4 +175,4 @@ RUBYGEMS PLUGINS
- January 2020 BUNDLE-EXEC(1)
+ February 2020 BUNDLE-EXEC(1)
diff --git a/man/bundle-gem.1 b/man/bundle-gem.1
index df53a11d21..0f3d7b9d22 100644
--- a/man/bundle-gem.1
+++ b/man/bundle-gem.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-GEM" "1" "January 2020" "" ""
+.TH "BUNDLE\-GEM" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
diff --git a/man/bundle-gem.1.txt b/man/bundle-gem.1.txt
index 18ce2ba465..665a488d93 100644
--- a/man/bundle-gem.1.txt
+++ b/man/bundle-gem.1.txt
@@ -88,4 +88,4 @@ SEE ALSO
- January 2020 BUNDLE-GEM(1)
+ February 2020 BUNDLE-GEM(1)
diff --git a/man/bundle-info.1 b/man/bundle-info.1
index d7c73e9bb7..2f61645cad 100644
--- a/man/bundle-info.1
+++ b/man/bundle-info.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-INFO" "1" "January 2020" "" ""
+.TH "BUNDLE\-INFO" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-info\fR \- Show information for the given gem in your bundle
diff --git a/man/bundle-info.1.txt b/man/bundle-info.1.txt
index 67563aa191..a6de372431 100644
--- a/man/bundle-info.1.txt
+++ b/man/bundle-info.1.txt
@@ -18,4 +18,4 @@ OPTIONS
- January 2020 BUNDLE-INFO(1)
+ February 2020 BUNDLE-INFO(1)
diff --git a/man/bundle-init.1 b/man/bundle-init.1
index 803d4b9be8..5e1c275801 100644
--- a/man/bundle-init.1
+++ b/man/bundle-init.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-INIT" "1" "January 2020" "" ""
+.TH "BUNDLE\-INIT" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory
diff --git a/man/bundle-init.1.txt b/man/bundle-init.1.txt
index 2565edbece..2554ff9551 100644
--- a/man/bundle-init.1.txt
+++ b/man/bundle-init.1.txt
@@ -31,4 +31,4 @@ SEE ALSO
- January 2020 BUNDLE-INIT(1)
+ February 2020 BUNDLE-INIT(1)
diff --git a/man/bundle-inject.1 b/man/bundle-inject.1
index 3370a91573..9a89406062 100644
--- a/man/bundle-inject.1
+++ b/man/bundle-inject.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-INJECT" "1" "January 2020" "" ""
+.TH "BUNDLE\-INJECT" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
diff --git a/man/bundle-inject.1.txt b/man/bundle-inject.1.txt
index 4707b99e5f..fed16d971b 100644
--- a/man/bundle-inject.1.txt
+++ b/man/bundle-inject.1.txt
@@ -29,4 +29,4 @@ DESCRIPTION
- January 2020 BUNDLE-INJECT(1)
+ February 2020 BUNDLE-INJECT(1)
diff --git a/man/bundle-install.1 b/man/bundle-install.1
index 4a289f5c2e..d112e502b9 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" "January 2020" "" ""
+.TH "BUNDLE\-INSTALL" "1" "February 2020" "" ""
.
.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 b1a9ad1eb3..63f90f7db6 100644
--- a/man/bundle-install.1.txt
+++ b/man/bundle-install.1.txt
@@ -398,4 +398,4 @@ SEE ALSO
- January 2020 BUNDLE-INSTALL(1)
+ February 2020 BUNDLE-INSTALL(1)
diff --git a/man/bundle-list.1 b/man/bundle-list.1
index 0c0cbf043d..4bec0f5fab 100644
--- a/man/bundle-list.1
+++ b/man/bundle-list.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-LIST" "1" "January 2020" "" ""
+.TH "BUNDLE\-LIST" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-list\fR \- List all the gems in the bundle
diff --git a/man/bundle-list.1.txt b/man/bundle-list.1.txt
index 8c8ccf01c7..aa2fa027e9 100644
--- a/man/bundle-list.1.txt
+++ b/man/bundle-list.1.txt
@@ -41,4 +41,4 @@ OPTIONS
- January 2020 BUNDLE-LIST(1)
+ February 2020 BUNDLE-LIST(1)
diff --git a/man/bundle-lock.1 b/man/bundle-lock.1
index 89f6e35179..b96002c99f 100644
--- a/man/bundle-lock.1
+++ b/man/bundle-lock.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-LOCK" "1" "January 2020" "" ""
+.TH "BUNDLE\-LOCK" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-lock\fR \- Creates / Updates a lockfile without installing
diff --git a/man/bundle-lock.1.txt b/man/bundle-lock.1.txt
index 80dcada5b3..f57cfe6f7d 100644
--- a/man/bundle-lock.1.txt
+++ b/man/bundle-lock.1.txt
@@ -90,4 +90,4 @@ PATCH LEVEL OPTIONS
- January 2020 BUNDLE-LOCK(1)
+ February 2020 BUNDLE-LOCK(1)
diff --git a/man/bundle-open.1 b/man/bundle-open.1
index 5a11eeeb64..38dc66c63c 100644
--- a/man/bundle-open.1
+++ b/man/bundle-open.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-OPEN" "1" "January 2020" "" ""
+.TH "BUNDLE\-OPEN" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
diff --git a/man/bundle-open.1.txt b/man/bundle-open.1.txt
index 288bbce0e3..6e5e62c61a 100644
--- a/man/bundle-open.1.txt
+++ b/man/bundle-open.1.txt
@@ -26,4 +26,4 @@ DESCRIPTION
- January 2020 BUNDLE-OPEN(1)
+ February 2020 BUNDLE-OPEN(1)
diff --git a/man/bundle-outdated.1 b/man/bundle-outdated.1
index 408e568034..5ea9a94c60 100644
--- a/man/bundle-outdated.1
+++ b/man/bundle-outdated.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-OUTDATED" "1" "January 2020" "" ""
+.TH "BUNDLE\-OUTDATED" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-outdated\fR \- List installed gems with newer versions available
diff --git a/man/bundle-outdated.1.txt b/man/bundle-outdated.1.txt
index c938e0a4ab..781668378d 100644
--- a/man/bundle-outdated.1.txt
+++ b/man/bundle-outdated.1.txt
@@ -128,4 +128,4 @@ FILTERING OUTPUT
- January 2020 BUNDLE-OUTDATED(1)
+ February 2020 BUNDLE-OUTDATED(1)
diff --git a/man/bundle-platform.1 b/man/bundle-platform.1
index c83aa3c5d4..62d0b459d1 100644
--- a/man/bundle-platform.1
+++ b/man/bundle-platform.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-PLATFORM" "1" "January 2020" "" ""
+.TH "BUNDLE\-PLATFORM" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-platform\fR \- Displays platform compatibility information
diff --git a/man/bundle-platform.1.txt b/man/bundle-platform.1.txt
index f9dc8ccc1f..09dad1af2f 100644
--- a/man/bundle-platform.1.txt
+++ b/man/bundle-platform.1.txt
@@ -54,4 +54,4 @@ OPTIONS
- January 2020 BUNDLE-PLATFORM(1)
+ February 2020 BUNDLE-PLATFORM(1)
diff --git a/man/bundle-pristine.1 b/man/bundle-pristine.1
index 460e3d4e5a..554e376d49 100644
--- a/man/bundle-pristine.1
+++ b/man/bundle-pristine.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-PRISTINE" "1" "January 2020" "" ""
+.TH "BUNDLE\-PRISTINE" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
diff --git a/man/bundle-pristine.1.txt b/man/bundle-pristine.1.txt
index 8d474fe497..15fc97e1cd 100644
--- a/man/bundle-pristine.1.txt
+++ b/man/bundle-pristine.1.txt
@@ -41,4 +41,4 @@ DESCRIPTION
- January 2020 BUNDLE-PRISTINE(1)
+ February 2020 BUNDLE-PRISTINE(1)
diff --git a/man/bundle-remove.1 b/man/bundle-remove.1
index cb4ad8d384..ff09c2293a 100644
--- a/man/bundle-remove.1
+++ b/man/bundle-remove.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-REMOVE" "1" "January 2020" "" ""
+.TH "BUNDLE\-REMOVE" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-remove\fR \- Removes gems from the Gemfile
diff --git a/man/bundle-remove.1.txt b/man/bundle-remove.1.txt
index 7203422f39..de6ada1785 100644
--- a/man/bundle-remove.1.txt
+++ b/man/bundle-remove.1.txt
@@ -31,4 +31,4 @@ OPTIONS
- January 2020 BUNDLE-REMOVE(1)
+ February 2020 BUNDLE-REMOVE(1)
diff --git a/man/bundle-show.1 b/man/bundle-show.1
index 2922a33467..5b0a4fbc75 100644
--- a/man/bundle-show.1
+++ b/man/bundle-show.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-SHOW" "1" "January 2020" "" ""
+.TH "BUNDLE\-SHOW" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
diff --git a/man/bundle-show.1.txt b/man/bundle-show.1.txt
index 58f1620168..9f6d398aec 100644
--- a/man/bundle-show.1.txt
+++ b/man/bundle-show.1.txt
@@ -24,4 +24,4 @@ OPTIONS
- January 2020 BUNDLE-SHOW(1)
+ February 2020 BUNDLE-SHOW(1)
diff --git a/man/bundle-update.1 b/man/bundle-update.1
index f315532bb9..f2cd2ae13f 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" "January 2020" "" ""
+.TH "BUNDLE\-UPDATE" "1" "February 2020" "" ""
.
.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 b8208c75d3..9f186300b6 100644
--- a/man/bundle-update.1.txt
+++ b/man/bundle-update.1.txt
@@ -387,4 +387,4 @@ RECOMMENDED WORKFLOW
- January 2020 BUNDLE-UPDATE(1)
+ February 2020 BUNDLE-UPDATE(1)
diff --git a/man/bundle-viz.1 b/man/bundle-viz.1
index a2153da28d..7e254d811e 100644
--- a/man/bundle-viz.1
+++ b/man/bundle-viz.1
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "BUNDLE\-VIZ" "1" "January 2020" "" ""
+.TH "BUNDLE\-VIZ" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
diff --git a/man/bundle-viz.1.txt b/man/bundle-viz.1.txt
index c934b4cf5b..b3be153c78 100644
--- a/man/bundle-viz.1.txt
+++ b/man/bundle-viz.1.txt
@@ -36,4 +36,4 @@ OPTIONS
- January 2020 BUNDLE-VIZ(1)
+ February 2020 BUNDLE-VIZ(1)
diff --git a/man/bundle.1 b/man/bundle.1
index 4a9a9bec4d..106be370ff 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" "January 2020" "" ""
+.TH "BUNDLE" "1" "February 2020" "" ""
.
.SH "NAME"
\fBbundle\fR \- Ruby Dependency Management
diff --git a/man/bundle.1.txt b/man/bundle.1.txt
index e7eb35aa14..0c05713b6d 100644
--- a/man/bundle.1.txt
+++ b/man/bundle.1.txt
@@ -113,4 +113,4 @@ OBSOLETE
- January 2020 BUNDLE(1)
+ February 2020 BUNDLE(1)
diff --git a/man/gemfile.5 b/man/gemfile.5
index a9d2cee7c7..50e0a64ec9 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" "January 2020" "" ""
+.TH "GEMFILE" "5" "February 2020" "" ""
.
.SH "NAME"
\fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
diff --git a/man/gemfile.5.txt b/man/gemfile.5.txt
index 71d2513271..a4fbce3f3f 100644
--- a/man/gemfile.5.txt
+++ b/man/gemfile.5.txt
@@ -646,4 +646,4 @@ SOURCE PRIORITY
- January 2020 GEMFILE(5)
+ February 2020 GEMFILE(5)
diff --git a/spec/bundler/compact_index_client/updater_spec.rb b/spec/bundler/compact_index_client/updater_spec.rb
index cbbfba7cb8..26159dccd8 100644
--- a/spec/bundler/compact_index_client/updater_spec.rb
+++ b/spec/bundler/compact_index_client/updater_spec.rb
@@ -9,7 +9,7 @@ RSpec.describe Bundler::CompactIndexClient::Updater do
let(:local_path) { Pathname("/tmp/localpath") }
let(:remote_path) { double(:remote_path) }
- subject(:updater) { described_class.new(fetcher) }
+ let!(:updater) { described_class.new(fetcher) }
context "when the ETag header is missing" do
# Regression test for https://github.com/rubygems/bundler/issues/5463
@@ -42,8 +42,6 @@ RSpec.describe Bundler::CompactIndexClient::Updater do
end
context "when bundler doesn't have permissions on Dir.tmpdir" do
- let(:response) { double(:response, :body => "") }
-
it "Errno::EACCES is raised" do
allow(Dir).to receive(:mktmpdir) { raise Errno::EACCES }
diff --git a/spec/bundler/friendly_errors_spec.rb b/spec/bundler/friendly_errors_spec.rb
index e9189b0514..747d774b25 100644
--- a/spec/bundler/friendly_errors_spec.rb
+++ b/spec/bundler/friendly_errors_spec.rb
@@ -7,13 +7,13 @@ require "cgi"
RSpec.describe Bundler, "friendly errors" do
context "with invalid YAML in .gemrc" do
before do
- File.open(Gem.configuration.config_file_name, "w") do |f|
+ File.open(home(".gemrc"), "w") do |f|
f.write "invalid: yaml: hah"
end
end
after do
- FileUtils.rm(Gem.configuration.config_file_name)
+ FileUtils.rm(home(".gemrc"))
end
it "reports a relevant friendly error message" do
@@ -115,18 +115,12 @@ RSpec.describe Bundler, "friendly errors" do
context "LoadError" do
let(:error) { LoadError.new("cannot load such file -- openssl") }
- it "Bundler.ui receive error" do
- expect(Bundler.ui).to receive(:error).with("\nCould not load OpenSSL.")
- Bundler::FriendlyErrors.log_error(error)
- end
-
- it "Bundler.ui receive warn" do
- expect(Bundler.ui).to receive(:warn).with(any_args, :wrap => true)
- Bundler::FriendlyErrors.log_error(error)
+ before do
+ allow(error).to receive(:backtrace).and_return(["backtrace"])
end
- it "Bundler.ui receive trace" do
- expect(Bundler.ui).to receive(:trace).with(error)
+ it "Bundler.ui receive error" do
+ expect(Bundler.ui).to receive(:error).with("\nCould not load OpenSSL. LoadError: cannot load such file -- openssl\nbacktrace")
Bundler::FriendlyErrors.log_error(error)
end
end
@@ -221,7 +215,7 @@ RSpec.describe Bundler, "friendly errors" do
it "generates a search URL for the exception message" do
exception = Exception.new("Exception message")
- expect(Bundler::FriendlyErrors.issues_url(exception)).to eq("https://github.com/bundler/bundler/search?q=Exception+message&type=Issues")
+ expect(Bundler::FriendlyErrors.issues_url(exception)).to eq("https://github.com/rubygems/bundler/search?q=Exception+message&type=Issues")
end
it "generates a search URL for only the first line of a multi-line exception message" do
@@ -230,7 +224,7 @@ First line of the exception message
Second line of the exception message
END
- expect(Bundler::FriendlyErrors.issues_url(exception)).to eq("https://github.com/bundler/bundler/search?q=First+line+of+the+exception+message&type=Issues")
+ expect(Bundler::FriendlyErrors.issues_url(exception)).to eq("https://github.com/rubygems/bundler/search?q=First+line+of+the+exception+message&type=Issues")
end
it "generates the url without colons" do
@@ -239,7 +233,7 @@ Exception ::: with ::: colons :::
END
issues_url = Bundler::FriendlyErrors.issues_url(exception)
expect(issues_url).not_to include("%3A")
- expect(issues_url).to eq("https://github.com/bundler/bundler/search?q=#{CGI.escape("Exception with colons ")}&type=Issues")
+ expect(issues_url).to eq("https://github.com/rubygems/bundler/search?q=#{CGI.escape("Exception with colons ")}&type=Issues")
end
it "removes information after - for Errono::EACCES" do
@@ -249,7 +243,7 @@ END
allow(exception).to receive(:is_a?).with(Errno).and_return(true)
issues_url = Bundler::FriendlyErrors.issues_url(exception)
expect(issues_url).not_to include("/Users/foo/bar")
- expect(issues_url).to eq("https://github.com/bundler/bundler/search?q=#{CGI.escape("Errno EACCES Permission denied @ dir_s_mkdir ")}&type=Issues")
+ expect(issues_url).to eq("https://github.com/rubygems/bundler/search?q=#{CGI.escape("Errno EACCES Permission denied @ dir_s_mkdir ")}&type=Issues")
end
end
end
diff --git a/spec/bundler/gem_helper_spec.rb b/spec/bundler/gem_helper_spec.rb
index 6af78e00be..10ea36e866 100644
--- a/spec/bundler/gem_helper_spec.rb
+++ b/spec/bundler/gem_helper_spec.rb
@@ -231,7 +231,8 @@ RSpec.describe Bundler::GemHelper do
end
it "uses Kernel.system" do
- expect(Kernel).to receive(:system).with(gem_bin, "push", app_gem_path.to_s, "--host", "http://example.org").and_return(true)
+ cmd = gem_bin.shellsplit
+ expect(Kernel).to receive(:system).with(*cmd, "push", app_gem_path.to_s, "--host", "http://example.org").and_return(true)
Rake.application["release"].invoke
end
diff --git a/spec/cache/path_spec.rb b/spec/cache/path_spec.rb
index 79e8b4a82b..bd47ac925d 100644
--- a/spec/cache/path_spec.rb
+++ b/spec/cache/path_spec.rb
@@ -26,13 +26,12 @@ RSpec.describe "bundle cache with path" do
expect(bundled_app("vendor/cache/foo-1.0")).to exist
expect(bundled_app("vendor/cache/foo-1.0/.bundlecache")).to be_file
- FileUtils.rm_rf lib_path("foo-1.0")
expect(the_bundle).to include_gems "foo 1.0"
end
it "copies when the path is outside the bundle and the paths intersect" do
- libname = File.basename(Dir.pwd) + "_gem"
- libpath = File.join(File.dirname(Dir.pwd), libname)
+ libname = File.basename(bundled_app) + "_gem"
+ libpath = File.join(File.dirname(bundled_app), libname)
build_lib libname, :path => libpath
@@ -45,7 +44,6 @@ RSpec.describe "bundle cache with path" do
expect(bundled_app("vendor/cache/#{libname}")).to exist
expect(bundled_app("vendor/cache/#{libname}/.bundlecache")).to be_file
- FileUtils.rm_rf libpath
expect(the_bundle).to include_gems "#{libname} 1.0"
end
@@ -66,7 +64,6 @@ RSpec.describe "bundle cache with path" do
bundle :cache
expect(bundled_app("vendor/cache/foo-1.0")).to exist
- FileUtils.rm_rf lib_path("foo-1.0")
run "require 'foo'"
expect(out).to eq("CACHE")
diff --git a/spec/commands/config_spec.rb b/spec/commands/config_spec.rb
index 7a45dd0dd7..3a6b72d988 100644
--- a/spec/commands/config_spec.rb
+++ b/spec/commands/config_spec.rb
@@ -35,7 +35,7 @@ RSpec.describe ".bundle/config" do
end
end
- describe "location" do
+ describe "location with a gemfile" do
before :each do
gemfile <<-G
source "#{file_uri_for(gem_repo1)}"
@@ -64,6 +64,16 @@ RSpec.describe ".bundle/config" do
end
end
+ describe "location without a gemfile" do
+ it "works with an absolute path" do
+ ENV["BUNDLE_APP_CONFIG"] = tmp("foo/bar").to_s
+ bundle "config set --local path vendor/bundle"
+
+ expect(bundled_app(".bundle")).not_to exist
+ expect(tmp("foo/bar/config")).to exist
+ end
+ end
+
describe "global" do
before(:each) do
install_gemfile <<-G
diff --git a/spec/commands/lock_spec.rb b/spec/commands/lock_spec.rb
index ad8f1d6f32..466f4b739d 100644
--- a/spec/commands/lock_spec.rb
+++ b/spec/commands/lock_spec.rb
@@ -38,8 +38,8 @@ RSpec.describe "bundle lock" do
actionpack (= 2.3.2)
activerecord (= 2.3.2)
activeresource (= 2.3.2)
- rake (= 12.3.2)
- rake (12.3.2)
+ rake (= 13.0.1)
+ rake (13.0.1)
with_license (1.0)
PLATFORMS
@@ -133,7 +133,7 @@ RSpec.describe "bundle lock" do
end
it "update specific gems using --update" do
- lockfile @lockfile.gsub("2.3.2", "2.3.1").gsub("12.3.2", "10.0.1")
+ lockfile @lockfile.gsub("2.3.2", "2.3.1").gsub("13.0.1", "10.0.1")
bundle "lock --update rails rake"
diff --git a/spec/commands/newgem_spec.rb b/spec/commands/newgem_spec.rb
index b8fbf8806a..67a99c8748 100644
--- a/spec/commands/newgem_spec.rb
+++ b/spec/commands/newgem_spec.rb
@@ -251,7 +251,7 @@ RSpec.describe "bundle gem" do
prepare_gemspec(bundled_app("newgem", "newgem.gemspec"))
- gems = ["rake-12.3.2"]
+ gems = ["rake-13.0.1"]
system_gems gems, :path => :bundle_path, :bundle_dir => bundled_app("newgem")
bundle! "exec rake build", :dir => bundled_app("newgem")
@@ -359,7 +359,7 @@ RSpec.describe "bundle gem" do
it "runs rake without problems" do
bundle! "gem #{gem_name}"
- system_gems ["rake-12.3.2"]
+ system_gems ["rake-13.0.1"]
rakefile = strip_whitespace <<-RAKEFILE
task :default do
diff --git a/spec/commands/show_spec.rb b/spec/commands/show_spec.rb
index 5dd800e7c4..448775e987 100644
--- a/spec/commands/show_spec.rb
+++ b/spec/commands/show_spec.rb
@@ -57,7 +57,7 @@ RSpec.describe "bundle show", :bundler => "< 3" do
it "prints path of all gems in bundle sorted by name" do
bundle! "show --paths"
- expect(out).to include(default_bundle_path("gems", "rake-12.3.2").to_s)
+ expect(out).to include(default_bundle_path("gems", "rake-13.0.1").to_s)
expect(out).to include(default_bundle_path("gems", "rails-2.3.2").to_s)
# Gem names are the last component of their path.
diff --git a/spec/install/gemfile/gemspec_spec.rb b/spec/install/gemfile/gemspec_spec.rb
index b28d70a798..fcda3004f5 100644
--- a/spec/install/gemfile/gemspec_spec.rb
+++ b/spec/install/gemfile/gemspec_spec.rb
@@ -117,7 +117,7 @@ RSpec.describe "bundle install from an existing gemspec" do
build_lib("foo", :path => tmp.join("foo")) do |s|
s.write("Gemfile", "source '#{file_uri_for(gem_repo1)}'\ngemspec")
s.add_dependency "actionpack", "=2.3.2"
- s.add_development_dependency "rake", "=12.3.2"
+ s.add_development_dependency "rake", "=13.0.1"
end
bundle "install", :dir => tmp.join("foo")
diff --git a/spec/install/gems/compact_index_spec.rb b/spec/install/gems/compact_index_spec.rb
index be6c01aee9..39e25017a6 100644
--- a/spec/install/gems/compact_index_spec.rb
+++ b/spec/install/gems/compact_index_spec.rb
@@ -1015,7 +1015,7 @@ The checksum of /versions does not match the checksum provided by the server! So
source "#{source_uri}"
gem "rails"
G
- deps = [Gem::Dependency.new("rake", "= 12.3.2"),
+ deps = [Gem::Dependency.new("rake", "= 13.0.1"),
Gem::Dependency.new("actionpack", "= 2.3.2"),
Gem::Dependency.new("activerecord", "= 2.3.2"),
Gem::Dependency.new("actionmailer", "= 2.3.2"),
diff --git a/spec/install/gems/resolving_spec.rb b/spec/install/gems/resolving_spec.rb
index 5689da8175..315d615604 100644
--- a/spec/install/gems/resolving_spec.rb
+++ b/spec/install/gems/resolving_spec.rb
@@ -233,7 +233,7 @@ RSpec.describe "bundle install with install-time dependencies" do
describe "with a < requirement" do
let(:ruby_requirement) { %("< 5000") }
- let(:error_message_requirement) { Gem::Requirement.new(["< 5000", "= #{RUBY_VERSION}.#{RUBY_PATCHLEVEL}"]).to_s }
+ let(:error_message_requirement) { Gem::Requirement.new(["< 5000", "= #{Bundler::RubyVersion.system.to_gem_version_with_patchlevel}"]).to_s }
it_behaves_like "ruby version conflicts"
end
@@ -241,7 +241,7 @@ RSpec.describe "bundle install with install-time dependencies" do
describe "with a compound requirement" do
let(:reqs) { ["> 0.1", "< 5000"] }
let(:ruby_requirement) { reqs.map(&:dump).join(", ") }
- let(:error_message_requirement) { Gem::Requirement.new(reqs + ["= #{RUBY_VERSION}.#{RUBY_PATCHLEVEL}"]).to_s }
+ let(:error_message_requirement) { Gem::Requirement.new(reqs + ["= #{Bundler::RubyVersion.system.to_gem_version_with_patchlevel}"]).to_s }
it_behaves_like "ruby version conflicts"
end
diff --git a/spec/lock/lockfile_spec.rb b/spec/lock/lockfile_spec.rb
index afcb89ba8a..4a52ee9e3f 100644
--- a/spec/lock/lockfile_spec.rb
+++ b/spec/lock/lockfile_spec.rb
@@ -748,8 +748,8 @@ RSpec.describe "the lockfile format" do
actionpack (= 2.3.2)
activerecord (= 2.3.2)
activeresource (= 2.3.2)
- rake (= 12.3.2)
- rake (12.3.2)
+ rake (= 13.0.1)
+ rake (13.0.1)
PLATFORMS
#{lockfile_platforms}
diff --git a/spec/quality_spec.rb b/spec/quality_spec.rb
index e94addae5e..57ff196744 100644
--- a/spec/quality_spec.rb
+++ b/spec/quality_spec.rb
@@ -158,7 +158,7 @@ RSpec.describe "The library itself" do
it "maintains language quality of sentences used in source code" do
error_messages = []
- exempt = /vendor|vcr_cassettes/
+ exempt = /vendor|vcr_cassettes|CODE_OF_CONDUCT/
lib_tracked_files.split("\x0").each do |filename|
next if filename =~ exempt
error_messages << check_for_expendable_words(filename)
diff --git a/spec/realworld/fixtures/warbler/.gitignore b/spec/realworld/fixtures/warbler/.gitignore
new file mode 100644
index 0000000000..d392f0e82c
--- /dev/null
+++ b/spec/realworld/fixtures/warbler/.gitignore
@@ -0,0 +1 @@
+*.jar
diff --git a/spec/realworld/fixtures/warbler/Gemfile b/spec/realworld/fixtures/warbler/Gemfile
new file mode 100644
index 0000000000..4fbf2d05a7
--- /dev/null
+++ b/spec/realworld/fixtures/warbler/Gemfile
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+source "https://rubygems.org"
+
+gem "demo", :path => "./demo"
+gem "jruby-jars", "~> 9.2"
+gem "warbler", "~> 2.0"
diff --git a/spec/realworld/fixtures/warbler/Gemfile.lock b/spec/realworld/fixtures/warbler/Gemfile.lock
new file mode 100644
index 0000000000..6363b8bbd8
--- /dev/null
+++ b/spec/realworld/fixtures/warbler/Gemfile.lock
@@ -0,0 +1,29 @@
+PATH
+ remote: demo
+ specs:
+ demo (1.0)
+
+GEM
+ remote: https://rubygems.org/
+ specs:
+ jruby-jars (9.2.9.0)
+ jruby-rack (1.1.21)
+ rake (13.0.1)
+ rubyzip (1.3.0)
+ warbler (2.0.5)
+ jruby-jars (>= 9.0.0.0)
+ jruby-rack (>= 1.1.1, < 1.3)
+ rake (>= 10.1.0)
+ rubyzip (~> 1.0, < 1.4)
+
+PLATFORMS
+ java
+ ruby
+
+DEPENDENCIES
+ demo!
+ jruby-jars (~> 9.2)
+ warbler (~> 2.0)
+
+BUNDLED WITH
+ 2.2.0.dev
diff --git a/spec/realworld/fixtures/warbler/bin/warbler-example.rb b/spec/realworld/fixtures/warbler/bin/warbler-example.rb
new file mode 100644
index 0000000000..25f614ecc2
--- /dev/null
+++ b/spec/realworld/fixtures/warbler/bin/warbler-example.rb
@@ -0,0 +1,3 @@
+# frozen_string_literal: true
+
+puts require "bundler/setup"
diff --git a/spec/realworld/fixtures/warbler/demo/demo.gemspec b/spec/realworld/fixtures/warbler/demo/demo.gemspec
new file mode 100644
index 0000000000..ed5a0dc080
--- /dev/null
+++ b/spec/realworld/fixtures/warbler/demo/demo.gemspec
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+
+Gem::Specification.new do |spec|
+ spec.name = "demo"
+ spec.version = "1.0"
+ spec.author = "Somebody"
+ spec.summary = "A demo gem"
+ spec.license = "MIT"
+ spec.homepage = "https://example.org"
+end
diff --git a/spec/runtime/setup_spec.rb b/spec/runtime/setup_spec.rb
index f94efbea6a..363927bbbb 100644
--- a/spec/runtime/setup_spec.rb
+++ b/spec/runtime/setup_spec.rb
@@ -159,7 +159,7 @@ RSpec.describe "Bundler.setup" do
"/gems/actionpack-2.3.2/lib",
"/gems/actionmailer-2.3.2/lib",
"/gems/activesupport-2.3.2/lib",
- "/gems/rake-12.3.2/lib"
+ "/gems/rake-13.0.1/lib"
)
end
diff --git a/spec/support/builders.rb b/spec/support/builders.rb
index 467a9f2ccd..ac56216a85 100644
--- a/spec/support/builders.rb
+++ b/spec/support/builders.rb
@@ -40,7 +40,7 @@ module Spec
build_gem "rails", "2.3.2" do |s|
s.executables = "rails"
- s.add_dependency "rake", "12.3.2"
+ s.add_dependency "rake", "13.0.1"
s.add_dependency "actionpack", "2.3.2"
s.add_dependency "activerecord", "2.3.2"
s.add_dependency "actionmailer", "2.3.2"
@@ -463,7 +463,6 @@ module Spec
Array(versions).each do |version|
spec = builder.new(self, name, version)
- spec.authors = ["no one"] if !spec.authors || spec.authors.empty?
yield spec if block_given?
spec._build(options)
end
@@ -616,15 +615,6 @@ module Spec
def @spec.validate(*); end
end
- case options[:gemspec]
- when false
- # do nothing
- when :yaml
- @files["#{name}.gemspec"] = @spec.to_yaml
- else
- @files["#{name}.gemspec"] = @spec.to_ruby
- end
-
unless options[:no_default]
gem_source = options[:source] || "path@#{path}"
@files = _default_files.
@@ -633,13 +623,24 @@ module Spec
end
@spec.authors = ["no one"]
+ @spec.files = @files.keys
+
+ case options[:gemspec]
+ when false
+ # do nothing
+ when :yaml
+ @spec.files << "#{name}.gemspec"
+ @files["#{name}.gemspec"] = @spec.to_yaml
+ else
+ @spec.files << "#{name}.gemspec"
+ @files["#{name}.gemspec"] = @spec.to_ruby
+ end
@files.each do |file, source|
file = Pathname.new(path).join(file)
FileUtils.mkdir_p(file.dirname)
File.open(file, "w") {|f| f.puts source }
end
- @spec.files = @files.keys
path
end
@@ -748,13 +749,18 @@ module Spec
def _build(opts)
lib_path = super(opts.merge(:path => @context.tmp(".tmp/#{@spec.full_name}"), :no_default => opts[:no_default]))
destination = opts[:path] || _default_path
- Dir.chdir(lib_path) do
- FileUtils.mkdir_p(destination)
-
- @spec.authors = ["that guy"] if !@spec.authors || @spec.authors.empty?
+ FileUtils.mkdir_p(lib_path.join(destination))
- Bundler.rubygems.build(@spec, opts[:skip_validation])
+ if opts[:gemspec] == :yaml || opts[:gemspec] == false
+ Dir.chdir(lib_path) do
+ Bundler.rubygems.build(@spec, opts[:skip_validation])
+ end
+ elsif opts[:skip_validation]
+ @context.gem_command "build --force #{@spec.name}", :dir => lib_path
+ else
+ @context.gem_command! "build #{@spec.name}", :dir => lib_path
end
+
gem_path = File.expand_path("#{@spec.full_name}.gem", lib_path)
if opts[:to_system]
@context.system_gems gem_path, :keep_path => true
diff --git a/spec/support/path.rb b/spec/support/path.rb
index 25206c9832..bfa4865abd 100644
--- a/spec/support/path.rb
+++ b/spec/support/path.rb
@@ -86,8 +86,6 @@ module Spec
root.join(*path)
end
- alias_method :bundled_app1, :bundled_app
-
def bundled_app2(*path)
root = tmp.join("bundled_app2")
FileUtils.mkdir_p(root)
@@ -172,8 +170,8 @@ module Spec
def with_root_gemspec
if ruby_core?
root_gemspec = root.join("bundler.gemspec")
- # `in_repo_root` for Dir.glob in gemspec
- spec = in_repo_root { Gem::Specification.load(gemspec.to_s) }
+ # Dir.chdir for Dir.glob in gemspec
+ spec = Dir.chdir(root) { Gem::Specification.load(gemspec.to_s) }
spec.bindir = "libexec"
File.open(root_gemspec.to_s, "w") {|f| f.write spec.to_ruby }
yield(root_gemspec)
@@ -194,10 +192,6 @@ module Spec
end
end
- def in_repo_root
- Dir.chdir(root) { yield }
- end
-
extend self
private
diff --git a/spec/support/rubygems_ext.rb b/spec/support/rubygems_ext.rb
index b177fc690a..5299a7b447 100644
--- a/spec/support/rubygems_ext.rb
+++ b/spec/support/rubygems_ext.rb
@@ -4,28 +4,27 @@ require_relative "path"
module Spec
module Rubygems
- DEV_DEPS = {
+ DEV_DEPS = { # rubocop:disable Style/MutableConstant
"automatiek" => "~> 0.3.0",
"parallel_tests" => "~> 2.29",
- "rake" => "~> 12.0",
"ronn" => "~> 0.7.3",
"rspec" => "~> 3.8",
"rubocop" => "= 0.77.0",
"rubocop-performance" => "= 1.5.1",
- }.freeze
+ }
- DEPS = {
+ DEPS = { # rubocop:disable Style/MutableConstant
"rack" => "2.0.8",
"rack-test" => "~> 1.1",
"artifice" => "~> 0.6.0",
"compact_index" => "~> 0.11.0",
"sinatra" => "~> 2.0",
# Rake version has to be consistent for tests to pass
- "rake" => "12.3.2",
+ "rake" => "13.0.1",
"builder" => "~> 3.2",
# ruby-graphviz is used by the viz tests
"ruby-graphviz" => ">= 0.a",
- }.freeze
+ }
extend self