aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [rubygems/rubygems] Exclude truffleruby from the test for failure of ↵Daniel Niknam2021-08-311-0/+2
| | | | | | | | operating_system.rb truffleruby does not raise any error when requiring `rubygems`. https://github.com/rubygems/rubygems/commit/21e2fcd0b2
* [rubygems/rubygems] Enhance error handling when loading the ↵Daniel Niknam2021-08-312-0/+41
| | | | | | | | | | | | | | rubygems/defaults/operating_system file When loading `rubygems/defaults/operating_system` - we want to keep it silent if the raised exception is a LoadError - we want to print a message in other cases and ask users to report the issue to their OS support. Ruby 3 comes with special error handling for loading `rubygems` and it will show a warning when LoadError exception raised for requiring 'rubygem'. Because of that, we decided to leave the LoadError scenario as it is. Reference: https://github.com/ruby/ruby/blob/d1998d8767affe58be0bd09ec536dae9198a7fbd/gem_prelude.rb#L1-L5 https://github.com/rubygems/rubygems/commit/0a97e12fe1
* [rubygems/rubygems] Also load user installed rubygems pluginsDavid Rodríguez2021-08-312-1/+28
| | | | https://github.com/rubygems/rubygems/commit/82960c262f
* [rubygems/rubygems] Respect `BUNDLE_USER_HOME` for global config locationDavid Rodríguez2021-08-312-0/+12
| | | | https://github.com/rubygems/rubygems/commit/58fc31442f
* [rubygems/rubygems] Disable `RUBYGEMS_GEMDEPS` for bundler spec runDavid Rodríguez2021-08-311-0/+1
| | | | | | Running `bundler` specs using `bundler` is not supported. https://github.com/rubygems/rubygems/commit/cc97b6773d
* [rubygems/rubygems] Remove `RUBYGEMS_GEMDEPS` warningDavid Rodríguez2021-08-312-24/+0
| | | | | | | | | | | | | | | | | When setting the `RUBYGEMS_GEMDEPS` environment variable to allow skipping `bundle exec`, `bundler` will print a warning about potential incompatibility. Initially the `RUBYGEMS_GEMDEPS` variable used a completely different (re)implementation of `bundler` functionality. That implementation was not battle tested and could potentially differ in behaviour from what `bundler` does. That's why print a warning. However, these days, all `rubygems` does when `RUBYGEMS_GEMDEPS` is set is to require `bundler/setup`, so there's no risk of any incompatibility, since that's just plain `bundler`. https://github.com/rubygems/rubygems/commit/bbddc27016
* [rubygems/rubygems] Expect the right permissions on WindowsDavid Rodríguez2021-08-311-3/+1
| | | | | | Given Windows doesn't have executable bit. https://github.com/rubygems/rubygems/commit/35dc3fa845
* [rubygems/rubygems] Recommend `bundle install` rather than `gem install -g`David Rodríguez2021-08-312-2/+2
| | | | https://github.com/rubygems/rubygems/commit/4028cbc408
* [rubygems/rubygems] Refactor reseting `RUBYGEMS_GEMDEPS` in testsDavid Rodríguez2021-08-311-138/+130
| | | | https://github.com/rubygems/rubygems/commit/91dca11112
* [rubygems/rubygems] Get a CI matrix configured in default Github Actions ↵David Rodríguez2021-08-311-1/+7
| | | | | | | | | | | generated config Even if it only has one entry at the moment, it makes it easier to add new entries by doing it this way. https://github.com/rubygems/rubygems/commit/46232fe265 Co-authored-by: NeimadTL <damientalbot26@gmail.com>
* [rubygems/rubygems] Avoid double CI runs in default Github Actions generated ↵David Rodríguez2021-08-311-1/+5
| | | | | | | | | | | | | | | | | | | | config Otherwise CI will run once for every pull request update and once for every push. The disavantage is that people working on a non default branch without creating pull requests won't get CI run at all. I think the advantages are greater than the disadvantages, it's also my personal workflow, and it's something desired enough so that someone opened an issue about it. So let's do it! https://github.com/rubygems/rubygems/commit/924d916a73 Co-authored-by: NeimadTL <damientalbot26@gmail.com>
* [rubygems/rubygems] Don't use gemdeps on bundler binstubDavid Rodríguez2021-08-311-3/+10
| | | | https://github.com/rubygems/rubygems/commit/320fdc1513
* [rubygems/rubygems] Simplify rescue of bundler errorsDavid Rodríguez2021-08-311-12/+13
| | | | | | | | | | | | | | | | As far as I understand, this block should only be run when `bundler/setup` fails. The only other case where these errors could be run is when bundler itself is required. If bundler itself fails to be required or activated (like in old rubies where it was not a default gem, for example), the raw error is much more helpful than this message. So we can move the rescue after bundler is succesfully required, and that simplifies the list of exceptions that we need to track to just `Bundler::Error`. https://github.com/rubygems/rubygems/commit/3663c11e93
* [rubygems/rubygems] Move list of exceptions to the `rescue` clauseDavid Rodríguez2021-08-311-9/+4
| | | | | | Instead of having to match classes and re-raise in the exception body. https://github.com/rubygems/rubygems/commit/5edf74b781
* [rubygems/rubygems] Use `Gem.use_gemdeps` only from binstubsDavid Rodríguez2021-08-315-17/+57
| | | | | | | The previous behavior was to automatically require `bundler/setup` everytime `rubygems` was required, which I think was too much. https://github.com/rubygems/rubygems/commit/b25379a295
* [rubygems/rubygems] Take advantage of `target` being a `Pathname`David Rodríguez2021-08-311-1/+1
| | | | https://github.com/rubygems/rubygems/commit/c31b8cd232
* [rubygems/rubygems] Fix git repo initialization on a path with spacesDavid Rodríguez2021-08-312-1/+13
| | | | https://github.com/rubygems/rubygems/commit/a2d6e10192
* [rubygems/rubygems] Remove misleading commentDavid Rodríguez2021-08-311-1/+0
| | | | | | | When I read, I thought the assertion was incorrect. It's doing the right thing, though. https://github.com/rubygems/rubygems/commit/e72c27367a
* [rubygems/rubygems] Remove bad TODODavid Rodríguez2021-08-311-3/+0
| | | | | | The commented out code causes failing tests because it's not correct. https://github.com/rubygems/rubygems/commit/38f0eca91a
* [rubygems/rubygems] Remove unnecessary spec manipulationDavid Rodríguez2021-08-312-4/+8
| | | | https://github.com/rubygems/rubygems/commit/c7c00c280f
* [rubygems/rubygems] Simplify overkill usage of shared examplesDavid Rodríguez2021-08-311-27/+12
| | | | https://github.com/rubygems/rubygems/commit/36a00144b9
* [rubygems/rubygems] Deprecate `bundle exec --no-keep-file-descriptors`David Rodríguez2021-08-312-0/+16
| | | | https://github.com/rubygems/rubygems/commit/591466d512
* [rubygems/rubygems] Don't warn default behaviourDavid Rodríguez2021-08-311-6/+1
| | | | https://github.com/rubygems/rubygems/commit/ed845d861c
* [rubygems/rubygems] Keep file descriptors by defaultDavid Rodríguez2021-08-311-1/+1
| | | | https://github.com/rubygems/rubygems/commit/88b7a3e7e2
* [rubygems/rubygems] Exclude gemspec file itself from gemNobuyoshi Nakada2021-08-312-1/+9
| | | | | | | The processed YML data is included as metadata, the source gemspec file is unused and just confusing. https://github.com/rubygems/rubygems/commit/f444478eac
* [rubygems/rubygems] typos in UI messages: fix a couple missing spaces ↵Tim Sutton2021-08-314-4/+4
| | | | | | between sentence breaks https://github.com/rubygems/rubygems/commit/5cdda53382
* [rubygems/rubygems] Remove now unnecessary codeDavid Rodríguez2021-08-315-19/+1
| | | | https://github.com/rubygems/rubygems/commit/d74830d00b
* [rubygems/rubygems] The `--local` flag to `bundle install` shouldn't hit the ↵David Rodríguez2021-08-312-0/+19
| | | | | | | | | network If the cache was missing, `bundler` would try to re-fetch it. With the `--local` flag, it should just look at installed gems. https://github.com/rubygems/rubygems/commit/630d29c69e
* [rubygems/rubygems] Requiring `bundler/setup` shouldn't try to hit the networkDavid Rodríguez2021-08-312-2/+17
| | | | https://github.com/rubygems/rubygems/commit/06f5efce02
* [rubygems/rubygems] Improve "gem not found in source" errorsDavid Rodríguez2021-08-317-7/+30
| | | | | | | | | | When printing sources inside these error messages, it's useful to only consider the current state of the source. For example, when requiring `bundler/setup`, the source shouldn't be configured to be able to hit the network, so the error message should only mention "locally installed gems" to make that more clear. https://github.com/rubygems/rubygems/commit/30eb14f853
* [rubygems/rubygems] Only set local variable in the branch using itDavid Rodríguez2021-08-311-6/+5
| | | | https://github.com/rubygems/rubygems/commit/9fd39bd5a3
* [rubygems/rubygems] Simplify error message building in resolverDavid Rodríguez2021-08-311-4/+2
| | | | | | | Since all requirements have an explicit source now (even if it's the default source). https://github.com/rubygems/rubygems/commit/2c341cfc22
* [rubygems/rubygems] Remove redundant part of error messageDavid Rodríguez2021-08-314-8/+1
| | | | | | | It doesn't really add much, in my opinion. We want to be helpful, but also concise when possible. https://github.com/rubygems/rubygems/commit/9d56009cf7
* [rubygems/rubygems] Fix standalone generated script to deal with path sourcesDavid Rodríguez2021-08-312-2/+40
| | | | | | | | | In the case of path sources, the path the source is pointing to should be added directly to the `$LOAD_PATH` without any modifications. https://github.com/rubygems/rubygems/commit/d3bba936f0 Co-authored-by: Daniel Niknam <mhmd.niknam@gmail.com>
* [rubygems/rubygems] Remove unnecessary `ruby_version` local variableDavid Rodríguez2021-08-312-3/+2
| | | | | | | Under some case, this variable might not end up being used, in which case running the script would print unused variable warnings. https://github.com/rubygems/rubygems/commit/bf96030362
* [rubygems/rubygems] Use same criteria for ruby engine as in the final scriptDavid Rodríguez2021-08-311-1/+1
| | | | https://github.com/rubygems/rubygems/commit/fcb8c3d188
* [rubygems/rubygems] Remove unnecessary `ruby_engine` local variableDavid Rodríguez2021-08-312-3/+2
| | | | | | | Under some case, this variable might not end up being used, in which case running the script would print unused variable warnings. https://github.com/rubygems/rubygems/commit/a2d6392ada
* [rubygems/rubygems] Remove unnecessary `path` local variableDavid Rodríguez2021-08-312-3/+2
| | | | | | We can use `__dir__` directly. https://github.com/rubygems/rubygems/commit/0e6083ca94
* [rubygems/rubygems] Fix unnecessary $LOAD_PATH modification in standalone scriptDavid Rodríguez2021-08-311-1/+1
| | | | | | | | | | Due to the `bundler` gem itself being ignored from `$LOAD_PATHS`, a `nil` value is being introduced here, resulting in the current folder being added to the `$LOAD_PATH` by the standalone script. I'm pretty sure this is unintentional. https://github.com/rubygems/rubygems/commit/df54b07b5e
* [rubygems/rubygems] Don't sort materialized specs when not necessaryDavid Rodríguez2021-08-311-1/+1
| | | | | | | This should fix a weird flaky spec failure, given that the code producing the error will be no longer run. https://github.com/rubygems/rubygems/commit/a171965409
* [rubygems/rubygems] Respect `BUNDLE_USER_CONFIG` if setDavid Rodríguez2021-08-312-0/+16
| | | | https://github.com/rubygems/rubygems/commit/f28ab141af
* [rubygems/rubygems] We can now avoid source materialization workDavid Rodríguez2021-08-311-17/+3
| | | | | | | No need to fill up missing names from sources anymore since they should now be properly set up correctly from the beginning. https://github.com/rubygems/rubygems/commit/706fd28681
* [rubygems/rubygems] Completely avoid replacing sources when in multisource ↵David Rodríguez2021-08-312-2/+2
| | | | | | | | | | compatibility mode Since this mode is only enabled in frozen mode, it's fine to use the lockfile and means we don't have to "prepare" the replacement for materialization. https://github.com/rubygems/rubygems/commit/dda01b288e
* [rubygems/rubygems] Fix standalone install of default gemsDavid Rodríguez2021-08-313-2/+51
| | | | | | Rubygems source replacement was broken. https://github.com/rubygems/rubygems/commit/3549c122f6
* [rubygems/rubygems] This spec can pass now on ruby 3David Rodríguez2021-08-311-2/+2
| | | | | | | | TSort was released as a library so we can install it, and also other gems that are loaded by the spec. Also, Ruby on Windows apparently loads fiddle 1.0.6, so we need to also install that to make that not fail. https://github.com/rubygems/rubygems/commit/2b8dcab99e
* [rubygems/rubygems] Remove unnecessary test repositoryDavid Rodríguez2021-08-311-5/+3
| | | | | | | These gems are built and installed to system directly as default gems. There's no need to also build a remote repo. https://github.com/rubygems/rubygems/commit/ad9dad4c22
* [rubygems/rubygems] Give a `bundle install` hint when `bundle list` failsDavid Rodríguez2021-08-312-1/+8
| | | | https://github.com/rubygems/rubygems/commit/98f5087e34
* [rubygems/rubygems] Remove unnecessary escape sequencesDavid Rodríguez2021-08-312-8/+8
| | | | | | Bundler formatters already take care of this. https://github.com/rubygems/rubygems/commit/c24415fdd5
* [rubygems/rubygems] Remove unnecessary exceptionDavid Rodríguez2021-08-311-4/+0
| | | | | | | If we have succeeded to materialize the bundle, all specs should be loaded. https://github.com/rubygems/rubygems/commit/bd3712d824
* [rubygems/rubygems] Show all missing gems when using a bundle before ↵David Rodríguez2021-08-313-37/+57
| | | | | | | | | | installing it Not only the first one that's missing. This also allows us to simplify things. https://github.com/rubygems/rubygems/commit/69718a9509