summaryrefslogtreecommitdiff
path: root/spec/bundler/install/gemfile
AgeCommit message (Collapse)Author
2 daysSkip to Bundler 4 directlyDavid Rodríguez
2 days[rubygems/rubygems] Normalize Bundler version spec filtersDavid Rodríguez
https://github.com/rubygems/rubygems/commit/28b6a7cf5e
2 days[rubygems/rubygems] Never ignore gems from path sources during activationDavid Rodríguez
The "ignore" attribute is a RubyGems thing to mark when a installed gem should be ignored for activation because its extensions are not properly compiled. In the case of gems from path sources, the warning is not accurate because extensions are compiled into the local lib path, which is not where RubyGems leaves its sentinel `gem.build_complete` file. Also, there's a single version of each gem in the path source available to Bundler, so we always certainly want to consider that for activation and never makes sense to ignore it. https://github.com/rubygems/rubygems/commit/ec5d33695e
2025-06-06[rubygems/rubygems] Extract stdboth spec helperDavid Rodríguez
https://github.com/rubygems/rubygems/commit/bb13f4e702
2025-06-05[rubygems/rubygems] Fix git source unlocking for multi-gem repositories like ↵David Rodríguez
Rails If you have ``` gem "rails", git: "https://github.com/rails/rails" ``` and then explicitly pin to an older ref, like ``` gem "rails", git: "https://github.com/rails/rails", ref: "https://github.com/rubygems/rubygems/commit/99bacb5aa8e5" ``` Then `bundle install` fails, because locked sources fail to be updated to use the new source. This commit fixes the problem by making sure get their source properly replaced. https://github.com/rubygems/rubygems/commit/5de8c2e0cf
2025-06-03[rubygems/rubygems] Partially phase out x64-mingw32 in favour of ↵Nicholas La Roux
x64-mingw-ucrt (platforms) - the x64-mingw32 platform has been superseded by x64-mingw-ucrt - the mingw-ucrt platform is present as of Windows 10, which was released 10 years ago in 2015 and all versions prior to 10 are end-of-life and 10 will be by mid October 2025 - newer rubies use the mingw-ucrt platform instead of the mingw32 platform, meaning using the deprecated platform can cause issues during gem installation https://github.com/rubygems/rubygems/commit/b9d871022e
2025-03-31[rubygems/rubygems] Allow ruby platform to be remove also when dependencies ↵David Rodríguez
have changed Since we will now add it back if the final resolution is compatible, we can also get this kind of edge case (`bundle add`) working. https://github.com/rubygems/rubygems/commit/cdc5ebec77
2025-03-24Revert "Fix broken CI. (#12963)"Hiroshi SHIBATA
This reverts commit eb91c664dc0b4d69db09ae913f2d7a5ef3490d74. Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Raise an error in frozen mode if CHECKSUMS entries are ↵David Rodríguez
missing https://github.com/rubygems/rubygems/commit/054a0cd76c Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-24[rubygems/rubygems] Consistently use "lockfile" over "lock file"David Rodríguez
https://github.com/rubygems/rubygems/commit/e891be9197 Notes: Merged: https://github.com/ruby/ruby/pull/12968
2025-03-23Fix broken CI. (#12963)Samuel Williams
* Increase timeout to fix flaky tests? * Fix bundler test - wording changed. expect "fatal: Remote branch deadbeef not found in upstream origin" to include "Revision deadbeef does not exist in the repository" Notes: Merged-By: ioquatix <[email protected]>
2025-03-12[rubygems/rubygems] Prefer `FileUtils.rm_r` to `FileUtils.rm_rf` for specsDavid Rodríguez
Because it does not swallow errors if it fails to remove the given folders, making issues easier to debug. https://github.com/rubygems/rubygems/commit/0db12d7afc
2025-03-12[rubygems/rubygems] Refactor specs to not try to remove folders that don't existDavid Rodríguez
This has the following benefits: * Avoid duplicated work in some specs that first build a repo, and then overwrite it with a completely different set of gems. * Reduce RSpec nesting and improve readability. * The change also made surfaces several specs that were incorrect since they were unintentionally not testing the right thing. https://github.com/rubygems/rubygems/commit/ed430883e0
2025-02-18[rubygems/rubygems] Add intermediate assertion to spec to help debuggingDavid Rodríguez
https://github.com/rubygems/rubygems/commit/ffabab65f2
2025-02-14[rubygems/rubygems] Use preferred `:windows` value for Windows exclusivelyDavid Rodríguez
https://github.com/rubygems/rubygems/commit/aee52d2874 Co-authored-by: johnnyshields <[email protected]>
2025-01-28[rubygems/rubygems] Support installing arm native gems on WindowsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/96496e3f53 Co-authored-by: Johnny Shields <[email protected]>
2025-01-28[rubygems/rubygems] Remove unnecessary platform helpersDavid Rodríguez
I think they add unnecessary indirection and inconsistency to the specs. https://github.com/rubygems/rubygems/commit/609924d985
2025-01-28[rubygems/rubygems] Refactor specs to use platform strings directlyDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d24c0c20e3
2025-01-20[rubygems/rubygems] Consistently assert command failureDavid Rodríguez
https://github.com/rubygems/rubygems/commit/faaa594a4a
2025-01-14[rubygems/rubygems] Don't remove platform specific variants from the ↵David Rodríguez
lockfile unless necessary Even if they don't match the current Ruby version, they could still work in other rubies. So it's better to keep them. https://github.com/rubygems/rubygems/commit/9a3e583b0c Notes: Merged: https://github.com/ruby/ruby/pull/12568
2024-11-08[rubygems/rubygems] Warn on insecure materializationDavid Rodríguez
https://github.com/rubygems/rubygems/commit/bc2537de71
2024-11-08[rubygems/rubygems] Fix typoDavid Rodríguez
https://github.com/rubygems/rubygems/commit/f68a2c30bb
2024-11-08[rubygems/rubygems] Simplify tests that deal with lockfile using only "ruby" ↵David Rodríguez
platform Using an old bundler version was necessary at the beginning because we checked the version of Bundler being run in order to enable the new behavior. But we removed that a long time ago and now we only look at whether the lockfile only includes "ruby" as a platform or not. https://github.com/rubygems/rubygems/commit/8fc3d38ff3
2024-11-08[rubygems/rubygems] Make sure platforms in spec lockfile are properly sortedDavid Rodríguez
https://github.com/rubygems/rubygems/commit/99b4ac4548
2024-11-06[rubygems/rubygems] Add missing spec for materializing lockfiles with only ↵David Rodríguez
"ruby" platform https://github.com/rubygems/rubygems/commit/4168a7f488
2024-11-06[rubygems/rubygems] Fix some JRuby warnings when using `bundler/setup` with ↵David Rodríguez
Ruby's -w flag When using the `bundler/setup` entrypoint, Bundler prints the following warnings in JRuby in `-w` is passed to Ruby. ``` /path/to/bundler/shared_helpers.rb:10: warning: constant Bundler::WINDOWS is deprecated /path/to/bundler/shared_helpers.rb:11: warning: constant Bundler::FREEBSD is deprecated /path/to/bundler/lib/bundler/shared_helpers.rb:12: warning: constant Bundler::NULL is deprecated ``` This does not happen in CRuby. This seems like a JRuby bug but we can skip it by autoloading the constants. https://github.com/rubygems/rubygems/commit/761ca29fa2
2024-10-04[rubygems/rubygems] Remove outdated conditionals from testsSamuel Giddins
Signed-off-by: Samuel Giddins <[email protected]> https://github.com/rubygems/rubygems/commit/06eec6d855
2024-09-26[rubygems/rubygems] Get specs to run on JRuby and make them passDavid Rodríguez
Turns out we were not running specs on JRuby, so we introduced a failure. Seems fine to skip. https://github.com/rubygems/rubygems/commit/4e2d6affb3
2024-09-04[rubygems/rubygems] Load gemspecs in the context of its parent also when ↵David Rodríguez
using local overrides https://github.com/rubygems/rubygems/commit/0a6c1c53ce
2024-08-30[rubygems/rubygems] Don't blow up when explicit version is removed from some ↵David Rodríguez
git sources `version` is actually an attribute of the dependency, not of the git source. Sometimes it's passed to the git source to be able to fake a gemspec in case there's no gemspec in the source, but it should not be used for source comparison. https://github.com/rubygems/rubygems/commit/d936fbd78e
2024-08-05[rubygems/rubygems] Fix locked source not getting respected when `bundle ↵David Rodríguez
update <specific_gem>` is run https://github.com/rubygems/rubygems/commit/eec6830c04
2024-08-05[rubygems/rubygems] Extract a `build_repo3` helperDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d8cf4aa0cd
2024-07-26[rubygems/rubygems] Make all tests still pass when switching from ↵David Rodríguez
truffleruby to cruby https://github.com/rubygems/rubygems/commit/4f3d9fa3bf
2024-07-23[rubygems/rubygems] Stop using the cache path as the install locationDavid Rodríguez
https://github.com/rubygems/rubygems/commit/ecadd02746
2024-07-23[rubygems/rubygems] Enable checksums on Bundler 3 for fresh lockfilesDavid Rodríguez
And get specs passing. https://github.com/rubygems/rubygems/commit/c23b5f5b84
2024-07-23[rubygems/rubygems] Normalize a few specs using sourcesDavid Rodríguez
Use the standard sources to avoid having to explictly pass ENV with the repo. https://github.com/rubygems/rubygems/commit/95055dba57
2024-07-23[rubygems/rubygems] Enforce passing a block to `simulate_platform`David Rodríguez
https://github.com/rubygems/rubygems/commit/0658903e25
2024-07-18[rubygems/rubygems] Fix another removal issueDavid Rodríguez
I failed to ignore (again) specs only considered for resolution under some platforms that are not the current one. https://github.com/rubygems/rubygems/commit/b72deec57e
2024-07-18[rubygems/rubygems] Simplify spec assertionDavid Rodríguez
All that we expect here is no changes. https://github.com/rubygems/rubygems/commit/ff984b6133
2024-07-09[rubygems/rubygems] Fix generic platform gems getting incorrectly removed ↵David Rodríguez
when locked for a specific platform If they are already in the lockfile as the most specific variant for a platform, we shouldn't change that unless explicitly unlocking. https://github.com/rubygems/rubygems/commit/a901660498
2024-07-09[rubygems/rubygems] Minor Bundler spec improvementsDavid Rodríguez
While working on something else I noticed: * Usage of uppercased "RUBY" and "JAVA" as platforms, when those don't really exist. * Usage of some test gems with "1.0" as gemspec version and "1.0.0" as actual version. This commit fixes both inconsistencies to make things more expectable. https://github.com/rubygems/rubygems/commit/e3ec32e247
2024-07-05[rubygems/rubygems] Use preferred add_dependency instead of ↵Jerome Dalbert
add_runtime_dependency https://github.com/rubygems/rubygems/commit/9a08043858
2024-06-28Synchronize Bundler & RubyGems (#11071)David Rodríguez
2024-06-20[rubygems/rubygems] Fix `bundle update <gem_name>` edge caseDavid Rodríguez
When locked only to RUBY, and some locked spec does not meet locked dependencies, Bundler would remove the only locked platform and end up creating a lockfile with empty sections. We can't rely on our criteria to remove invalid platforms if locked specs are not valid in the first place. https://github.com/rubygems/rubygems/commit/1dba05cf53
2024-06-20[rubygems/rubygems] Make sure to not re-resolve when a not fully specific ↵David Rodríguez
local platform is locked https://github.com/rubygems/rubygems/commit/36a02c6128
2024-06-20[rubygems/rubygems] Always resolve against the local platformDavid Rodríguez
If RUBY is the only platform in the lockfile, we were skipping adding the local platform to the list of resolution platforms. This generally works anyways, because we had some code to still add it if the RUBY platform is not valid for the set of locked gems. However, sometimes it can happen that "RUBY" is valid for the current set of locked gems, but when adding a new dependency, it becomes invalid. For example, when adding sorbet to a Gemfile, that will introduce `sorbet-static` as an indirect dependency which does not have a generic "RUBY" variant. This will cause resolution to take a long time continuously backtracking trying to find solutions that don't introduce `sorbet-static` as a dependency and will eventually fail. Instead, we can always add the local platform to the set of resolution platforms before resolving, and remove it as necessary after resolution so that we lock the correct set of platforms. https://github.com/rubygems/rubygems/commit/6ed1fe6050
2024-06-06[rubygems/rubygems] Reuse `git` helper when possibleDavid Rodriguez
https://github.com/rubygems/rubygems/commit/f7c7bae940
2024-06-06[rubygems/rubygems] The `default_bundle_path` helper method already joins ↵David Rodriguez
internally https://github.com/rubygems/rubygems/commit/6b3f555211
2024-06-06[rubygems/rubygems] The `bundled_app` helper method already joins internallyDavid Rodriguez
https://github.com/rubygems/rubygems/commit/57576e27a1
2024-06-06[rubygems/rubygems] The `tmp` test helper already joins internallyDavid Rodriguez
https://github.com/rubygems/rubygems/commit/2d9eeadb62