summaryrefslogtreecommitdiff
path: root/lib/bundler
AgeCommit message (Collapse)Author
2022-05-16[rubygems/rubygems] Use `Array#concat` in `SpecSet#for` to save memoryDavid Rodríguez
On `rails/rails` repository Gemfile, running the following script ``` # script.rb require "bundler/setup" ``` #### Before ``` ➜ rails git:(main) ✗ BUNDLER_VERSION=2.4.0.dev ruby-memory-profiler --pretty --no-detailed --allocated-strings=0 --retained-strings=0 script.rb Total allocated: 24.37 MB (207937 objects) Total retained: 2.98 MB (34152 objects) ``` #### After ``` ➜ rails git:(main) ✗ BUNDLER_VERSION=2.4.0.dev ruby-memory-profiler --pretty --no-detailed --allocated-strings=0 --retained-strings=0 script.rb Total allocated: 22.27 MB (206856 objects) Total retained: 2.98 MB (34152 objects) ``` https://github.com/rubygems/rubygems/commit/2ea2523afd Co-authored-by: Josh Nichols <josh.nichols@gusto.com>
2022-05-16[rubygems/rubygems] Improve `bundler/setup` performance againDavid Rodríguez
On a different patch, it was noticed Ngam Pham that we are calling `LazySpecification#hash` many times, and simply memoizing that led to a very considerable performance improvement in his app. I noticed though that we shouldn't be calling `LazySpecification#hash` that many times, and I located the culprit at `SpecSet#for` where we were deduplicating the partial aggregated result on every iteration. It is enough to do it just once at the end. This leads on a 12% speedup on Rails repository Gemfile vs the previous 8% I was getting from memoizing `LazySpecification#hash`. Also, after this patch memoizing `LazySpecification#hash` has no effect in performance anymore. https://github.com/rubygems/rubygems/commit/68d00a9edd Co-authored-by: Ngan Pham <ngan@users.noreply.github.com>
2022-05-13[rubygems/rubygems] Fix `Gemfile.lock` versions leaking to `bundler/inline` ↵David Rodríguez
install output The lockfile is completely ignored in inline mode, yet the previous output would suggest it wasn't. https://github.com/rubygems/rubygems/commit/763125a745
2022-05-13[rubygems/rubygems] Normalize parameter nameDavid Rodríguez
The other sources use `options` which reads better. https://github.com/rubygems/rubygems/commit/a672f9d602
2022-05-11[rubygems/rubygems] Fix error message on metadata mismatchesDavid Rodríguez
Previously we were removing not installable specs. However, if those are the only ones, that would result in a bad error message. If we still choose them as a last resort, Bundler will later check metadata right before installing a give a proper error. This is a regression of https://github.com/rubygems/rubygems/commit/565549260be5 and the fix is to revert that commit. https://github.com/rubygems/rubygems/commit/bc18912257
2022-05-09[rubygems/rubygems] Cleanup old legacy codeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/531d6b5fee
2022-05-06[rubygems/rubygems] Update man page for `require` option in `bundle add` commandnobuyo
https://github.com/rubygems/rubygems/commit/08a0a5b7d1
2022-05-04[rubygems/rubygems] Also speed up the case when nothing changedDavid Rodríguez
https://github.com/rubygems/rubygems/commit/fa0ac74883
2022-05-04[rubygems/rubygems] Make looping more concise with `select`David Rodríguez
https://github.com/rubygems/rubygems/commit/c43d5f979a
2022-05-04[rubygems/rubygems] Don't converge specs in frozen modeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/ea09bc4680
2022-04-28Merge ↵Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/3f7d0352e84b29d4a2d4cd93b31e5ebdb5f79cc6 Notes: Merged: https://github.com/ruby/ruby/pull/5669
2022-04-28Merge rubygems master 1e4eda741d732ca1bd7031aef0a16c7348adf7a5Hiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5669
2022-04-28[rubygems/rubygems] All supported rubies have `File.realpath`David Rodríguez
https://github.com/rubygems/rubygems/commit/c60ed4878c Notes: Merged: https://github.com/ruby/ruby/pull/5669
2022-04-28Merge RubyGems/Bundler masterHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/fe96fb6e2ac5a8b6df5e852470d11fa854301eca Notes: Merged: https://github.com/ruby/ruby/pull/5669
2022-04-28[rubygems/rubygems] Fix missing required rubygems version when using old APIsDavid Rodríguez
A while ago, we fixed resolution when using old dependency endpoints to also consider metadata dependencies, by requesting the full gemspec from the marsahaled index, which includes this information as opposed to these old APIs. This has made resolution slower, but correct, but also introduced the issue that some old marshaled gemspecs don't include the `required_rubygems_version` field because they were created with a RubyGems version that predates its addition. Use a default value in this case. https://github.com/rubygems/rubygems/commit/5dc94afcc0 Co-authored-by: Ilya Dudarenko <i.dudarenko@tinkoff.ru>
2022-04-16[rubygems/rubygems] Add modern rubies to the platformsBobby McDonald
https://github.com/rubygems/rubygems/commit/5462322f8f
2022-04-04[rubygems/rubygems] bump actions/checkout to 3 in bundler gem templateHartley McGuire
Dependabot bumped the repo's configuration in 0c996fa but it did not bump the version in the template for `bundler gem` https://github.com/rubygems/rubygems/commit/e14980e169
2022-03-31[rubygems/rubygems] Update bundler documentation to reflect bundle config ↵James Hill
scope changes In https://github.com/rubygems/rubygems/pull/4152 `bundle config` was changed to default to local scope (instead of global) if the command was executed from inside an application directory. Updated documentation reflects this change. https://github.com/rubygems/rubygems/commit/d92d42cae5
2022-03-15[rubygems/rubygems] Report Github Actions CI provider within user agent stringDavid Rodríguez
See https://docs.github.com/es/actions/learn-github-actions/environment-variables#default-environment-variables. So that we can show stats about it at https://ecosystem.rubytogether.org https://github.com/rubygems/rubygems/commit/48d6dc68f8
2022-03-08[rubygems/rubygems] Add newline to validate_platforms! message when platform ↵Alex Gittemeier
is missing When I run bundle install with BUNDLE_DEPLOYMENT=true in the environment on a different platform than I usually do development, I get the following output to the console (wrapped exactly as shown): Your bundle only supports platforms ["x86_64-darwin-19"] but your local platform is x86_64-linux. Add the current platform to the lockfile with `bundle lock --add-platform x86_64-linux` and try again. Because the way the message wraps, its not as simple as copying the suggested command to the clipboard because it contains a newline: $ bundle lock Writing lockfile to [...]/Gemfile.lock $ --add-platform x86_64-linux Adding a newline right before the command forces the command in the error message to be on the same line, which facilitates copy-pasting the command in the message. https://github.com/rubygems/rubygems/commit/4cf6989b11
2022-03-07[rubygems/rubygems] Update README.md.ttBrad Gessler
Reduce the number of steps required to install a gem from two steps to one by using `bundle add` https://github.com/rubygems/rubygems/commit/2c968420cd
2022-03-06[rubygems/rubygems] Make `--strict` flag of `update` and `outdated` commands ↵David Rodríguez
consistent Previously they had slightly different behavior when combined with conservative updating flags. The correct behavior is the `--update-strict` option, so `--script` now does that, The `--update-strict` option is left there for now but I will deprecate it later. https://github.com/rubygems/rubygems/commit/ab42046229
2022-02-28Merge RubyGems and Bundler masterHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5606
2022-02-11[rubygems/rubygems] Add clarification for bundle-config "with" optionIlia Zenkevich
https://github.com/rubygems/rubygems/commit/666f3cc724
2022-02-11[rubygems/rubygems] Fix corrupted lockfile when using `gemspec` and multiple ↵David Rodríguez
sources https://github.com/rubygems/rubygems/commit/9712262d90
2022-02-10[rubygems/rubygems] Fix typo in multiple gemfiles warningSven Schwyn
https://github.com/rubygems/rubygems/commit/bc69d19097
2022-02-01[rubygems/rubygems] Skip "seller shipped" notification after deliveryDan Jensen
If a Shipment has been delivered, there is no point in notifying the buyer that the seller shipped. Instead, we should simply notify the buyer that the shipment was delivered. This is relevant in cases where the seller is late to mark a Shipment as shipped, so the first EasyPost Tracker update marks it as delivered, or in cases where the seller fails to mark as shipped and the buyer marks it as delivered. This fixes a Shipment event handler so the buyer notification for shipment is no longer invoked if the Shipment is already delivered. https://github.com/rubygems/rubygems/commit/09c2cadc86
2022-02-01Sync latest Bundler & RubyGemsDavid Rodríguez
Notes: Merged: https://github.com/ruby/ruby/pull/5512
2022-01-26[rubygems/rubygems] Fix `force_ruby_platform` ignored when lockfile includes ↵David Rodríguez
the current specific platform https://github.com/rubygems/rubygems/commit/9ca371adf8
2022-01-26[rubygems/rubygems] Use Gem::Platform.local instead of RUBY_PLATFORMNgan Pham
In certain places, we want to display the platform name with `Gem::Platform.local` instead of `RUBY_PLATFORM`. Fixes https://github.com/rubygems/rubygems/issues/5264 https://github.com/rubygems/rubygems/commit/bdd1848ae8
2022-01-20[rubygems/rubygems] Change generated namespaced test class name in minitestYusuke Nakamura
* `foo` => `TestFoo` * `foo_bar` => `TestFooBar` * `foo-bar` => `Foo::TestBar` https://github.com/rubygems/rubygems/commit/353cdd61c3
2022-01-20[rubygems/rubygems] Update generated minitest file styleYusuke Nakamura
foo => test/test_foo.rb foo-bar => test/foo/test_bar.rb foo_bar => test/test_foo_bar.rb https://github.com/rubygems/rubygems/commit/c795e5d40d
2022-01-20[rubygems/rubygems] Create minitest file to underscored path in "bundle gem" ↵Yusuke Nakamura
command ...with dashed gem name In "bundle gem" command with dashed name gem (e.g. foo-bar) generates `test/test_foo/bar.rb`, but this file contains undefined class `TestFoo` and moreover, does not include in "bundle exec rake test" target. Therefore, intentially the first test after gem created is fail, but in case of gem name contains dash character is not. The change doings... (when "bundle gem foo-bar" called) * create `test/test_foo_bar.rb` * define `TestFooBar` class in `test/test_foo_bar.rb` https://github.com/rubygems/rubygems/commit/5d9a69fc0f
2022-01-19Merge rubygems/rubygems HEAD.Hiroshi SHIBATA
Picked at 12aeef6ba9a3be0022be9934c1a3e4c46a03ed3a Notes: Merged: https://github.com/ruby/ruby/pull/5462
2022-01-19[rubygems/rubygems] Fix regression with old marshaled specs having null ↵David Rodríguez
required_rubygems_version https://github.com/rubygems/rubygems/commit/91f07a0208
2022-01-13[rubygems/rubygems] Lock standard.yml to the required ruby versionJustin Searls
https://github.com/rubygems/rubygems/commit/1791b5b9e5
2022-01-13[rubygems/rubygems] Use `Fiddle` in `bundle doctor` to check for dynamic ↵Vyacheslav Alexeev
library presence https://github.com/rubygems/rubygems/commit/ecd495ce1b
2022-01-05[rubygems/rubygems] Exclude bin directory for newgem template, Because it ↵Hiroshi SHIBATA
contains only development script https://github.com/rubygems/rubygems/commit/01017ee8ca
2022-01-04[rubygems/rubygems] Append a newline to the checksum fileNobuyoshi Nakada
https://github.com/rubygems/rubygems/commit/48ea2778e9
2022-01-04[rubygems/rubygems] Fix checksumNobuyoshi Nakada
Calculate the checksum of the content, not the given pathname at the build time itself. https://github.com/rubygems/rubygems/commit/b60ee97ee9
2021-12-28[rubygems/rubygems] Fix `bundle update --bundler` no longer updating lockfileDavid Rodríguez
https://github.com/rubygems/rubygems/commit/a053b7e4d4
2021-12-27Track RubyGems 3.4.0dev and Bundler 2.4.0devHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5350
2021-12-27[rubygems/rubygems] Remove the rest of the `RUBY_VERSION` monkeypatchingDavid Rodríguez
Since we're at it. This generates a bunch of warnings and seems like a brittle way to test things, so let's get rid of it. https://github.com/rubygems/rubygems/commit/f5d45520e0 Notes: Merged: https://github.com/ruby/ruby/pull/5350
2021-12-27Check if `Kernel#untaint` is defined instead of version comparisonNobuyoshi Nakada
Probably `RUBY_VERSION` seems overwritten somewhere in the tests. Notes: Merged: https://github.com/ruby/ruby/pull/5349 Merged-By: nobu <nobu@ruby-lang.org>
2021-12-25Merge RubyGems-3.3.3 and Bundler-2.3.3Hiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5342
2021-12-24Merge RubyGems-3.3.2 and Bundler-2.3.2Hiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5334
2021-12-23Merge RubyGems-3.3.1 and Bundler-2.3.1Hiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5325
2021-12-22Reverts the accidental commits for rubygems/bundler.Hiroshi SHIBATA
We stay to the stable version for releasing Ruby 3.1.0. Revert commits: b86a7ba49252e00e19c22bbcdc821b5acc31ff92 ef973aa7aa65143a4f05d623c016d459426770d0
2021-12-22[rubygems/rubygems] Fix error when gem specified twice in gemfile under ↵David Rodríguez
different platforms https://github.com/rubygems/rubygems/commit/83bc87ca98
2021-12-21Merge RubyGems-3.3.0 and Bundler-2.3.0Hiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5317