| Age | Commit message (Collapse) | Author |
|
This is a first pass to improve the way errors are handled and raised in
bundler's tests. The goal is to clean up tests and modernize them -
these were some obvious areas that could be cleaned up.
- Instead of raising "ZOMG" in the load error tests, it now tests for
the actual error and gem raising.
- Improve error messages where applicable.
- All errors raise a specific error class, rather than falling back to a
default and just setting a message.
- Removed arguments and `bundle_dir` option from `TheBundle` class as it wasn't
actually used so therefore we don't need to raise an error for extra
arguments.
- Removed error from `BundlerBuilder`, as it won't work if it's not
`bundler`, also it never uses `name`. The only reaon `name` is passed
in is because of metaprogramming on loading the right builder. I
think that should eventually be refactored.
- Replaced and removed `update_repo3` and `update_repo4` in favor of
just `build_repo3` and `build_repo4`. Rather than tell someone writing
tests to use a different method, automatically use the right method.
https://github.com/ruby/rubygems/commit/68c39c8451
|
|
https://github.com/ruby/rubygems/commit/d3baf4110e
|
|
https://github.com/rubygems/rubygems/commit/4b8570ae15
|
|
Since now every functionality that changes in Bundler 4 is under a
setting, we can enable that setting to test the new functionality,
without having to run our full CI twice.
This can actually be seen as increasing coverage, because Bundler 4
functionality will now be tested on Windows, MacOS, or any other
environment where previously "Bundler 4 mode" was not running.
https://github.com/rubygems/rubygems/commit/1cb3e009fc
|
|
https://github.com/rubygems/rubygems/commit/cb1f19573a
|
|
|
|
https://github.com/rubygems/rubygems/commit/28b6a7cf5e
|
|
https://github.com/rubygems/rubygems/commit/228f59e3ab
|
|
https://github.com/rubygems/rubygems/commit/bb13f4e702
|
|
It reads better this way I think.
https://github.com/rubygems/rubygems/commit/ce9743290d
Notes:
Merged: https://github.com/ruby/ruby/pull/12968
|
|
https://github.com/rubygems/rubygems/commit/558a4765c7
Notes:
Merged: https://github.com/ruby/ruby/pull/12968
|
|
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
|
|
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
|
|
If we fail to write the lockfile, give a better error.
https://github.com/rubygems/rubygems/commit/81a08d6eda
|
|
https://github.com/rubygems/rubygems/commit/23d06195fa
|
|
https://github.com/rubygems/rubygems/commit/f530f8686d
|
|
https://github.com/rubygems/rubygems/commit/ce9f6285c4
|
|
for some reason
https://github.com/rubygems/rubygems/commit/f8f589b1b8
|
|
Signed-off-by: Samuel Giddins <segiddins@segiddins.me>
https://github.com/rubygems/rubygems/commit/06eec6d855
|
|
A spec needed changes because now loading the default `json` prints a
warning about `ostruct` getting loaded although it will be removed in
the future. Use a different default gem to test this.
https://github.com/rubygems/rubygems/commit/7415a66906
Co-authored-by: Samuel Giddins <segiddins@segiddins.me>
|
|
https://github.com/rubygems/rubygems/commit/6d6646b8bc
|
|
add_runtime_dependency
https://github.com/rubygems/rubygems/commit/9a08043858
|
|
|
|
Pathname problem
Recent refactorings in test suite to not load `pathname` for launching
Bundler subprocesses make some specs fail due to the warnings Ruby prints
when autoloading `pathname` under a namespace. But enabling this spec
also reproduces the hard error it produces on truffleruby.
https://github.com/rubygems/rubygems/commit/e47cd78081
|
|
any other gem
For backwards compatibility, make sure default gems are still used as a
last resort when materializing, in case no remote, cached, or installed
specs are found.
https://github.com/rubygems/rubygems/commit/93788f689f
|
|
cache
Even if all gems are properly installed and no resolve is needed, we
recently started always reading all packages in `vendor/cache` and
extracting specifications from them.
This commit fixes the problem by longer making considering cached specs
the default and only enable them when a resolve is actually needed.
https://github.com/rubygems/rubygems/commit/edeb2c42bf
|
|
https://github.com/rubygems/rubygems/commit/241d0aafcd
|
|
We have some places that already use `bundle config auto_install true`,
ie:
https://github.com/technicalpickles/rubygems/blob/7a144f3374f6a400cc9832f072dc1fc0bca8c724/bundler/lib/bundler/cli.rb#L11
This applies the same logic (copy and pasted) to happen when you
`require "bundler/setup"`.
https://github.com/rubygems/rubygems/commit/bb3c922341
|
|
https://github.com/rubygems/rubygems/commit/f79a6a004d
|
|
|
|
https://github.com/rubygems/rubygems/commit/3a262f55c8
|
|
This reverts commit https://github.com/rubygems/rubygems/commit/091b4fcf2b99.
https://github.com/rubygems/rubygems/commit/dcade3235f
|
|
If a gem is specified in the Gemfile (or resolved as a transitive
dependency), it's always resolved from remote/installed sources. Default
gems are only used as a fallback for gems not included in the bundle.
I believe this leads to more consistent behavior and more portable apps,
since all gems will be installed to the configured bundle path,
regardless of whether they are default gems or not.
https://github.com/rubygems/rubygems/commit/091b4fcf2b
|
|
And make it easier to update next time.
https://github.com/rubygems/rubygems/commit/1ea4bfa5d8
|
|
https://github.com/rubygems/rubygems/commit/bb66253f2c
|
|
Looks for the CHECKSUMS section in the lockfile, activating the feature
only if the section exists. Without a CHECKSUMS section, Bundler will
continue as normal, validating checksums when gems are installed while
checksums from the compact index are present.
https://github.com/rubygems/rubygems/commit/2353cc93a4
|
|
https://github.com/rubygems/rubygems/commit/ed4eaefac0
|
|
This is also done in bundler/lib/bundler/rubygems_integration.rb, but
bundler/lib/bundler.rb loads this file before it.
https://github.com/rubygems/rubygems/commit/8840d8507b
|
|
https://github.com/rubygems/rubygems/commit/93619c97ff
|
|
We lock the checksum for each resolved spec under a new CHECKSUMS
section in the lockfile.
If the locked spec does not resolve for the local platform, we preserve
the locked checksum, similar to how we preserve specs.
Checksum locking only makes sense on install. The compact index
information is only available then.
https://github.com/rubygems/rubygems/commit/bde37ca6bf
|
|
|
|
before 3.2 on windows
https://github.com/rubygems/rubygems/commit/834ae8a29a
|
|
https://github.com/rubygems/rubygems/commit/2851e051c3
|
|
We were setting the wrong `extension_dir` for git specs stubs
Additionally, the call to `self.extension_dir` was loading the
remote spec, which was avoidable since the stub had an extension dir
(and in fact its #gem_build_complete_path does exactly what we want
anyway)
Finally, now set the base_dir when loading the remote_spec from a
stub specification, since the git source sets the base dir for stubs
based on where the spec _will_ be installed to, and we want to preserve
that so the base_dir for the loaded spec & the stub are the same
https://github.com/rubygems/rubygems/commit/a94acb465b
|
|
https://github.com/rubygems/rubygems/commit/98da5b9826
|
|
The dedicated method `File.path` to deal with pathname-like objects
has been provided since ruby 1.9.0.
Also adds a test for rubygems/rubygems#6837.
https://github.com/rubygems/rubygems/commit/258c6eda80
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8126
|
|
https://github.com/rubygems/rubygems/commit/e8a4184429
|
|
https://github.com/rubygems/rubygems/commit/e30e86aa60
|
|
https://github.com/rubygems/rubygems/commit/9583a7eb82
|