summaryrefslogtreecommitdiff
path: root/lib/rubygems
AgeCommit message (Collapse)Author
2019-09-26[rubygems/rubygems] Make ruby_code method handle OpenSSL::PKey::RSA objectsbronzdoc
https://github.com/rubygems/rubygems/commit/b1d825ab3a
2019-09-26[rubygems/rubygems] Set SOURCE_DATE_EPOCH env var if not provided.Ellen Marie Dash
Fixes #2290. 1. `Gem::Specification.date` returns SOURCE_DATE_EPOCH when defined, 2. this commit makes RubyGems set it _persistently_ when not provided. This combination means that you can build a gem, check the build time, and use that value to generate a new build -- and then verify they're the same. https://github.com/rubygems/rubygems/commit/d830d53f59
2019-09-26[rubygems/rubygems] Add a gem attr to the Gem::Package class.Daniel Berger
https://github.com/rubygems/rubygems/commit/5b81f364ae
2019-09-25Make rb_scan_args handle keywords more similar to Ruby methods (#2460)Jeremy Evans
Cfuncs that use rb_scan_args with the : entry suffer similar keyword argument separation issues that Ruby methods suffer if the cfuncs accept optional or variable arguments. This makes the following changes to : handling. * Treats as **kw, prompting keyword argument separation warnings if called with a positional hash. * Do not look for an option hash if empty keywords are provided. For backwards compatibility, treat an empty keyword splat as a empty mandatory positional hash argument, but emit a a warning, as this behavior will be removed in Ruby 3. The argument number check needs to be moved lower so it can correctly handle an empty positional argument being added. * If the last argument is nil and it is necessary to treat it as an option hash in order to make sure all arguments are processed, continue to treat the last argument as the option hash. Emit a warning in this case, as this behavior will be removed in Ruby 3. * If splitting the keyword hash into two hashes, issue a warning, as we will not be splitting hashes in Ruby 3. * If the keyword argument is required to fill a mandatory positional argument, continue to do so, but emit a warning as this behavior will be going away in Ruby 3. * If keyword arguments are provided and the last argument is not a hash, that indicates something wrong. This can happen if a cfunc is calling rb_scan_args multiple times, and providing arguments that were not passed to it from Ruby. Callers need to switch to the new rb_scan_args_kw function, which allows passing of whether keywords were provided. This commit fixes all warnings caused by the changes above. It switches some function calls to *_kw versions with appropriate kw_splat flags. If delegating arguments, RB_PASS_CALLED_KEYWORDS is used. If creating new arguments, RB_PASS_KEYWORDS is used if the last argument is a hash to be treated as keywords. In open_key_args in io.c, use rb_scan_args_kw. In this case, the arguments provided come from another C function, not Ruby. The last argument may or may not be a hash, so we can't set keyword argument mode. However, if it is a hash, we don't want to warn when treating it as keywords. In Ruby files, make sure to appropriately use keyword splats or literal keywords when calling Cfuncs that now issue keyword argument separation warnings through rb_scan_args. Also, make sure not to pass nil in place of an option hash. Work around Kernel#warn warnings due to problems in the Rubygems override of the method. There is an open pull request to fix these issues in Rubygems, but part of the Rubygems tests for their override fail on ruby-head due to rb_scan_args not recognizing empty keyword splats, which this commit fixes. Implementation wise, adding rb_scan_args_kw is kind of a pain, because rb_scan_args takes a variable number of arguments. In order to not duplicate all the code, the function internals need to be split into two functions taking a va_list, and to avoid passing in a ton of arguments, a single struct argument is used to handle the variables previously local to the function. Notes: Merged-By: jeremyevans <code@jeremyevans.net>
2019-09-05[rubygems/rubygems] Bump rubocop to 0.74.0 and fix new offensesDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d4fc383497
2019-09-05[rubygems/rubygems] Minor fixAlexander Pakulov
https://github.com/rubygems/rubygems/commit/95c1f4e179
2019-09-05[rubygems/rubygems] Add missing parenthesesbronzdoc
https://github.com/rubygems/rubygems/commit/f5972338e0
2019-09-05[rubygems/rubygems] Remove unnecessary gem_name methodbronzdoc
https://github.com/rubygems/rubygems/commit/d1bb122651
2019-09-05[rubygems/rubygems] Error out if there are multiple gemspecs and no gemspec ↵bronzdoc
is specified https://github.com/rubygems/rubygems/commit/547947bbf0
2019-09-05[rubygems/rubygems] Build the first gemspec we found if no gemspec is specifiedbronzdoc
https://github.com/rubygems/rubygems/commit/ab186266b7
2019-09-05[rubygems/rubygems] Improve gemspec assignment and error messagebronzdoc
https://github.com/rubygems/rubygems/commit/dc70c5a192
2019-09-05[rubygems/rubygems] Make passing a gem name to be optionalbronzdoc
https://github.com/rubygems/rubygems/commit/4ba4ffebbe
2019-09-05[rubygems/rubygems] Move build gem logic to its own methodbronzdoc
https://github.com/rubygems/rubygems/commit/a16eacd650
2019-09-05[rubygems/rubygems] Don't fail when `uninstall --all` with default gemDavid Rodríguez
Instead, display an informative message saying that uninstallation of specific versions is being skipped because of being default gems. https://github.com/rubygems/rubygems/commit/b44845aa1d
2019-09-05[rubygems/rubygems] Use IAM role to extract security-credentials for EC2 ↵Alexander Pakulov
instance https://github.com/rubygems/rubygems/commit/9a401646e1
2019-09-05[rubygems/rubygems] Move empty check earlierDavid Rodríguez
https://github.com/rubygems/rubygems/commit/fc224e9717
2019-08-30Fix keyword argument separation issues in libJeremy Evans
Mostly requires adding ** in either calls or method definitions. Notes: Merged: https://github.com/ruby/ruby/pull/2395
2019-08-30require 'pp' before use PPKazuhiro NISHIYAMA
`Kernel#pp` has wrapper, but `PP` does not. https://github.com/ruby/ruby/runs/207405029#step:10:141 `NameError: uninitialized constant Bundler::Molinillo::Resolver::Resolution::PP`
2019-08-20[rubygems/rubygems] Use `RbConfig::CONFIG['rubylibprefix']`Nobuyoshi Nakada
It is defined since ruby 1.9.2. https://github.com/rubygems/rubygems/commit/84981ca908
2019-08-18$LOAD_PATH elements should be real pathsNobuyoshi Nakada
Installed path may contain symbolic links.
2019-08-17Support the current stable version of Ruby like 2.5 and 2.6.Hiroshi SHIBATA
2019-08-17Revert "`Gem.load_path_insert_index always returns non-nil index after Ruby 1.9"Hiroshi SHIBATA
This reverts commit 260ef51a73c067599826c8ab110c53994c1b6226. This broke the stable versions of Ruby like 2.4 and 2.5
2019-08-17Added comments for extended require by RubyGemsHiroshi SHIBATA
2019-08-17`Gem.load_path_insert_index always returns non-nil index after Ruby 1.9Hiroshi SHIBATA
2019-08-17Try to continue on LoadError with gem_original_requireHiroshi SHIBATA
2019-08-17Keep the existance behavior with symlink pathHiroshi SHIBATA
2019-08-17Revert "Revert "[rubygems/rubygems] [Require] Ensure -I beats a default gem""Hiroshi SHIBATA
This reverts commit 75d29db8f965893bb6ab38b9008abc80cdda246e.
2019-08-17Revert "[rubygems/rubygems] [Require] Ensure -I beats a default gem"Hiroshi SHIBATA
This reverts commit 00cd5d74cecb6aa4a184e57e2b8246ef6e45d458.
2019-08-17Fixed Insecure Operation in requireHiroshi SHIBATA
Caused by 00cd5d74ce
2019-08-17[rubygems/rubygems] Fixup #2844Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/5924286ae2
2019-08-17[rubygems/rubygems] installer.rb - fix #windows_stub_scriptMSP-Greg
use ruby_exe in heredocs instead of ruby.exe https://github.com/rubygems/rubygems/commit/9f1b7d6590
2019-08-17[rubygems/rubygems] Do not mutate uri.query during s3 signature creationAlexander Pakulov
https://github.com/rubygems/rubygems/commit/c0275ee537
2019-08-17[rubygems/rubygems] Make deprecate Gem::RubyGemsVersion and Gem::ConfigMap.Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/1133c2f700
2019-08-17[rubygems/rubygems] Return `nil` to clarify return value is ignoredDavid Rodríguez
https://github.com/rubygems/rubygems/commit/8702f59d32
2019-08-17[rubygems/rubygems] Autoswitch to exact bundler version if presentDavid Rodríguez
https://github.com/rubygems/rubygems/commit/bb02953a97
2019-08-17[rubygems/rubygems] Don't unregister default specificationsDavid Rodríguez
I think this should be more efficient? https://github.com/rubygems/rubygems/commit/a1de78104f
2019-08-17[rubygems/rubygems] Replace domain parameter in ↵bronzdoc
Gem::Command#show_lookup_failure with a parameter to suppress suggestions https://github.com/rubygems/rubygems/commit/760b7d834f
2019-08-17[rubygems/rubygems] Fix jruby issueDavid Rodríguez
https://github.com/rubygems/rubygems/commit/fc3f722164
2019-08-17[rubygems/rubygems] Fix old rubies compatDavid Rodríguez
https://github.com/rubygems/rubygems/commit/41e60cdb6b
2019-08-17[rubygems/rubygems] [Require] Ensure -I beats a default gemSamuel Giddins
https://github.com/rubygems/rubygems/commit/6fbda98eb3
2019-08-14fix last commit.Koichi Sasada
2019-08-14change Proc#to_s format ('@...' -> ' ...') (#2362)Koichi Sasada
Now Proc#to_s returns "#<Proc:0x00000237a0f5f170@t.rb:1>". However, it is convenient to select a file name by (double-)clicking on some terminals by separating ' ' instead of '@' like "#<Proc:0x00000237a0f5f170 t.rb:1>" [Feature #16101]
2019-08-07Fixed deprecation messageNobuyoshi Nakada
2019-08-05[rubygems/rubygems] Use the standard RUBY_ENGINE_VERSION instead of ↵Benoit Daloze
JRUBY_VERSION * RUBY_ENGINE and RUBY_ENGINE_VERSION are defined on every modern Ruby. * There is no such constant as TRUFFLERUBY_VERSION or RBX_VERSION. https://github.com/rubygems/rubygems/commit/431d0aefdd
2019-08-05[rubygems/rubygems] Use gsub with HashKazuhiro NISHIYAMA
https://github.com/rubygems/rubygems/commit/83eced0b39
2019-08-05[rubygems/rubygems] Revert cadb66037d9b58c80fc795f39384d533229a1f73bronzdoc
https://github.com/rubygems/rubygems/commit/5c3158d975
2019-08-05[rubygems/rubygems] Fixed to warn with shadowing outer local variable.Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/b0588a87b1
2019-07-31[rubygems/rubygems] Partly reverted be962ca0c411f3b4bcfebfb6e714c78cbad12775Hiroshi SHIBATA
* `Gem::ConfigMap` is still used by Bundler. * `Gem::RubyGemsVersion` is also still referred by the old gems. https://github.com/rubygems/rubygems/commit/249c3ff44f
2019-07-31[rubygems/rubygems] Initialize '@ran_rake' correctly, so we don't have to ↵bronzdoc
set it up later and cause confusion https://github.com/rubygems/rubygems/commit/6ec3ba983c
2019-07-31[rubygems/rubygems] Remove extension 'double pipe equals' assigment since is ↵bronzdoc
not needed anymore https://github.com/rubygems/rubygems/commit/930de86a24