summaryrefslogtreecommitdiff
path: root/lib/rubygems
AgeCommit message (Collapse)Author
2023-12-22Merge RubyGems-3.5.2 and Bundler-2.5.2Hiroshi SHIBATA
2023-12-16[rubygems/rubygems] More improves to default gem home selection for installationDavid Rodríguez
https://github.com/rubygems/rubygems/commit/966daf7d42
2023-12-15[rubygems/rubygems] Refactor vendoring to allow validating vendoring is ↵Samuel Giddins
reproducible Helps ensure that unsuspecting diffs to the vendored code arent accidentally introduced https://github.com/rubygems/rubygems/commit/7c425d49dd
2023-12-15[rubygems/rubygems] Fix `ruby setup.rb` leaving traces in source folderDavid Rodríguez
It's the `Gem::Installer` below what installs executables, and the code being deleted here is now actually creating a `gems/` folder in the root of the source repo when running `ruby setup.rb`. https://github.com/rubygems/rubygems/commit/0e69a8b0d6
2023-12-14[rubygems/rubygems] Upgrade vendored librariesDavid Rodríguez
To match the versions that will be included in final ruby release. https://github.com/rubygems/rubygems/commit/84394919fb
2023-12-14Removed duplicated LICENSE filesHiroshi SHIBATA
2023-12-14[rubygems/rubygems] Allow "default_user_install" to be overridden.Vít Ondruch
For Ruby re-distributors, automatic user-install might be the right default. Therefore printing warning about installing into user directory is not always desirable. Let the default_user_install method be customizable. https://github.com/rubygems/rubygems/commit/2320dba544
2023-12-14[rubygems/rubygems] Warn for duplicate meta data linksDrew Stevenson
Match order of METADATA_LINK_KEYS to order used by rubygems.org in Links model. Add missing download_uri key. https://github.com/rubygems/rubygems/commit/d2922cd6e9
2023-12-13[rubygems/rubygems] Use match? when regexp match data is unusedSamuel Giddins
Improved performance / reduced allocations https://github.com/rubygems/rubygems/commit/b04726c9a7
2023-12-13[rubygems/rubygems] Add missing resolv, timeout, and net-protocol licensesDavid Rodríguez
https://github.com/rubygems/rubygems/commit/00694651a3
2023-12-13Removed duplicated LICENSE fileHiroshi SHIBATA
2023-12-13[rubygems/rubygems] Explain the 3 states `options[:user_install]` can have.Vít Ondruch
This was issue previously, so hopefully this comment tries to state this explicitly for future readers. https://github.com/rubygems/rubygems/commit/8ccd830f85
2023-12-13[rubygems/rubygems] Make sure `--no-user-install` is respected for auto user ↵Vít Ondruch
installation The `options[:user_install]` might have three states: * `true`: `--user-install` * `false`: `--no-user-install` and * `nil`: option was not specified However, this had not been respected previously and the `false` and `nil` were treated the same. This could lead to auto user installation despite `--no-user-install` being specified on the command line. Fixes https://github.com/rubygems/rubygems/pull/7237 https://github.com/rubygems/rubygems/commit/9281545474
2023-12-13[rubygems/rubygems] Resolv needs vendoring tooDavid Rodríguez
https://github.com/rubygems/rubygems/commit/cdfc6923e4
2023-12-13[rubygems/rubygems] Vendor timeout in RubyGems tooDavid Rodríguez
https://github.com/rubygems/rubygems/commit/e2e7440ede
2023-12-13[rubygems/rubygems] Vendor net-http and net-protocol in RubyGemsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/99d91c9ed2
2023-12-12[rubygems/rubygems] Remove non-transparent requirement added to prerelease gemsDavid Rodríguez
I think we can safely assume these days that all RubyGems and Bundler versions that will ever bundle a new gem created in 2023 support prereleases. So this non transparent requirement is not necessary. In my opinion, it should be the gem author to explicitly add this constraint, not RubyGems. https://github.com/rubygems/rubygems/commit/b165e6d725
2023-12-12[rubygems/rubygems] Make the "auto-user-install" logic easier to followVít Ondruch
https://github.com/rubygems/rubygems/commit/4b4d9c0106
2023-12-12[rubygems/rubygems] Fix installing from source when same bundler version ↵David Rodríguez
already a default gem https://github.com/rubygems/rubygems/commit/620119308e
2023-12-12[rubygems/rubygems] Extract some common strings to variablesDavid Rodríguez
https://github.com/rubygems/rubygems/commit/48bc573310
2023-12-11[rubygems/rubygems] Fewer allocations in gem installationSamuel Giddins
For now, on a small rails app I have hanging around: ``` ==> memprof.after.txt <== Total allocated: 872.51 MB (465330 objects) Total retained: 40.48 kB (326 objects) ==> memprof.before.txt <== Total allocated: 890.79 MB (1494026 objects) Total retained: 40.40 kB (328 objects) ``` Not a huge difference in memory usage, but it's a drastic improvement in total number of allocations. Additionally, this will pay huge dividends once https://github.com/ruby/zlib/pull/61 is merged, as it will allow us to completely avoid allocations in the repeated calls to readpartial, which currently accounts for most of the memory usage shown above. https://github.com/rubygems/rubygems/commit/f78d45d927
2023-12-11[rubygems/rubygems] Stream output from ext builds when --verboseDaisuke Aritomo
Uses Open3.popen2e in place of Open3.capture2e in Gem::Ext::Builder. This change aims to stream stdout/stderr of ext builds when in verbose mode, instead of printing everything at once when the build completes. Nice for debugging gem builds that consumes longer times. https://github.com/rubygems/rubygems/commit/dcdcb5adda
2023-12-08[rubygems/rubygems] Upstream RubyGems changes from TruffleRubyBenoit Daloze
https://github.com/rubygems/rubygems/commit/749a508968
2023-12-08[rubygems/rubygems] Revert "Merge pull request #7148 from ↵David Rodríguez
Paul-Bob/improvement/include_response_body_on_fetch_http_error" This reverts commit https://github.com/rubygems/rubygems/commit/e5a4fd9eb617, reversing changes made to https://github.com/rubygems/rubygems/commit/c5a5363b0c98. https://github.com/rubygems/rubygems/commit/e21c45c4c3
2023-12-08[rubygems/rubygems] Extract generate_index command to ↵Samuel Giddins
rubygems-generate_index gem So generate_index can be implemented with dependencies, such as the compact index Took this approach from feedback in https://github.com/rubygems/rubygems/pull/6853 Running `gem generate_index` by default will use an installed rubygems-generate_index, or install and then use the command from the gem Apply suggestions from code review https://github.com/rubygems/rubygems/commit/fc1cb9bc9e Co-authored-by: Hiroshi SHIBATA <[email protected]>
2023-12-07[rubygems/rubygems] Use modern hashes consistentlyDavid Rodríguez
https://github.com/rubygems/rubygems/commit/bb66253f2c
2023-12-07[rubygems/rubygems] Make --build-root disable auto-user-install.Ellen Marie Dash
https://github.com/rubygems/rubygems/commit/6a06b0763f
2023-12-07[rubygems/rubygems] Better approach to falling back to user installation ↵David Rodríguez
when GEM_HOME not writable https://github.com/rubygems/rubygems/commit/f67bced16b
2023-12-07[rubygems/rubygems] Use globals variables for standard input/outputVít Ondruch
Replace use of `STDIN`, `STDOUT` and `STDERR` constants by their `$stdin`, `$stdout` and `$stderr` global variable equivalents. This enables easier testing via standard means, such as `assert_output` for minitest or `expect { print 'foo' }.to output.to_stdout` for RSpec test suites. https://github.com/rubygems/rubygems/commit/a0a6fc1b76
2023-12-06[rubygems/rubygems] Gem::UpdateSuggestion uses Gem::CIDetectorEric Mueller
https://github.com/rubygems/rubygems/commit/e5b0458342
2023-12-06[rubygems/rubygems] Introduce the Gem::CIDetectorEric Mueller
This is based on the list in Gem::UpdateSuggestion and Bundler::Fetcher; these have similar purposes (determining whether/what CI we're executing in), and can benefit from being combined and updated (they're both slightly out of date). Noteable changes: * We'll consider ourselves to be on a CI in more cases - if CI_NAME or TASKCLUSTER_ROOT_URL are set specifically, since those represent two cases that were either overlooked or are no longer covered by the existing implementation. (Or possibly TaskCluster still does provide RUN_ID, but failed to document it) * We will notice/track a few additional services in ci_strings (cirrus, dsari, taskcluster), stop tracking 'snap' (they went under in 2017), and update buildbox to buildkite (they've been called that for 8 years, and the BUILDBOX envs have been deprecated for 3). * We'll also sort/uniq/downcase the values (all of which only matter because of the special case of CI_NAME). https://github.com/rubygems/rubygems/commit/60652b942f
2023-12-06[rubygems/rubygems] Use String#unpack1 available since ruby 3.0Martin Emde
https://github.com/rubygems/rubygems/commit/46258d6cb4
2023-12-05[rubygems/rubygems] Instead of checking writability, try to writeDavid Rodríguez
Checking writability is prone to errors. For example: $ mkdir -p foo/bar $ chmod -w foo $ touch foo/bar/baz # succeeds even if foo is not writable https://github.com/rubygems/rubygems/commit/6056138b6a
2023-12-05[rubygems/rubygems] Prefer String#split with block in Gem::YAMLSerializer#loadMau Magnaguagno
String#split supports a block since Ruby 2.6, avoiding intermediate array. https://github.com/rubygems/rubygems/commit/69cdf9e9d4
2023-11-30[rubygems/rubygems] Only show "Defaulting to user installation" message when ↵Ellen Marie Dash
it matters. https://github.com/rubygems/rubygems/commit/61b0947225
2023-11-24[rubygems/rubygems] Fix typo missing doMau Magnaguagno
https://github.com/rubygems/rubygems/commit/4eade32ad6
2023-11-24[rubygems/rubygems] Prefer String#each_line in Gem::CommandMau Magnaguagno
Replace ``String#split("\n").each`` with ``String#each_line``. https://github.com/rubygems/rubygems/commit/958744807d
2023-11-14[rubygems/rubygems] improvement: include response body on fetch_http errorPaul Bob
https://github.com/rubygems/rubygems/commit/de4189af35
2023-11-13[rubygems/rubygems] TruffleRuby uses a bash prelude in default launchersBenoit Daloze
https://github.com/rubygems/rubygems/commit/e119f4208a
2023-11-13[rubygems/rubygems] This can be frozen nowDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d06544add2
2023-11-13[rubygems/rubygems] Remove now unnecessary dupsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/56ce2a6445
2023-11-13[rubygems/rubygems] Let RuboCop target Ruby 3.0David Rodríguez
https://github.com/rubygems/rubygems/commit/70243b1d72
2023-11-13[rubygems/rubygems] Drop support for Ruby 2.6 and Ruby 2.7 in RubyGemsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/10c26a483d
2023-11-08[rubygems/rubygems] Hack to get `Gem::Specification#extensions_dir` documentedDavid Rodríguez
https://github.com/rubygems/rubygems/commit/625b8293f7
2023-11-08[rubygems/rubygems] Remove unnecessary rescueDavid Rodríguez
https://github.com/rubygems/rubygems/commit/c0b549f943
2023-11-08[rubygems/rubygems] Allow `--install-dir` to be specified together with ↵Vít Ondruch
`--user-install` The combination of `install-dir` and `--user-install` used to be disabled for no good reason. This even makes problem on Linux distributions such as Fedora, where `--user-install` is set by default via operating_system.rb. The `--install-dir` is already prefered over the `--user-install` by the implementation, therefore just drop the check. https://github.com/rubygems/rubygems/commit/313b1c5e76
2023-11-08[rubygems/rubygems] Make the user installation less exceptionalVít Ondruch
The main purpose is to put handling of user installation into the same place as e.g. handling the --build-root option handling. There is no reason why the --build-root option should not prefix also paths used for user installation. Please note that the `util_installer` in `test_generate_plugins_with_user_install` enforced the `:install_dir`, which is against what user install is about. https://github.com/rubygems/rubygems/commit/0b10cb41aa
2023-10-27[rubygems/rubygems] Update SPDX license list as of 2023-10-05License Update
https://github.com/rubygems/rubygems/commit/e69a43ac9f
2023-10-25[rubygems/rubygems] Raise exception on unexpected EOF in marshalSamuel Giddins
Instead of NoMethodError being raised by accidentally trying to use nil https://github.com/rubygems/rubygems/commit/ac8f812bbf
2023-10-25[rubygems/rubygems] Avoid regexp match on every call to `Gem::Platform.local`Samuel Giddins
The result of `arch` would be ignored if `@local` is set, so wrap all the logic in `@local ||=` to short-circuit everything https://github.com/rubygems/rubygems/commit/b67d39f3e0