summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Rebuild man pages for Januaryjanuary_man_pagesDavid Rodríguez2020-01-0150-50/+50
|
* Merge #7519Bundlerbot2019-12-314-83/+104
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7519: Make `bundle config deployment true` equivalent to `bundle install --deployment` in regards to configuration r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that while addressing comments for https://github.com/docker-library/official-images/pull/7188, I noticed that the alternative we're recommending for `bundle install --deployment`, i.e., `bundle config set deployment true`, is not equivalent to it. ### What was your diagnosis of the problem? My diagnosis was that whereas `bundle install --deployment` configures bundler to be frozen AND to install gems to `vendor/bundle`, `bundle config deployment true` only configures bundler to be frozen. ### What is your fix for the problem, implemented in this PR? My fix is to make `bundle config deployment true` behave just like `bundle install --deployment` in regards to configuration. ### Why did you choose this fix out of the possible options? I chose this fix because all the commands we're suggesting as alternatives for deprecations should be actual alternatives that work exactly in the same way. Also, note that there's a change scheduled for bundler 3 where the `deployment` configuration will only mean `frozen`. But for now, we should focus on making sure that people moves away from CLI flags in favor of configuration, so we might want to delay that change to make things less confusing. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * Unify deployment setting and flagimprove_deployment_flagDavid Rodríguez2019-12-314-5/+19
| | | | | | | | | | | | Previously, we were recommending `bundle config deployment true; bundle install` as an alternative to `bundle install --deployment`, but they were not working equally.
| * Add missing specsDavid Rodríguez2019-12-311-0/+10
| |
| * Reword spec to be easier to understandDavid Rodríguez2019-12-311-1/+1
| |
| * Split credentials specs out of the surrounding contextDavid Rodríguez2019-12-311-70/+71
| | | | | | | | So that I can change the setup only for them in following commits.
| * Improve readabilityDavid Rodríguez2019-12-311-6/+2
| | | | | | | | The `let` does not add anything.
| * Add a bang to some commands not supposed to failDavid Rodríguez2019-12-311-5/+5
| |
| * Don't try to installDavid Rodríguez2019-12-311-1/+1
|/ | | | | Only set the `Gemfile`, since `bundle install`'ing from that source always fails.
* Merge #7525Bundlerbot2019-12-311-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7525: Use raise instead of flunk r=deivid-rodriguez a=kou ### What was the end-user problem that led to this PR? This PR doesn't fix any end-user problem. This PR fixes a developer problem. RSpec doesn't provide `flunk` method. It's a method name in test-unit and minitest. ### What was your diagnosis of the problem? 3edfddbf7ebe4b942e1e2b6d693afd582e9a8147 may use `flunk` accidentally. ### What is your fix for the problem, implemented in this PR? My fix uses `raise` instead of `flunk`. ### Why did you choose this fix out of the possible options? I don't have another option. Co-authored-by: Sutou Kouhei <kou@clear-code.com>
| * Use raise instead of flunkSutou Kouhei2019-12-311-1/+1
|/
* Merge #7523Bundlerbot2019-12-311-2/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7523: Fix rspec stuck problem for large stderr external command r=deivid-rodriguez a=kou ### What was the end-user problem that led to this PR? This PR doesn't fix any end-user problem. This PR just fixes a developer problem. Some specs runs external commands by `sys_exec` in `spec/support/helpers.rb`. They may be stuck when they outputs many text to its stderr. ### What was your diagnosis of the problem? `sys_exec` uses `open3`. It uses pipe to communicate an external command. If `rspec` process doesn't read stderr of the external command, the external command is stuck when the external command writes many text to its stderr. Because the external command can't write to pipe infinitely. ### What is your fix for the problem, implemented in this PR? The current `sys_exec` tries to fix this situation but it's incomplete: ```ruby command_execution.stdout = Thread.new { stdout.read }.value.strip command_execution.stderr = Thread.new { stderr.read }.value.strip ``` `Thread.new { stderr.read ` isn't started until `Thread.new { stdout.read }.value` is finished. Normally, it's finished when the external command is finished. It's late. We should read stderr of the external command while the external command is alive. ### Why did you choose this fix out of the possible options? I don't have another option. Co-authored-by: Sutou Kouhei <kou@clear-code.com>
| * Fix rspec stuck problem for large stderr external commandSutou Kouhei2019-12-311-2/+4
|/
* Merge #7526Bundlerbot2019-12-313-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7526: Fix CI failure with mustermann 1.1.0 r=deivid-rodriguez a=kou ### What was the end-user problem that led to this PR? This PR doesn't fix any end-user problem. This PR fixes a developer problem. Our CI is failed with mustermann 1.1.0. ### What was your diagnosis of the problem? This is caused because mustermann 1.1.0 starts depending on ruby2_keyword gem but our test script doesn't add a load path for ruby2_keyword gem yet. See also: * The PR that adds ruby2_keyword gem dependency to mustermann: https://github.com/sinatra/mustermann/pull/97 * Error message on CI: https://github.com/bundler/bundler/pull/7523#issuecomment-569736683 ### What is your fix for the problem, implemented in this PR? My fix adds a load path for ruby2_keywrod gem installed in `tmp/1/gems/`. ### Why did you choose this fix out of the possible options? I don't have another option. Co-authored-by: Sutou Kouhei <kou@clear-code.com>
| * Add ruby2_keywordsSutou Kouhei2019-12-313-3/+3
|/
* Merge #7520Bundlerbot2019-12-251-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7520: Do `require "rubygems"` only when needed r=hsbt a=mame ### What was the end-user problem that led to this PR? The require causes circular require. See https://github.com/bundler/bundler/pull/7505#issuecomment-568832933 ``` $ touch empty_file $ RUBYGEMS_GEMDEPS=empty_file ./local/bin/ruby -w -e '' /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92: warning: /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92: warning: loading in progress, circular require considered harmful - /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb from <internal:gem_prelude>:1:in `<internal:gem_prelude>' from <internal:gem_prelude>:1:in `require' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1417:in `<top (required)>' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1203:in `use_gemdeps' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/user_interaction.rb:47:in `use_ui' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1204:in `block in use_gemdeps' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler.rb:11:in `<top (required)>' from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler.rb:11:in `require_relative' from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler/rubygems_integration.rb:3:in `<top (required)>' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' ``` ### What was your diagnosis of the problem? Do not `require "rubygems"` blindly. ### What is your fix for the problem, implemented in this PR? Add `unless defined?(Gem)` to make sure it does `require "rubygems"` only when rubygems is not required. ### Why did you choose this fix out of the possible options? This is needed to release Ruby 2.7.0 so I chose the simplest fix. Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>
| * Do `require "rubygems"` only when neededYusuke Endoh2019-12-251-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | This require causes circular require. ``` $ touch empty_file $ RUBYGEMS_GEMDEPS=empty_file ./local/bin/ruby -w -e '' /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92: warning: /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92: warning: loading in progress, circular require considered harmful - /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb from <internal:gem_prelude>:1:in `<internal:gem_prelude>' from <internal:gem_prelude>:1:in `require' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1417:in `<top (required)>' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1203:in `use_gemdeps' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/user_interaction.rb:47:in `use_ui' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1204:in `block in use_gemdeps' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler.rb:11:in `<top (required)>' from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler.rb:11:in `require_relative' from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler/rubygems_integration.rb:3:in `<top (required)>' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' ```
* Merge #7510Bundlerbot2019-12-231-2/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7510: Don't spawn a shell when git pushing on release r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that I almost went crazy when trying to release the last bundler version. `rake release` was hanging and I didn't know why. ### What was your diagnosis of the problem? Thanks to passing `DEBUG=true` to the task, I noticed that it was `git push` and `git push --tags` commands that were hanging: ``` $ DEBUG=true bin/rake release ["gem", "build", "-V", "/home/deivid/Code/bundler/bundler.gemspec"] bundler 2.1.2 built to pkg/bundler-2.1.2.gem. ["git", "diff", "--exit-code"] ["git", "diff-index", "--quiet", "--cached", "HEAD"] ["git", "tag"] ["git", "tag", "-m", "Version 2.1.2", "v2.1.2"] Tagged v2.1.2. git push git push --tags ^Crake aborted! Interrupt: /home/deivid/Code/bundler/lib/bundler/gem_helper.rb:198:in `read' /home/deivid/Code/bundler/lib/bundler/gem_helper.rb:198:in `popen' /home/deivid/Code/bundler/lib/bundler/gem_helper.rb:198:in `block in sh_with_status' /home/deivid/Code/bundler/lib/bundler/shared_helpers.rb:52:in `chdir' /home/deivid/Code/bundler/lib/bundler/shared_helpers.rb:52:in `block in chdir' /home/deivid/Code/bundler/lib/bundler/shared_helpers.rb:51:in `chdir' /home/deivid/Code/bundler/lib/bundler/gem_helper.rb:197:in `sh_with_status' /home/deivid/Code/bundler/lib/bundler/gem_helper.rb:133:in `perform_git_push' /home/deivid/Code/bundler/lib/bundler/gem_helper.rb:115:in `git_push' /home/deivid/Code/bundler/lib/bundler/gem_helper.rb:64:in `block (2 levels) in install' /home/deivid/Code/bundler/lib/bundler/gem_helper.rb:160:in `tag_version' /home/deivid/Code/bundler/lib/bundler/gem_helper.rb:64:in `block in install' /home/deivid/Code/bundler/Rakefile:14:in `block in invoke' /home/deivid/Code/bundler/Rakefile:13:in `invoke' /home/deivid/Code/bundler/spec/support/rubygems_ext.rb:87:in `load' /home/deivid/Code/bundler/spec/support/rubygems_ext.rb:87:in `gem_load_and_activate' /home/deivid/Code/bundler/spec/support/rubygems_ext.rb:45:in `gem_load' Tasks: TOP => release => release:source_control_push (See full trace by running task with --trace) ``` The debugging output is very interesting because it also tells us that these commands are the only ones passing Strings to `IO.popen` instead of Arrays. That means these commands are [spawning a new shell](https://ruby-doc.org/core-2.6.5/IO.html#method-c-popen). That's when I realized that I have [hub](https://github.com/github/hub) installed on my system and `git` aliased to it. So I figure this aliasing was interacting with the subcommand in a bad way. Indeed, disabling `hub` fixed the issue and let me make the release. ### What is your fix for the problem, implemented in this PR? I think we can avoid other issues similar to this for people pushing releases by not spawing a shell here, just like we do with all of the other commands. I think it's a good practice anyways. ### Why did you choose this fix out of the possible options? I chose this fix because I think it makes the code better. Of course I can disable `hub` every time I release, but I think this is worth doing. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * `cmd` is a String, we don't shelljoin thatdont_spawn_a_shell_when_git_pushing_on_releaseDavid Rodríguez2019-12-201-1/+0
| |
| * Don't spawn a new shell on `git push` when releasingDavid Rodríguez2019-12-201-1/+1
| | | | | | | | | | | | | | | | These `git push` operations are the only ones passing a string argument to `IO.popen` and those are the exact commands hanging for me when I try to release. I'm not sure what the reason is (maybe that I use hub, which does some fancy shell aliasing?), but I think it's a good practice to avoid a new shell anyways.
* | Merge #7516Bundlerbot2019-12-222-1/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7516: Bump version and changelog r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was master branch doesn't yet include the version bump and changelog from 2.1.2. ### What is your fix for the problem, implemented in this PR? My fix is to include those. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | Changelog for 2.1.2bump_version_and_changelogDavid Rodríguez2019-12-221-0/+6
| | |
| * | Version 2.1.2David Rodríguez2019-12-221-1/+1
|/ /
* | Merge #7515Bundlerbot2019-12-221-5/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7515: Move `bin/rake man:check` to `linting` phase r=colby-swandale a=deivid-rodriguez So that it's only run once. ### What was the end-user problem that led to this PR? The problem was that `bin/rake man:check` is run for every CI matrix entry and that's useless. ### What was your diagnosis of the problem? My diagnosis was that we should move the check to the linting phase and run it only once, like we did for `rubocop` at https://github.com/bundler/bundler/pull/6830. ### What is your fix for the problem, implemented in this PR? My fix is to do that. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | Compress lint tasks to a single jobmove_man_check_to_lintsDavid Rodríguez2019-12-221-7/+1
| | |
| * | Move `rake man:check` to `linting` phaseDavid Rodríguez2019-12-221-1/+3
| | | | | | | | | | | | So that it's only run once.
* | | Merge #7513Bundlerbot2019-12-221-1/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 7513: Improve error message when not logged in r=deivid-rodriguez a=steveklabnik `gem push` makes you add other parameters, and is awkward to figure out the details. `gem signin` is a more direct way of doing this. Co-authored-by: Steve Klabnik <steve@steveklabnik.com>
| * | Improve error message when not logged inSteve Klabnik2019-12-201-1/+1
| |/ | | | | `gem push` makes you add other parameters, and is awkward to figure out the details. `gem signin` is a more direct way of doing this.
* | Merge #7514Bundlerbot2019-12-212-1/+15
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7514: Fix `rake build` when path has spaces on it r=colby-swandale a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that `rake build` can no longer be run from a path that has spaces on it. ### What was your diagnosis of the problem? My diagnosis was that we need to escape the path for the shell somewhere. ### What is your fix for the problem, implemented in this PR? My fix is to add `.shellescape` at the right place. ### Why did you choose this fix out of the possible options? I chose this fix because it fixes the problem. Fixes #7512. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * Fix `rake build` when path has spaces on itfix/rake_build_with_spaced_pathDavid Rodríguez2019-12-202-1/+15
|/
* Merge #7509Bundlerbot2019-12-191-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7509: Add `travis_retry` to apt-get operation r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was another failed build due to [apt-get install failing](https://travis-ci.org/bundler/bundler/jobs/627348743). ### What was your diagnosis of the problem? My diagnosis was TravisCI networking is unstable at the moment. ### What is your fix for the problem, implemented in this PR? Not a permanent fix, since that doesn't depend on us, but using `travis_retry` should increase reliability. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * Add `travis_retry` to apt-get operationDavid Rodríguez2019-12-191-1/+1
|/ | | | To increase reliability.
* Merge #7505Bundlerbot2019-12-192-0/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7505: Make sure to `require "rubygems"` explicitly r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was some setups have `--disable=gem` in `RUBYOPT`, and sometimes use `bundler` without modifying that env. ### What was your diagnosis of the problem? My diagnosis was that we shouldn't break those setups just to save a `require`. ### What is your fix for the problem, implemented in this PR? My fix is to add a `require "rubygems"` on top of the file that needs it. Fixes #7487. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * Make sure to `require "rubygems"` explicitlyrequire_rubygemsDavid Rodríguez2019-12-182-0/+8
| | | | | | | | | | | | Some setups have `--disable=gems` in `RUBYOPT`, and sometimes use `bundler` without modifying that env. Let's not break those setups just to save a `require`.
* | Merge #7506Bundlerbot2019-12-193-21/+12
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7506: Remove unnecessary CI steps r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that merging #7505 failed. ### What was your diagnosis of the problem? My diagnosis was that some `apt` operation installing `graphviz` failed, but installing `graphviz` was unnecessary in the specific job that failed. ### What is your fix for the problem, implemented in this PR? My fix is to only modifying the OS when strictly necessary. Also fixed another test issue with the recently added test for integration with the `rubygems-bundler` gem by `rvm`. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * Fix test issue when using `rubygems-bundler` gemsmaller_os_depsDavid Rodríguez2019-12-192-2/+2
| |
| * Do extra root setup only when neededDavid Rodríguez2019-12-182-15/+10
| | | | | | | | | | Regular builds shouldn't need any extra configuration deviating from a standard ubuntu setup.
| * Remove unnecessary setupDavid Rodríguez2019-12-181-4/+0
|/ | | | | | That version of groff is already installed. As a result, the previous `apt-get update` is not needed either.
* Merge #7503Bundlerbot2019-12-182-1/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 7503: Bump version and changelog after release r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was changelog and version bump not yet in master. ### What is your fix for the problem, implemented in this PR? My fix is to merge back changelog and version bump after the release from the stable branch. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * Changelog for 2.1.1bump_version_and_changelog_after_releaseDavid Rodríguez2019-12-181-0/+7
| |
| * Version 2.1.1David Rodríguez2019-12-181-1/+1
|/
* Merge #7498Bundlerbot2019-12-173-1/+19
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7498: Add compatibility methods for `rubygems-bundler` gem r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that `bundler install` on a `ruby` installation using `rvm` is broken by default. ### What was your diagnosis of the problem? My diagnosis was that during 2.1.0 development phase I removed some stuff I thought it was internal and nobody would be using. ### What is your fix for the problem, implemented in this PR? My fix is to restore a minimal compatibility layer so that this stuff works again. ### Why did you choose this fix out of the possible options? I chose this fix because I think this is the minimum set of additions that gets stuff working again. Fixes #7488. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * Add compatibility methods for `rubygems-bundler` gemfix_rubygems_bundler_integrationDavid Rodríguez2019-12-173-0/+19
| | | | | | | | | | Hopefully `rvm` won't install this gem by default, but for now I'm adding the following two methods for compatibility with it.
| * Avoid some redefinition warningsDavid Rodríguez2019-12-171-1/+0
| | | | | | | | | | | | | | | | | | | | | | Sometimes `rake` will load the default version of `bundler` and then the `Rakefile` will change the LOAD_PATH and require the same code again using the version of `bundler` in `lib`. The only `bundler` code that gets used by the `Rakefile` is `bundler/gem_tasks`. This is used, for example, for releasing. I think it's fine to use an installed version of `bundler` for this in any case.,
* | Merge #7497Bundlerbot2019-12-172-1/+25
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | 7497: Merge changelog and version bump back to master r=hsbt a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that version and changelog need to be cherry-picked from the stable branch. ### What is your fix for the problem, implemented in this PR? My fix is to do just that. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * Merge changelog and version bump back to masterDavid Rodríguez2019-12-172-1/+25
|/
* Merge #7493Bundlerbot2019-12-163-12/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7493: Fix another silent rubygems issue r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that we still have some issues where using the `gem` script on a `bundler` context is silenced. ### What was your diagnosis of the problem? My diagnosis was that `bundle exec` adds `-rbundler/setup` to RUBYOPT which silences `rubygems` output, and that we need to reset `rubygems` UI after that so that if we end up shelling out to `gem`, it is not silent. The previous approach worked for loading the `gem` script in-process, but didn't work in other case. ### What is your fix for the problem, implemented in this PR? My fix is to reset rubygems UI right after `bundler/setup`. ### Why did you choose this fix out of the possible options? I chose this fix because it fixes the problem independently of the rubygems version being run, but we can probably also fix this more cleanly inside the `gem` script by adding something like `Gem::DefaultUserInteraction.ui = Gem::ConsoleUI.new` at the top of the script. Fixes #7490. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * Fix another silent rubygems issuefix_another_silent_rubygems_issueDavid Rodríguez2019-12-163-12/+14
|/ | | | | | | | | | | | | | We might be shelling out to rubygems in a `bundle exec` context. In the case where we don't shell out to the `gem` binstub directly, the previous trick wouldn't work. Instead, reset the rubygems ui right after `bundler/setup`, so that if we end up shelling out to rubygems, it will use its default shell (non-silent). The best place to fix this would probably be right inside the `gem` script, but even if we fix it there, we'll need workarounds for previous rubygems versions inside `bundler` so I think this is good for now.
* Merge #7482Bundlerbot2019-12-144-4/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7482: Fixed test failures with gem command path on ruby core repo r=deivid-rodriguez a=hsbt ### What was the end-user problem that led to this PR? Some of the examples failed with ruby-core repository. ### What was your diagnosis of the problem? The ruby-core repository used `gem` commands under the its repository named `bin/gem` directory. But the current examples points `gem` command with a global path. ### What is your fix for the problem, implemented in this PR? I fixed them used by `ruby_core?` helper methods. Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
| * Fixed test failures with gem command path on ruby core repo.fixed-bundler-specs-on-ruby-repoHiroshi SHIBATA2019-12-144-4/+8
| |