summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [CLI] Skip the outdated bundler check when MD5 is not availableseg-outdated-fipsSamuel Giddins2017-12-301-0/+2
|
* Merge tag 'v1.16.1'Samuel Giddins2017-12-2722-170/+219
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Version 1.16.1 # gpg: Signature made Fri Dec 22 01:46:37 2017 +07 # gpg: using ? key C3DA1D6CEFC720FA # gpg: Can't check signature: unknown pubkey algorithm # Conflicts: # lib/bundler/version.rb # spec/commands/exec_spec.rb # spec/realworld/double_check_spec.rb # spec/runtime/with_clean_env_spec.rb # spec/spec_helper.rb
| * Version 1.16.1 with changelogv1.16.1Samuel Giddins2017-12-212-1/+14
| |
| * Added workarounds for Travis specific issues.SHIBATA Hiroshi2017-12-214-10/+14
| |
| * Try to get specs passing on old RubyGemsSamuel Giddins2017-12-217-35/+49
| |
| * Remove the bundler default spec consistently across ruby versionsSamuel Giddins2017-12-211-2/+9
| |
| * Fix the pristine spec so it still can access the default gemSamuel Giddins2017-12-212-1/+2
| |
| * Unregister the bundler default spec in the testsSamuel Giddins2017-12-212-14/+14
| |
| * [Travis] Use the old trusty image temporarilySamuel Giddins2017-12-121-0/+3
| | | | | | | | Woraround for https://github.com/travis-ci/travis-ci/issues/8892
| * Auto merge of #6200 - voxik:relax-directory-restrictions, r=segiddinsThe Bundler Bot2017-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Allow test execution in paths containing dash. PR #5036 added restriction on what characters can be contained in path, from where the specs are executed. But they dissallows even dash, which is hopefully handled just fine on all systems. This patch fixes #6185 by relaxing the restriction a bit and allowing path to contain dash. (cherry picked from commit 5566b687c135178561f7524d3a5cb68fee56e416)
| * Auto merge of #6188 - bundler:indirect/fix-6072, r=indirectThe Bundler Bot2017-12-121-34/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | Stop overriding specs during double-checks This fixes my test-case reproduction of #6072. I’m pretty sure it’s because the double-check was overriding the locally installed index specs with specs fetched from the RubyGems API, causing Bundler to conclude that the gems aren’t installed, even though they are. @deivid-rodriguez @y-yagi can you verify that this patch fixes the issues with `inline` that you were seeing? (cherry picked from commit 953acf7eb7c27f8fb569713c5276e12561687d6d)
| * Auto merge of #6194 - voxik:fix-version-replacement-in-lockfile, r=segiddinsThe Bundler Bot2017-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | Be more precise when replacing Bundler version in lock file. Lets say the current Bundler version is 1.16.0. If the test suite is, by a chance, executed in directory which contains such version string, this path is stored in Gemfile.lock file. Later, the test tries to replace the version of Bundler in the lock file, but instead, it replaces the version in path. Be more careful what should be actually replaced. This is related to #6185 although it does not resolve the original concern. (cherry picked from commit 6cef06d19fa04e2cee5ff5faba82e98c08f08d13)
| * Auto merge of #6145 - halfbyte:reduce_dependency_trees_bailout, r=segiddinsThe Bundler Bot2017-12-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bail out of reducing depency trees on huge dependency conflict sets ### What was the end-user problem that led to this PR? The problem is described in #6114 - An unusually large set of conflicting dependencies leads to bundler get stuck and lead to very unhealthy amounts of memory and CPU time be consumed. ### What was your diagnosis of the problem? This happens because because a too large array is fed into Array#combination in the "reduce_trees" lambda in `version_conflict_message`. ### What is your fix for the problem, implemented in this PR? By simply bailing out when the conflict set is bigger than a certain size, we'll get a result that is similar to what happened in earlier bundler versions but skip a ton of CPU cycles and memory allocations. I've chosen the limit rather unscientifically by playing around with the result set sizes. 15 seems to be a good compromise but really anything larger than 10 should work (and with work I mean "should not usually not have to be invoked"). ### Why did you choose this fix out of the possible options? Reducing the conflict trees has been a rather new addition to bundler, so defaulting back to the old behavior of not reducing the trees seems like an OK option. It may be possible to also optimize the reduction algorithm, but since this is very much an edge case that only happens when using Bundler slightly out of the normal procedures, I think a simple bail out is sufficient. (cherry picked from commit fc341ed6e87b324a55719b2145f6fd6576067477)
| * Auto merge of #6207 - bundler:colby/init-gemfile-path-child, r=segiddinsThe Bundler Bot2017-12-122-32/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let users generate gemfiles inside paths whos parent contains a Gemfile ### What was the end-user problem that led to this PR? Users are unable to generate a new Gemfile with `bundle init` if there is a Gemfile in any parent folder. Closes #6205 ### What is your fix for the problem, implemented in this PR? Don't use `SharedHelpers.default_gemfile` as that searches up the paths for a Gemfile. Instead only check the current directory.
| * Auto merge of #6212 - hsbt:prepare-v1.16.1, r=hsbtThe Bundler Bot2017-12-1226-34/+187
| |\ | | | | | | | | | | | | | | | Prepare to release v1.16.1 I picked merge commits targeted v1.16.1 from https://github.com/bundler/bundler/milestone/56 .
| | * rubocop -aSHIBATA Hiroshi2017-12-111-33/+35
| | |
| | * skip old versions for rack dependency problem.SHIBATA Hiroshi2017-12-111-1/+1
| | |
| | * Auto merge of #6202 - hsbt:warning-bundler-binstub, r=hsbtThe Bundler Bot2017-12-112-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Show warning message about binstub outside generation. /cc @indirect Fixes #6149. Originated from https://github.com/bundler/bundler/issues/6149#issuecomment-347783823
| | * Auto merge of #6201 - jetthoughts:binstub-use-gemfile-from-env, r=indirectThe Bundler Bot2017-12-112-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setup custom Gemfile path before loading bundler for binstubs ### What was the end-user problem that led to this PR? While you have several gemfiles: `Gemfile` and `Gemfile.tools`. and generates binstubs for gems from second gemfile: `BUNDLE_GEMFILE=Gemfile.tools bundle binstubs rubocop` when you invoke those bin `bin/rubocop` then you see error like: ```bash /usr/local/opt/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/rubygems_integration.rb:458:in `block in replace_bin_path': can't find executable rubocop for gem rubocop. rubocop is not currently included in the bundle, perhaps you meant to add it to your Gemfile? (Gem::Exception) from /usr/local/opt/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/rubygems_integration.rb:489:in `block in replace_bin_path' from bin/rubocop:21:in `<main>' ``` ### What was your diagnosis of the problem? When you have generated `bin/bundler` by rails or by `bundler` it has setup of `BUNDLE_GEMFILE` by default as `Gemfile` or by gemfile which has been setup on `bundle binstub bundler`. So your binstub for rubocop could not change it. ### What is your fix for the problem, implemented in this PR? I propose to use`BUNDLE_GEMFILE` from gem's binstub over bundler's binstub version ### Why did you choose this fix out of the possible options? This was default behavior before #5878 introduced. Just added some fix to related PR.
| | * Auto merge of #6209 - hsbt:ignore-doc-templates, r=colby-swandaleThe Bundler Bot2017-12-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ignore to generate documentation of templates. ### What was the end-user problem that led to this PR? When users invoke `rdoc -o rdoc lib`, it generates documentation contains template files under the `lib/bundler/template` like `rdoc/lib/bundler/templates/newgem/bin/setup_tt.html` These files are not useful for users. ### What is your fix for the problem, implemented in this PR? I added `.document` file to its directory.
| | * Auto merge of #6188 - bundler:indirect/fix-6072, r=indirectThe Bundler Bot2017-12-116-9/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stop overriding specs during double-checks This fixes my test-case reproduction of #6072. I’m pretty sure it’s because the double-check was overriding the locally installed index specs with specs fetched from the RubyGems API, causing Bundler to conclude that the gems aren’t installed, even though they are. @deivid-rodriguez @y-yagi can you verify that this patch fixes the issues with `inline` that you were seeing?
| | * Auto merge of #6195 - dr-itz:unbreak-warbler, r=segiddinsThe Bundler Bot2017-12-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Include bundler.gemspec in the gem because warbler breaks w/o it f06405 caused a regression with warbler, described in #6165 and jruby/warbler#421 If the fix is ok, it should probably be cherry-picked to 1-16-stable. ### What was the end-user problem that led to this PR? Upgrading from bundler v1.15.x to v1.16.0 causes warbler to break/abort with error. ### What was your diagnosis of the problem? 1. error message from warbler: missing file 2. see why file is missing 3. google to see if it's just me 😄 ### What is your fix for the problem, implemented in this PR? Put the missing (from warblers point of view at least) back. ### Why did you choose this fix out of the possible options? Seems easier than to fix warbler.
| | * Auto merge of #6186 - greysteil:treat-release-preference-as-constraint, ↵The Bundler Bot2017-12-113-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r=indirect Resolver: treat dependencies with prerelease versions as slightly constrained Fixes https://github.com/bundler/bundler/issues/6181. In Bundler 1.15.4, the way we checked for pre-releases meant that dependencies with a lot of them sorted as more constrained than those with few/none. When we moved to our updated resolution strategy in 1.16.0 we accidentally lost that behaviour. I'm not wild about this PR, but it fixes the resolver regression. It's unsatisfying because it would be nice to believe the resolver will always resolve performantly, regardless of the sort order thrown at it, but clearly that isn't the case. Conceptually, this can be justified as "when two resolutions are possible, we prefer the one that does not require one dependency to be at a pre-release version". If others are happy with this I can write a test for it.
| | * Auto merge of #6157 - mattbrictson:fix-nomethoderror-bundle-update-group, ↵The Bundler Bot2017-12-112-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r=indirect Fix NoMethodError during `bundle update --group` ### What was the end-user problem that led to this PR? #6156: NoMethodError: undefined method `version' for nil:NilClass ### What was your diagnosis of the problem? The `bundler` gem does not participate in the lockfile, but it can still be included in the list of dependencies that are being updated by `bundle update` if `--group` is specified. For example, if a Gemfile contains `bundler-audit` (which depends on `bundler`) in the `:development` group, then updating with the option `--group=development` will naturally include `bundler` in the list of gems to evaluate for updating. The trouble is that since `bundler` is excluded from the lockfile, searching the locked gems for a gemspec for bundler will return `nil`. This caused the following error during `bundle update`: NoMethodError: undefined method `version' for nil:NilClass ### What is your fix for the problem, implemented in this PR? This PR solves this bug by skipping over gems (i.e `bundler`) that are not in the lockfile when comparing gem versions at the conclusion of the upgrade command. Fixes #6156. ### Why did you choose this fix out of the possible options? I chose this fix because the bug seems to have been introduced by 618c09b59d1318958c23b1b0031c68c93186851a. My fix takes place within the new feature that was added in that commit, so it seems safe and unlikely to have side-effects.
| | * Auto merge of #6078 - hsbt:rename-travis-template, r=olleolleolleThe Bundler Bot2017-12-112-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename .travis.yml.tt to travis.yml.tt. ### What was the end-user problem that led to this PR? An installer of ruby core ignored dotfiles. and it is an inconsistency with gitignore file. So bundled bundler fails `bundle gem` commands caused by this file. This commit was r60122 from ruby/ruby: https://github.com/ruby/ruby/commit/5b3d137b1fd9f9f56fa6f17888ab8038906ed760 https://github.com/ruby/ruby/pull/1710
| | * Auto merge of #6007 - hsbt:use-halper-methods-for-path, r=segiddinsThe Bundler Bot2017-12-118-19/+28
| |/ | | | | | | | | | | | | | | | | | | | | | | | | Use helper methods for relative path references in the specs Ruby core needs to change `Spec::Path.root` and gemspec, bin, spec directories structure. 1. I changed spec directory from `spec` to `spec/bundler` because ruby core has rubyspec files under the `spec/rubyspec`. 2. I changed gemspec location to `bundler.gemspec` to `lib/bundler.gemspec`. ref. https://bugs.ruby-lang.org/issues/12733#note-15 This pull request make we can modify root, gemspec path to flexible locations. After merging this pull request, I will add directory structure of ruby core repository to only `spec/support/path.rb`
| * Auto merge of #6203 - hsbt:fixed-uri-changes-ruby25, r=hsbtThe Bundler Bot2017-12-1110-116/+116
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed failing examples with Ruby 2.5. (It targets 1-16-stable branch. I will create another pull request for master) It's introduced by `URI::Generic` changes. see https://github.com/ruby/ruby/commit/ed48bfa5e8770a345424abd7f24f94ea9bbf5973 I added a hostname to examples that expect `file:` string in result messages.
| | * Fixed failing examples for Bundler 2 APISHIBATA Hiroshi2017-12-112-3/+3
| | |
| | * Fixed failing examples with Ruby 2.5.SHIBATA Hiroshi2017-12-1110-113/+113
| | | | | | | | | | | | | | | It's introduced by URI::Generic channges. https://github.com/ruby/ruby/commit/ed48bfa5e8770a345424abd7f24f94ea9bbf5973
| * | Auto merge of #6117 - hsbt:backport-6080, r=hsbtThe Bundler Bot2017-12-111-1/+1
| |\ \ | | |/ | |/| | | | | | | | | | Rename `-rubygerms` option. Followup #6080 for 1-16-stable branch.
| | * Rename `-rubygerms` option. It only needs with Ruby 1.8 and Ruby 2.5 will ↵SHIBATA Hiroshi2017-12-111-1/+1
| |/ | | | | | | | | | | | | remove it. Picked r60125 from ruby/ruby: https://github.com/ruby/ruby/commit/9de6c712b66aad77df40661c1fc6d37e9a5c251a
| * Auto merge of #6204 - hsbt:fix-travis, r=hsbtThe Bundler Bot2017-12-114-6/+18
| |\ | | | | | | | | | | | | | | | Fix broken status on Travis CI In Dec 2017, 1-16-stable branch of Travis was broken caused outside condition. I try to fix it.
| | * Fixed broken examples on Travis CI.SHIBATA Hiroshi2017-12-094-6/+18
| |/ | | | | | | | | | | | | | | * spec_helper.rb: Remove/Restore bundler files as default gems. It conflicts with some examples. * bundler/fetcher_spec.rb: Use dummy certification file instead of mock object. Because `File.read` was called with `bin/rspec` for gemspec loading. * support/buidlers.rb: An argument of `build_spec` conflicts some old versions of rubygems. * support/rubygems_ext.rb: Order gem dependency for Ruby 1.8.7-2.2.2
* | Auto merge of #6229 - erikj:patch-1, r=segiddinsThe Bundler Bot2017-12-271-1/+1
|\ \ | | | | | | | | | | | | | | | correct typo in binstubs man page correct typo in binstubs man page: `s/--sheband/--shebang/`
| * | correct typo in binstubs man pageErik Johnson2017-12-261-1/+1
|/ / | | | | correct typo in binstubs man page: `s/--sheband/--shebang/`
* | Auto merge of #6222 - toy:patch-1, r=colby-swandaleThe Bundler Bot2017-12-241-1/+1
|\ \ | | | | | | | | | | | | | | | Fix codeclimate badge Old badge shows status unknown, so replace it with new maintainability badge
| * | Fix codeclimate badgeIvan Kuchin2017-12-231-1/+1
| | | | | | | | | Old badge shows status unknown, so replace it with new maintainability badge
* | | Auto merge of #6224 - bundler:fix-ruby18-test, r=hsbtThe Bundler Bot2017-12-231-1/+2
|\ \ \ | |/ / |/| | | | | | | | | | | Re-order gem dependency for Ruby 1.8 build matrix. Fixes https://travis-ci.org/bundler/bundler/jobs/320785817
| * | Re-order gem dependency for Ruby 1.8 build matrix.fix-ruby18-testSHIBATA Hiroshi2017-12-241-1/+2
|/ /
* | Auto merge of #6207 - bundler:colby/init-gemfile-path-child, r=segiddinsThe Bundler Bot2017-12-112-32/+40
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let users generate gemfiles inside paths whos parent contains a Gemfile ### What was the end-user problem that led to this PR? Users are unable to generate a new Gemfile with `bundle init` if there is a Gemfile in any parent folder. Closes #6205 ### What is your fix for the problem, implemented in this PR? Don't use `SharedHelpers.default_gemfile` as that searches up the paths for a Gemfile. Instead only check the current directory.
| * | scope specs to their bundler version and remove duplicate testcolby/init-gemfile-path-childColby Swandale2017-12-111-40/+35
| | |
| * | Let users generate gemfiles in paths whos parent path contains a GemfileColby Swandale2017-12-092-8/+21
| | |
* | | Auto merge of #6202 - hsbt:warning-bundler-binstub, r=hsbtThe Bundler Bot2017-12-112-1/+28
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Show warning message about binstub outside generation. /cc @indirect Fixes #6149. Originated from https://github.com/bundler/bundler/issues/6149#issuecomment-347783823
| * | | Added test example for binstub warningSHIBATA Hiroshi2017-12-051-0/+19
| | | |
| * | | expand toplevel method definition about stub file detectionSHIBATA Hiroshi2017-12-051-6/+7
| | | |
| * | | Show warning message about binstub outside generation.SHIBATA Hiroshi2017-12-051-1/+8
| | | | | | | | | | | | | | | | Fixes #6149.
* | | | Auto merge of #6209 - hsbt:ignore-doc-templates, r=colby-swandaleThe Bundler Bot2017-12-111-0/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ignore to generate documentation of templates. ### What was the end-user problem that led to this PR? When users invoke `rdoc -o rdoc lib`, it generates documentation contains template files under the `lib/bundler/template` like `rdoc/lib/bundler/templates/newgem/bin/setup_tt.html` These files are not useful for users. ### What is your fix for the problem, implemented in this PR? I added `.document` file to its directory.
| * | | Ignore to generate documentation of templates.SHIBATA Hiroshi2017-12-111-0/+1
|/ / /
* | | Auto merge of #6201 - jetthoughts:binstub-use-gemfile-from-env, r=indirectThe Bundler Bot2017-12-052-3/+32
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setup custom Gemfile path before loading bundler for binstubs ### What was the end-user problem that led to this PR? While you have several gemfiles: `Gemfile` and `Gemfile.tools`. and generates binstubs for gems from second gemfile: `BUNDLE_GEMFILE=Gemfile.tools bundle binstubs rubocop` when you invoke those bin `bin/rubocop` then you see error like: ```bash /usr/local/opt/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/rubygems_integration.rb:458:in `block in replace_bin_path': can't find executable rubocop for gem rubocop. rubocop is not currently included in the bundle, perhaps you meant to add it to your Gemfile? (Gem::Exception) from /usr/local/opt/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/rubygems_integration.rb:489:in `block in replace_bin_path' from bin/rubocop:21:in `<main>' ``` ### What was your diagnosis of the problem? When you have generated `bin/bundler` by rails or by `bundler` it has setup of `BUNDLE_GEMFILE` by default as `Gemfile` or by gemfile which has been setup on `bundle binstub bundler`. So your binstub for rubocop could not change it. ### What is your fix for the problem, implemented in this PR? I propose to use`BUNDLE_GEMFILE` from gem's binstub over bundler's binstub version ### Why did you choose this fix out of the possible options? This was default behavior before #5878 introduced. Just added some fix to related PR.
| * | | Setup Gemfile path before loading bundler in order to use original GemfilePaul Nikitochkin2017-12-022-3/+32
| | | |