1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Resync Bundler & RubyGems

This commit is contained in:
David Rodríguez 2022-09-07 07:13:04 +02:00 committed by Hiroshi SHIBATA
parent 2d57447ae8
commit 24fd2f73d0
Notes: git 2022-09-08 11:25:46 +09:00
86 changed files with 814 additions and 662 deletions
lib
spec/bundler
test/rubygems

View file

@ -22,14 +22,12 @@ Gem::Specification.new do |s|
s.summary = "The best way to manage your application's dependencies"
s.description = "Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably"
if s.respond_to?(:metadata=)
s.metadata = {
"bug_tracker_uri" => "https://github.com/rubygems/rubygems/issues?q=is%3Aopen+is%3Aissue+label%3ABundler",
"changelog_uri" => "https://github.com/rubygems/rubygems/blob/master/bundler/CHANGELOG.md",
"homepage_uri" => "https://bundler.io/",
"source_code_uri" => "https://github.com/rubygems/rubygems/",
}
end
s.metadata = {
"bug_tracker_uri" => "https://github.com/rubygems/rubygems/issues?q=is%3Aopen+is%3Aissue+label%3ABundler",
"changelog_uri" => "https://github.com/rubygems/rubygems/blob/master/bundler/CHANGELOG.md",
"homepage_uri" => "https://bundler.io/",
"source_code_uri" => "https://github.com/rubygems/rubygems/tree/master/bundler",
}
s.required_ruby_version = ">= 2.3.0"
s.required_rubygems_version = ">= 2.5.2"

View file

@ -517,7 +517,7 @@ module Bundler
end
end
desc "version", "Prints the bundler's version information"
desc "version", "Prints Bundler version information"
def version
cli_help = current_command.name == "cli_help"
if cli_help || ARGV.include?("version")

View file

@ -30,9 +30,9 @@ module Bundler
def get_constant(name)
const_name = {
"pry" => :Pry,
"pry" => :Pry,
"ripl" => :Ripl,
"irb" => :IRB,
"irb" => :IRB,
}[name]
Object.const_get(const_name)
rescue NameError

View file

@ -55,20 +55,20 @@ module Bundler
end
config = {
:name => name,
:name => name,
:underscored_name => underscored_name,
:namespaced_path => namespaced_path,
:makefile_path => "#{underscored_name}/#{underscored_name}",
:constant_name => constant_name,
:constant_array => constant_array,
:author => git_author_name.empty? ? "TODO: Write your name" : git_author_name,
:email => git_user_email.empty? ? "TODO: Write your email address" : git_user_email,
:test => options[:test],
:ext => options[:ext],
:exe => options[:exe],
:bundler_version => bundler_dependency_version,
:git => use_git,
:github_username => github_username.empty? ? "[USERNAME]" : github_username,
:namespaced_path => namespaced_path,
:makefile_path => "#{underscored_name}/#{underscored_name}",
:constant_name => constant_name,
:constant_array => constant_array,
:author => git_author_name.empty? ? "TODO: Write your name" : git_author_name,
:email => git_user_email.empty? ? "TODO: Write your email address" : git_user_email,
:test => options[:test],
:ext => options[:ext],
:exe => options[:exe],
:bundler_version => bundler_dependency_version,
:git => use_git,
:github_username => github_username.empty? ? "[USERNAME]" : github_username,
:required_ruby_version => required_ruby_version,
:minitest_constant_name => minitest_constant_name,
}

View file

@ -9,91 +9,22 @@ module Bundler
attr_reader :autorequire
attr_reader :groups, :platforms, :gemfile, :path, :git, :github, :branch, :ref, :force_ruby_platform
# rubocop:disable Naming/VariableNumber
ALL_RUBY_VERSIONS = ((18..27).to_a + (30..31).to_a).freeze
PLATFORM_MAP = {
:ruby => Gem::Platform::RUBY,
:ruby_18 => Gem::Platform::RUBY,
:ruby_19 => Gem::Platform::RUBY,
:ruby_20 => Gem::Platform::RUBY,
:ruby_21 => Gem::Platform::RUBY,
:ruby_22 => Gem::Platform::RUBY,
:ruby_23 => Gem::Platform::RUBY,
:ruby_24 => Gem::Platform::RUBY,
:ruby_25 => Gem::Platform::RUBY,
:ruby_26 => Gem::Platform::RUBY,
:ruby_27 => Gem::Platform::RUBY,
:ruby_30 => Gem::Platform::RUBY,
:ruby_31 => Gem::Platform::RUBY,
:mri => Gem::Platform::RUBY,
:mri_18 => Gem::Platform::RUBY,
:mri_19 => Gem::Platform::RUBY,
:mri_20 => Gem::Platform::RUBY,
:mri_21 => Gem::Platform::RUBY,
:mri_22 => Gem::Platform::RUBY,
:mri_23 => Gem::Platform::RUBY,
:mri_24 => Gem::Platform::RUBY,
:mri_25 => Gem::Platform::RUBY,
:mri_26 => Gem::Platform::RUBY,
:mri_27 => Gem::Platform::RUBY,
:mri_30 => Gem::Platform::RUBY,
:mri_31 => Gem::Platform::RUBY,
:rbx => Gem::Platform::RUBY,
:truffleruby => Gem::Platform::RUBY,
:jruby => Gem::Platform::JAVA,
:jruby_18 => Gem::Platform::JAVA,
:jruby_19 => Gem::Platform::JAVA,
:windows => Gem::Platform::WINDOWS,
:mswin => Gem::Platform::MSWIN,
:mswin_18 => Gem::Platform::MSWIN,
:mswin_19 => Gem::Platform::MSWIN,
:mswin_20 => Gem::Platform::MSWIN,
:mswin_21 => Gem::Platform::MSWIN,
:mswin_22 => Gem::Platform::MSWIN,
:mswin_23 => Gem::Platform::MSWIN,
:mswin_24 => Gem::Platform::MSWIN,
:mswin_25 => Gem::Platform::MSWIN,
:mswin_26 => Gem::Platform::MSWIN,
:mswin_27 => Gem::Platform::MSWIN,
:mswin_30 => Gem::Platform::MSWIN,
:mswin_31 => Gem::Platform::MSWIN,
:mswin64 => Gem::Platform::MSWIN64,
:mswin64_19 => Gem::Platform::MSWIN64,
:mswin64_20 => Gem::Platform::MSWIN64,
:mswin64_21 => Gem::Platform::MSWIN64,
:mswin64_22 => Gem::Platform::MSWIN64,
:mswin64_23 => Gem::Platform::MSWIN64,
:mswin64_24 => Gem::Platform::MSWIN64,
:mswin64_25 => Gem::Platform::MSWIN64,
:mswin64_26 => Gem::Platform::MSWIN64,
:mswin64_27 => Gem::Platform::MSWIN64,
:mswin64_30 => Gem::Platform::MSWIN64,
:mswin64_31 => Gem::Platform::MSWIN64,
:mingw => Gem::Platform::MINGW,
:mingw_18 => Gem::Platform::MINGW,
:mingw_19 => Gem::Platform::MINGW,
:mingw_20 => Gem::Platform::MINGW,
:mingw_21 => Gem::Platform::MINGW,
:mingw_22 => Gem::Platform::MINGW,
:mingw_23 => Gem::Platform::MINGW,
:mingw_24 => Gem::Platform::MINGW,
:mingw_25 => Gem::Platform::MINGW,
:mingw_26 => Gem::Platform::MINGW,
:mingw_27 => Gem::Platform::MINGW,
:mingw_30 => Gem::Platform::MINGW,
:mingw_31 => Gem::Platform::MINGW,
:x64_mingw => Gem::Platform::X64_MINGW,
:x64_mingw_20 => Gem::Platform::X64_MINGW,
:x64_mingw_21 => Gem::Platform::X64_MINGW,
:x64_mingw_22 => Gem::Platform::X64_MINGW,
:x64_mingw_23 => Gem::Platform::X64_MINGW,
:x64_mingw_24 => Gem::Platform::X64_MINGW,
:x64_mingw_25 => Gem::Platform::X64_MINGW,
:x64_mingw_26 => Gem::Platform::X64_MINGW,
:x64_mingw_27 => Gem::Platform::X64_MINGW,
:x64_mingw_30 => Gem::Platform::X64_MINGW,
:x64_mingw_31 => Gem::Platform::X64_MINGW,
}.freeze
# rubocop:enable Naming/VariableNumber
:ruby => [Gem::Platform::RUBY, ALL_RUBY_VERSIONS],
:mri => [Gem::Platform::RUBY, ALL_RUBY_VERSIONS],
:rbx => [Gem::Platform::RUBY],
:truffleruby => [Gem::Platform::RUBY],
:jruby => [Gem::Platform::JAVA, [18, 19]],
:windows => [Gem::Platform::WINDOWS, ALL_RUBY_VERSIONS],
:mswin => [Gem::Platform::MSWIN, ALL_RUBY_VERSIONS],
:mswin64 => [Gem::Platform::MSWIN64, ALL_RUBY_VERSIONS - [18]],
:mingw => [Gem::Platform::MINGW, ALL_RUBY_VERSIONS],
:x64_mingw => [Gem::Platform::X64_MINGW, ALL_RUBY_VERSIONS - [18, 19]],
}.each_with_object({}) do |(platform, spec), hash|
hash[platform] = spec[0]
spec[1]&.each {|version| hash[:"#{platform}_#{version}"] = spec[0] }
end.freeze
def initialize(name, version, options = {}, &blk)
type = options["type"] || :runtime

View file

@ -12,7 +12,7 @@ module Bundler
super()
@name = name
@version = Gem::Version.create version
@platform = platform.nil? ? nil : Gem::Platform.new(platform)
@platform = Gem::Platform.new(platform)
@spec_fetcher = spec_fetcher
@dependencies = dependencies.map {|dep, reqs| build_dependency(dep, reqs) }

View file

@ -114,10 +114,10 @@ module Bundler
@groups.each do |group|
g.add_nodes(
group, {
:style => "filled",
:style => "filled",
:fillcolor => "#B9B9D5",
:shape => "box3d",
:fontsize => 16,
:shape => "box3d",
:fontsize => 16,
}.merge(@node_options[group])
)
end

View file

@ -100,9 +100,9 @@ module Bundler
private
TYPES = {
GIT => Bundler::Source::Git,
GEM => Bundler::Source::Rubygems,
PATH => Bundler::Source::Path,
GIT => Bundler::Source::Git,
GEM => Bundler::Source::Rubygems,
PATH => Bundler::Source::Path,
PLUGIN => Bundler::Plugin,
}.freeze

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-ADD" "1" "August 2022" "" ""
.TH "BUNDLE\-ADD" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-BINSTUBS" "1" "August 2022" "" ""
.TH "BUNDLE\-BINSTUBS" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-binstubs\fR \- Install the binstubs of the listed gems

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-CACHE" "1" "August 2022" "" ""
.TH "BUNDLE\-CACHE" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-CHECK" "1" "August 2022" "" ""
.TH "BUNDLE\-CHECK" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-CLEAN" "1" "August 2022" "" ""
.TH "BUNDLE\-CLEAN" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-CONFIG" "1" "August 2022" "" ""
.TH "BUNDLE\-CONFIG" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-config\fR \- Set bundler configuration options

View file

@ -0,0 +1,53 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-CONSOLE" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-console\fR \- Deprecated way to open an IRB session with the bundle pre\-loaded
.
.SH "SYNOPSIS"
\fBbundle console\fR [GROUP]
.
.SH "DESCRIPTION"
Starts an interactive Ruby console session in the context of the current bundle\.
.
.P
If no \fBGROUP\fR is specified, all gems in the \fBdefault\fR group in the Gemfile(5) \fIhttps://bundler\.io/man/gemfile\.5\.html\fR are preliminarily loaded\.
.
.P
If \fBGROUP\fR is specified, all gems in the given group in the Gemfile in addition to the gems in \fBdefault\fR group are loaded\. Even if the given group does not exist in the Gemfile, IRB console starts without any warning or error\.
.
.P
The environment variable \fBBUNDLE_CONSOLE\fR or \fBbundle config set console\fR can be used to change the shell from the following:
.
.IP "\(bu" 4
\fBirb\fR (default)
.
.IP "\(bu" 4
\fBpry\fR (https://github\.com/pry/pry)
.
.IP "\(bu" 4
\fBripl\fR (https://github\.com/cldwalker/ripl)
.
.IP "" 0
.
.P
\fBbundle console\fR uses irb by default\. An alternative Pry or Ripl can be used with \fBbundle console\fR by adjusting the \fBconsole\fR Bundler setting\. Also make sure that \fBpry\fR or \fBripl\fR is in your Gemfile\.
.
.SH "EXAMPLE"
.
.nf
$ bundle config set console pry
$ bundle console
Resolving dependencies\.\.\.
[1] pry(main)>
.
.fi
.
.SH "NOTES"
This command was deprecated in Bundler 2\.1 and will be removed in 3\.0\. Use \fBbin/console\fR script, which can be generated by \fBbundle gem <NAME>\fR\.
.
.SH "SEE ALSO"
Gemfile(5) \fIhttps://bundler\.io/man/gemfile\.5\.html\fR

View file

@ -0,0 +1,44 @@
bundle-console(1) -- Deprecated way to open an IRB session with the bundle pre-loaded
=====================================================================================
## SYNOPSIS
`bundle console` [GROUP]
## DESCRIPTION
Starts an interactive Ruby console session in the context of the current bundle.
If no `GROUP` is specified, all gems in the `default` group in the [Gemfile(5)](https://bundler.io/man/gemfile.5.html) are
preliminarily loaded.
If `GROUP` is specified, all gems in the given group in the Gemfile in addition
to the gems in `default` group are loaded. Even if the given group does not
exist in the Gemfile, IRB console starts without any warning or error.
The environment variable `BUNDLE_CONSOLE` or `bundle config set console` can be used to change
the shell from the following:
* `irb` (default)
* `pry` (https://github.com/pry/pry)
* `ripl` (https://github.com/cldwalker/ripl)
`bundle console` uses irb by default. An alternative Pry or Ripl can be used with
`bundle console` by adjusting the `console` Bundler setting. Also make sure that
`pry` or `ripl` is in your Gemfile.
## EXAMPLE
$ bundle config set console pry
$ bundle console
Resolving dependencies...
[1] pry(main)>
## NOTES
This command was deprecated in Bundler 2.1 and will be removed in 3.0.
Use `bin/console` script, which can be generated by `bundle gem <NAME>`.
## SEE ALSO
[Gemfile(5)](https://bundler.io/man/gemfile.5.html)

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-DOCTOR" "1" "August 2022" "" ""
.TH "BUNDLE\-DOCTOR" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-doctor\fR \- Checks the bundle for common problems

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-EXEC" "1" "August 2022" "" ""
.TH "BUNDLE\-EXEC" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-exec\fR \- Execute a command in the context of the bundle

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-GEM" "1" "August 2022" "" ""
.TH "BUNDLE\-GEM" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-HELP" "1" "August 2022" "" ""
.TH "BUNDLE\-HELP" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-help\fR \- Displays detailed help for each subcommand

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-INFO" "1" "August 2022" "" ""
.TH "BUNDLE\-INFO" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-info\fR \- Show information for the given gem in your bundle

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-INIT" "1" "August 2022" "" ""
.TH "BUNDLE\-INIT" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-INJECT" "1" "August 2022" "" ""
.TH "BUNDLE\-INJECT" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-INSTALL" "1" "August 2022" "" ""
.TH "BUNDLE\-INSTALL" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-LIST" "1" "August 2022" "" ""
.TH "BUNDLE\-LIST" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-list\fR \- List all the gems in the bundle

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-LOCK" "1" "August 2022" "" ""
.TH "BUNDLE\-LOCK" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-lock\fR \- Creates / Updates a lockfile without installing

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-OPEN" "1" "August 2022" "" ""
.TH "BUNDLE\-OPEN" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-open\fR \- Opens the source directory for a gem in your bundle

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-OUTDATED" "1" "August 2022" "" ""
.TH "BUNDLE\-OUTDATED" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-outdated\fR \- List installed gems with newer versions available

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-PLATFORM" "1" "August 2022" "" ""
.TH "BUNDLE\-PLATFORM" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-platform\fR \- Displays platform compatibility information

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-PLUGIN" "1" "August 2022" "" ""
.TH "BUNDLE\-PLUGIN" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-plugin\fR \- Manage Bundler plugins

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-PRISTINE" "1" "August 2022" "" ""
.TH "BUNDLE\-PRISTINE" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-pristine\fR \- Restores installed gems to their pristine condition

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-REMOVE" "1" "August 2022" "" ""
.TH "BUNDLE\-REMOVE" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-remove\fR \- Removes gems from the Gemfile

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-SHOW" "1" "August 2022" "" ""
.TH "BUNDLE\-SHOW" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-UPDATE" "1" "August 2022" "" ""
.TH "BUNDLE\-UPDATE" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-update\fR \- Update your gems to the latest available versions

View file

@ -0,0 +1,35 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-VERSION" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-version\fR \- Prints Bundler version information
.
.SH "SYNOPSIS"
\fBbundle version\fR
.
.SH "DESCRIPTION"
Prints Bundler version information\.
.
.SH "OPTIONS"
No options\.
.
.SH "EXAMPLE"
Print the version of Bundler with build date and commit hash of the in the Git source\.
.
.IP "" 4
.
.nf
bundle version
.
.fi
.
.IP "" 0
.
.P
shows \fBBundler version 2\.3\.21 (2022\-08\-24 commit d54be5fdd8)\fR for example\.
.
.P
cf\. \fBbundle \-\-version\fR shows \fBBundler version 2\.3\.21\fR\.

View file

@ -0,0 +1,24 @@
bundle-version(1) -- Prints Bundler version information
=======================================================
## SYNOPSIS
`bundle version`
## DESCRIPTION
Prints Bundler version information.
## OPTIONS
No options.
## EXAMPLE
Print the version of Bundler with build date and commit hash of the in the Git source.
bundle version
shows `Bundler version 2.3.21 (2022-08-24 commit d54be5fdd8)` for example.
cf. `bundle --version` shows `Bundler version 2.3.21`.

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE\-VIZ" "1" "August 2022" "" ""
.TH "BUNDLE\-VIZ" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "BUNDLE" "1" "August 2022" "" ""
.TH "BUNDLE" "1" "September 2022" "" ""
.
.SH "NAME"
\fBbundle\fR \- Ruby Dependency Management
@ -124,6 +124,10 @@ Removes gems from the Gemfile
\fBbundle plugin(1)\fR \fIbundle\-plugin\.1\.html\fR
Manage Bundler plugins
.
.TP
\fBbundle version(1)\fR \fIbundle\-version\.1\.html\fR
Prints Bundler version information
.
.SH "PLUGINS"
When running a command that isn\'t listed in PRIMARY COMMANDS or UTILITIES, Bundler will try to find an executable on your path named \fBbundler\-<command>\fR and execute it, passing down any extra arguments to it\.
.

View file

@ -100,6 +100,9 @@ We divide `bundle` subcommands into primary commands and utilities:
* [`bundle plugin(1)`](bundle-plugin.1.html):
Manage Bundler plugins
* [`bundle version(1)`](bundle-version.1.html):
Prints Bundler version information
## PLUGINS
When running a command that isn't listed in PRIMARY COMMANDS or UTILITIES,

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "GEMFILE" "5" "August 2022" "" ""
.TH "GEMFILE" "5" "September 2022" "" ""
.
.SH "NAME"
\fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
@ -254,19 +254,15 @@ There are a number of \fBGemfile\fR platforms:
.
.TP
\fBruby\fR
C Ruby (MRI), Rubinius or TruffleRuby, but \fBNOT\fR Windows
C Ruby (MRI), Rubinius, or TruffleRuby, but not Windows
.
.TP
\fBmri\fR
Same as \fIruby\fR, but only C Ruby (MRI)
C Ruby (MRI) only, but not Windows
.
.TP
\fBmingw\fR
Windows 32 bit \'mingw32\' platform (aka RubyInstaller)
.
.TP
\fBx64_mingw\fR
Windows 64 bit \'mingw32\' platform (aka RubyInstaller x64)
\fBwindows\fR
Windows C Ruby (MRI), including RubyInstaller 32\-bit and 64\-bit versions
.
.TP
\fBrbx\fR
@ -280,15 +276,8 @@ JRuby
\fBtruffleruby\fR
TruffleRuby
.
.TP
\fBmswin\fR
Windows
.
.P
You can restrict further by platform and version for all platforms \fIexcept\fR for \fBrbx\fR, \fBjruby\fR, \fBtruffleruby\fR and \fBmswin\fR\.
.
.P
To specify a version in addition to a platform, append the version number without the delimiter to the platform\. For example, to specify that a gem should only be used on platforms with Ruby 2\.3, use:
On platforms \fBruby\fR, \fBmri\fR, and \fBwindows\fR, you may additionally specify a version by appending the major and minor version numbers without a delimiter\. For example, to specify that a gem should only be used on platform \fBruby\fR version 2\.3, use:
.
.IP "" 4
.
@ -301,26 +290,7 @@ ruby_23
.IP "" 0
.
.P
The full list of platforms and supported versions includes:
.
.TP
\fBruby\fR
1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
.
.TP
\fBmri\fR
1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
.
.TP
\fBmingw\fR
1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
.
.TP
\fBx64_mingw\fR
2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
.
.P
As with groups, you can specify one or more platforms:
As with groups (above), you may specify one or more platforms:
.
.IP "" 4
.
@ -328,7 +298,7 @@ As with groups, you can specify one or more platforms:
gem "weakling", platforms: :jruby
gem "ruby\-debug", platforms: :mri_18
gem "nokogiri", platforms: [:mri_18, :jruby]
gem "nokogiri", platforms: [:windows_26, :jruby]
.
.fi
.

View file

@ -190,47 +190,29 @@ platforms.
There are a number of `Gemfile` platforms:
* `ruby`:
C Ruby (MRI), Rubinius or TruffleRuby, but `NOT` Windows
C Ruby (MRI), Rubinius, or TruffleRuby, but not Windows
* `mri`:
Same as _ruby_, but only C Ruby (MRI)
* `mingw`:
Windows 32 bit 'mingw32' platform (aka RubyInstaller)
* `x64_mingw`:
Windows 64 bit 'mingw32' platform (aka RubyInstaller x64)
C Ruby (MRI) only, but not Windows
* `windows`:
Windows C Ruby (MRI), including RubyInstaller 32-bit and 64-bit versions
* `rbx`:
Rubinius
* `jruby`:
JRuby
* `truffleruby`:
TruffleRuby
* `mswin`:
Windows
You can restrict further by platform and version for all platforms *except* for
`rbx`, `jruby`, `truffleruby` and `mswin`.
To specify a version in addition to a platform, append the version number without
the delimiter to the platform. For example, to specify that a gem should only be
used on platforms with Ruby 2.3, use:
On platforms `ruby`, `mri`, and `windows`, you may additionally specify a version
by appending the major and minor version numbers without a delimiter. For example,
to specify that a gem should only be used on platform `ruby` version 2.3, use:
ruby_23
The full list of platforms and supported versions includes:
* `ruby`:
1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
* `mri`:
1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
* `mingw`:
1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
* `x64_mingw`:
2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
As with groups, you can specify one or more platforms:
As with groups (above), you may specify one or more platforms:
gem "weakling", platforms: :jruby
gem "ruby-debug", platforms: :mri_18
gem "nokogiri", platforms: [:mri_18, :jruby]
gem "nokogiri", platforms: [:windows_26, :jruby]
All operations involving groups ([`bundle install`](bundle-install.1.html), `Bundler.setup`,
`Bundler.require`) behave exactly the same as if any groups not

View file

@ -6,6 +6,7 @@ bundle-cache(1) bundle-cache.1
bundle-check(1) bundle-check.1
bundle-clean(1) bundle-clean.1
bundle-config(1) bundle-config.1
bundle-console(1) bundle-console.1
bundle-doctor(1) bundle-doctor.1
bundle-exec(1) bundle-exec.1
bundle-gem(1) bundle-gem.1
@ -24,4 +25,5 @@ bundle-pristine(1) bundle-pristine.1
bundle-remove(1) bundle-remove.1
bundle-show(1) bundle-show.1
bundle-update(1) bundle-update.1
bundle-version(1) bundle-version.1
bundle-viz(1) bundle-viz.1

View file

@ -167,11 +167,11 @@ module Bundler
# to be only String key value pairs)
def save_index
index = {
"commands" => @commands,
"hooks" => @hooks,
"load_paths" => @load_paths,
"commands" => @commands,
"hooks" => @hooks,
"load_paths" => @load_paths,
"plugin_paths" => @plugin_paths,
"sources" => @sources,
"sources" => @sources,
}
require_relative "../yaml_serializer"

View file

@ -169,13 +169,13 @@ module Bundler
installer = Bundler::RubyGemsGemInstaller.at(
path,
:security_policy => Bundler.rubygems.security_policies[Bundler.settings["trust-policy"]],
:install_dir => install_path.to_s,
:bin_dir => bin_path.to_s,
:security_policy => Bundler.rubygems.security_policies[Bundler.settings["trust-policy"]],
:install_dir => install_path.to_s,
:bin_dir => bin_path.to_s,
:ignore_dependencies => true,
:wrappers => true,
:env_shebang => true,
:build_args => options[:build_args],
:wrappers => true,
:env_shebang => true,
:build_args => options[:build_args],
:bundler_expected_checksum => spec.respond_to?(:checksum) && spec.checksum,
:bundler_extension_cache_path => extension_cache_path(spec)
)

View file

@ -73,8 +73,8 @@ class Gem::CommandManager
].freeze
ALIAS_COMMANDS = {
"i" => "install",
"login" => "signin",
"i" => "install",
"login" => "signin",
"logout" => "signout",
}.freeze

View file

@ -10,7 +10,7 @@ class Gem::Commands::FetchCommand < Gem::Command
def initialize
defaults = {
:suggest_alternate => true,
:version => Gem::Requirement.default,
:version => Gem::Requirement.default,
}
super "fetch", "Download a gem and place it in the current directory", defaults

View file

@ -21,10 +21,10 @@ class Gem::Commands::InstallCommand < Gem::Command
def initialize
defaults = Gem::DependencyInstaller::DEFAULT_OPTIONS.merge({
:format_executable => false,
:lock => true,
:lock => true,
:suggest_alternate => true,
:version => Gem::Requirement.default,
:without_groups => [],
:version => Gem::Requirement.default,
:without_groups => [],
})
defaults.merge!(install_update_options)

View file

@ -576,7 +576,7 @@ abort "#{deprecation_message}"
require_relative "../uninstaller"
ui = Gem::Uninstaller.new("gemcutter", :all => true, :ignore => true,
:version => "< 0.4")
:version => "< 0.4")
ui.uninstall
rescue Gem::InstallError
end

View file

@ -21,7 +21,7 @@ class Gem::Commands::UnpackCommand < Gem::Command
super "unpack", "Unpack an installed gem to the current directory",
:version => Gem::Requirement.default,
:target => Dir.pwd
:target => Dir.pwd
add_option("--target=DIR",
"target directory for unpacking") do |value, options|

View file

@ -16,16 +16,16 @@ class Gem::DependencyInstaller
extend Gem::Deprecate
DEFAULT_OPTIONS = { # :nodoc:
:env_shebang => false,
:document => %w[ri],
:domain => :both, # HACK dup
:force => false,
:format_executable => false, # HACK dup
:env_shebang => false,
:document => %w[ri],
:domain => :both, # HACK dup
:force => false,
:format_executable => false, # HACK dup
:ignore_dependencies => false,
:prerelease => false,
:security_policy => nil, # HACK NoSecurity requires OpenSSL. AlmostNo? Low?
:wrappers => true,
:build_args => nil,
:prerelease => false,
:security_policy => nil, # HACK NoSecurity requires OpenSSL. AlmostNo? Low?
:wrappers => true,
:build_args => nil,
:build_docs_in_background => false,
:install_as_default => false,
}.freeze
@ -230,22 +230,22 @@ class Gem::DependencyInstaller
@installed_gems = []
options = {
:bin_dir => @bin_dir,
:build_args => @build_args,
:document => @document,
:env_shebang => @env_shebang,
:force => @force,
:format_executable => @format_executable,
:bin_dir => @bin_dir,
:build_args => @build_args,
:document => @document,
:env_shebang => @env_shebang,
:force => @force,
:format_executable => @format_executable,
:ignore_dependencies => @ignore_dependencies,
:prerelease => @prerelease,
:security_policy => @security_policy,
:user_install => @user_install,
:wrappers => @wrappers,
:build_root => @build_root,
:install_as_default => @install_as_default,
:dir_mode => @dir_mode,
:data_mode => @data_mode,
:prog_mode => @prog_mode,
:prerelease => @prerelease,
:security_policy => @security_policy,
:user_install => @user_install,
:wrappers => @wrappers,
:build_root => @build_root,
:install_as_default => @install_as_default,
:dir_mode => @dir_mode,
:data_mode => @data_mode,
:prog_mode => @prog_mode,
}
options[:install_dir] = @install_dir if @only_install_dir

View file

@ -397,7 +397,7 @@ class Gem::Indexer
dst_name = File.join @dest_directory, file # REFACTOR: duped above
FileUtils.mv src_name, dst_name, :verbose => verbose,
:force => true
:force => true
File.utime newest_mtime, newest_mtime, dst_name
end

View file

@ -649,9 +649,9 @@ class Gem::Installer
def process_options # :nodoc:
@options = {
:bin_dir => nil,
:env_shebang => false,
:force => false,
:bin_dir => nil,
:env_shebang => false,
:force => false,
:only_install_dir => false,
:post_install_message => true,
}.merge options

View file

@ -103,22 +103,22 @@ class Gem::Package::TarHeader
fields = header.unpack UNPACK_FORMAT
new :name => fields.shift,
:mode => strict_oct(fields.shift),
:uid => oct_or_256based(fields.shift),
:gid => oct_or_256based(fields.shift),
:size => strict_oct(fields.shift),
:mtime => strict_oct(fields.shift),
new :name => fields.shift,
:mode => strict_oct(fields.shift),
:uid => oct_or_256based(fields.shift),
:gid => oct_or_256based(fields.shift),
:size => strict_oct(fields.shift),
:mtime => strict_oct(fields.shift),
:checksum => strict_oct(fields.shift),
:typeflag => fields.shift,
:linkname => fields.shift,
:magic => fields.shift,
:version => strict_oct(fields.shift),
:uname => fields.shift,
:gname => fields.shift,
:magic => fields.shift,
:version => strict_oct(fields.shift),
:uname => fields.shift,
:gname => fields.shift,
:devmajor => strict_oct(fields.shift),
:devminor => strict_oct(fields.shift),
:prefix => fields.shift,
:prefix => fields.shift,
:empty => empty
end

View file

@ -32,22 +32,22 @@
class Gem::RequestSet::GemDependencyAPI
ENGINE_MAP = { # :nodoc:
:jruby => %w[jruby],
:jruby_18 => %w[jruby],
:jruby_19 => %w[jruby],
:maglev => %w[maglev],
:mri => %w[ruby],
:mri_18 => %w[ruby],
:mri_19 => %w[ruby],
:mri_20 => %w[ruby],
:mri_21 => %w[ruby],
:rbx => %w[rbx],
:truffleruby => %w[truffleruby],
:ruby => %w[ruby rbx maglev truffleruby],
:ruby_18 => %w[ruby rbx maglev truffleruby],
:ruby_19 => %w[ruby rbx maglev truffleruby],
:ruby_20 => %w[ruby rbx maglev truffleruby],
:ruby_21 => %w[ruby rbx maglev truffleruby],
:jruby => %w[jruby],
:jruby_18 => %w[jruby],
:jruby_19 => %w[jruby],
:maglev => %w[maglev],
:mri => %w[ruby],
:mri_18 => %w[ruby],
:mri_19 => %w[ruby],
:mri_20 => %w[ruby],
:mri_21 => %w[ruby],
:rbx => %w[rbx],
:truffleruby => %w[truffleruby],
:ruby => %w[ruby rbx maglev truffleruby],
:ruby_18 => %w[ruby rbx maglev truffleruby],
:ruby_19 => %w[ruby rbx maglev truffleruby],
:ruby_20 => %w[ruby rbx maglev truffleruby],
:ruby_21 => %w[ruby rbx maglev truffleruby],
}.freeze
mswin = Gem::Platform.new "x86-mswin32"
@ -56,37 +56,37 @@ class Gem::RequestSet::GemDependencyAPI
x64_mingw = Gem::Platform.new "x64-mingw32"
PLATFORM_MAP = { # :nodoc:
:jruby => Gem::Platform::RUBY,
:jruby_18 => Gem::Platform::RUBY,
:jruby_19 => Gem::Platform::RUBY,
:maglev => Gem::Platform::RUBY,
:mingw => x86_mingw,
:mingw_18 => x86_mingw,
:mingw_19 => x86_mingw,
:mingw_20 => x86_mingw,
:mingw_21 => x86_mingw,
:mri => Gem::Platform::RUBY,
:mri_18 => Gem::Platform::RUBY,
:mri_19 => Gem::Platform::RUBY,
:mri_20 => Gem::Platform::RUBY,
:mri_21 => Gem::Platform::RUBY,
:mswin => mswin,
:mswin_18 => mswin,
:mswin_19 => mswin,
:mswin_20 => mswin,
:mswin_21 => mswin,
:mswin64 => mswin64,
:mswin64_19 => mswin64,
:mswin64_20 => mswin64,
:mswin64_21 => mswin64,
:rbx => Gem::Platform::RUBY,
:ruby => Gem::Platform::RUBY,
:ruby_18 => Gem::Platform::RUBY,
:ruby_19 => Gem::Platform::RUBY,
:ruby_20 => Gem::Platform::RUBY,
:ruby_21 => Gem::Platform::RUBY,
:truffleruby => Gem::Platform::RUBY,
:x64_mingw => x64_mingw,
:jruby => Gem::Platform::RUBY,
:jruby_18 => Gem::Platform::RUBY,
:jruby_19 => Gem::Platform::RUBY,
:maglev => Gem::Platform::RUBY,
:mingw => x86_mingw,
:mingw_18 => x86_mingw,
:mingw_19 => x86_mingw,
:mingw_20 => x86_mingw,
:mingw_21 => x86_mingw,
:mri => Gem::Platform::RUBY,
:mri_18 => Gem::Platform::RUBY,
:mri_19 => Gem::Platform::RUBY,
:mri_20 => Gem::Platform::RUBY,
:mri_21 => Gem::Platform::RUBY,
:mswin => mswin,
:mswin_18 => mswin,
:mswin_19 => mswin,
:mswin_20 => mswin,
:mswin_21 => mswin,
:mswin64 => mswin64,
:mswin64_19 => mswin64,
:mswin64_20 => mswin64,
:mswin64_21 => mswin64,
:rbx => Gem::Platform::RUBY,
:ruby => Gem::Platform::RUBY,
:ruby_18 => Gem::Platform::RUBY,
:ruby_19 => Gem::Platform::RUBY,
:ruby_20 => Gem::Platform::RUBY,
:ruby_21 => Gem::Platform::RUBY,
:truffleruby => Gem::Platform::RUBY,
:x64_mingw => x64_mingw,
:x64_mingw_20 => x64_mingw,
:x64_mingw_21 => x64_mingw,
}.freeze
@ -98,68 +98,68 @@ class Gem::RequestSet::GemDependencyAPI
tilde_gt_2_1_0 = Gem::Requirement.new "~> 2.1.0"
VERSION_MAP = { # :nodoc:
:jruby => gt_eq_0,
:jruby_18 => tilde_gt_1_8_0,
:jruby_19 => tilde_gt_1_9_0,
:maglev => gt_eq_0,
:mingw => gt_eq_0,
:mingw_18 => tilde_gt_1_8_0,
:mingw_19 => tilde_gt_1_9_0,
:mingw_20 => tilde_gt_2_0_0,
:mingw_21 => tilde_gt_2_1_0,
:mri => gt_eq_0,
:mri_18 => tilde_gt_1_8_0,
:mri_19 => tilde_gt_1_9_0,
:mri_20 => tilde_gt_2_0_0,
:mri_21 => tilde_gt_2_1_0,
:mswin => gt_eq_0,
:mswin_18 => tilde_gt_1_8_0,
:mswin_19 => tilde_gt_1_9_0,
:mswin_20 => tilde_gt_2_0_0,
:mswin_21 => tilde_gt_2_1_0,
:mswin64 => gt_eq_0,
:mswin64_19 => tilde_gt_1_9_0,
:mswin64_20 => tilde_gt_2_0_0,
:mswin64_21 => tilde_gt_2_1_0,
:rbx => gt_eq_0,
:ruby => gt_eq_0,
:ruby_18 => tilde_gt_1_8_0,
:ruby_19 => tilde_gt_1_9_0,
:ruby_20 => tilde_gt_2_0_0,
:ruby_21 => tilde_gt_2_1_0,
:truffleruby => gt_eq_0,
:x64_mingw => gt_eq_0,
:jruby => gt_eq_0,
:jruby_18 => tilde_gt_1_8_0,
:jruby_19 => tilde_gt_1_9_0,
:maglev => gt_eq_0,
:mingw => gt_eq_0,
:mingw_18 => tilde_gt_1_8_0,
:mingw_19 => tilde_gt_1_9_0,
:mingw_20 => tilde_gt_2_0_0,
:mingw_21 => tilde_gt_2_1_0,
:mri => gt_eq_0,
:mri_18 => tilde_gt_1_8_0,
:mri_19 => tilde_gt_1_9_0,
:mri_20 => tilde_gt_2_0_0,
:mri_21 => tilde_gt_2_1_0,
:mswin => gt_eq_0,
:mswin_18 => tilde_gt_1_8_0,
:mswin_19 => tilde_gt_1_9_0,
:mswin_20 => tilde_gt_2_0_0,
:mswin_21 => tilde_gt_2_1_0,
:mswin64 => gt_eq_0,
:mswin64_19 => tilde_gt_1_9_0,
:mswin64_20 => tilde_gt_2_0_0,
:mswin64_21 => tilde_gt_2_1_0,
:rbx => gt_eq_0,
:ruby => gt_eq_0,
:ruby_18 => tilde_gt_1_8_0,
:ruby_19 => tilde_gt_1_9_0,
:ruby_20 => tilde_gt_2_0_0,
:ruby_21 => tilde_gt_2_1_0,
:truffleruby => gt_eq_0,
:x64_mingw => gt_eq_0,
:x64_mingw_20 => tilde_gt_2_0_0,
:x64_mingw_21 => tilde_gt_2_1_0,
}.freeze
WINDOWS = { # :nodoc:
:mingw => :only,
:mingw_18 => :only,
:mingw_19 => :only,
:mingw_20 => :only,
:mingw_21 => :only,
:mri => :never,
:mri_18 => :never,
:mri_19 => :never,
:mri_20 => :never,
:mri_21 => :never,
:mswin => :only,
:mswin_18 => :only,
:mswin_19 => :only,
:mswin_20 => :only,
:mswin_21 => :only,
:mswin64 => :only,
:mswin64_19 => :only,
:mswin64_20 => :only,
:mswin64_21 => :only,
:rbx => :never,
:ruby => :never,
:ruby_18 => :never,
:ruby_19 => :never,
:ruby_20 => :never,
:ruby_21 => :never,
:x64_mingw => :only,
:mingw => :only,
:mingw_18 => :only,
:mingw_19 => :only,
:mingw_20 => :only,
:mingw_21 => :only,
:mri => :never,
:mri_18 => :never,
:mri_19 => :never,
:mri_20 => :never,
:mri_21 => :never,
:mswin => :only,
:mswin_18 => :only,
:mswin_19 => :only,
:mswin_20 => :only,
:mswin_21 => :only,
:mswin64 => :only,
:mswin64_19 => :only,
:mswin64_20 => :only,
:mswin64_21 => :only,
:rbx => :never,
:ruby => :never,
:ruby_18 => :never,
:ruby_19 => :never,
:ruby_20 => :never,
:ruby_21 => :never,
:x64_mingw => :only,
:x64_mingw_20 => :only,
:x64_mingw_21 => :only,
}.freeze

View file

@ -10,13 +10,13 @@ require_relative "version"
class Gem::Requirement
OPS = { #:nodoc:
"=" => lambda {|v, r| v == r },
"!=" => lambda {|v, r| v != r },
">" => lambda {|v, r| v > r },
"<" => lambda {|v, r| v < r },
">=" => lambda {|v, r| v >= r },
"<=" => lambda {|v, r| v <= r },
"~>" => lambda {|v, r| v >= r && v.release < r.bump },
"=" => lambda {|v, r| v == r },
"!=" => lambda {|v, r| v != r },
">" => lambda {|v, r| v > r },
"<" => lambda {|v, r| v < r },
">=" => lambda {|v, r| v >= r },
"<=" => lambda {|v, r| v <= r },
"~>" => lambda {|v, r| v >= r && v.release < r.bump },
}.freeze
SOURCE_SET_REQUIREMENT = Struct.new(:for_lockfile).new "!" # :nodoc:

View file

@ -376,8 +376,8 @@ module Gem::Security
# * The certificate contains a subject key identifier
EXTENSIONS = {
"basicConstraints" => "CA:FALSE",
"keyUsage" =>
"basicConstraints" => "CA:FALSE",
"keyUsage" =>
"keyEncipherment,dataEncipherment,digitalSignature",
"subjectKeyIdentifier" => "hash",
}.freeze

View file

@ -6,12 +6,12 @@ module Gem::Security
NoSecurity = Policy.new(
"No Security",
:verify_data => false,
:verify_signer => false,
:verify_chain => false,
:verify_root => false,
:only_trusted => false,
:only_signed => false
:verify_data => false,
:verify_signer => false,
:verify_chain => false,
:verify_root => false,
:only_trusted => false,
:only_signed => false
)
##
@ -24,12 +24,12 @@ module Gem::Security
AlmostNoSecurity = Policy.new(
"Almost No Security",
:verify_data => true,
:verify_signer => false,
:verify_chain => false,
:verify_root => false,
:only_trusted => false,
:only_signed => false
:verify_data => true,
:verify_signer => false,
:verify_chain => false,
:verify_root => false,
:only_trusted => false,
:only_signed => false
)
##
@ -41,12 +41,12 @@ module Gem::Security
LowSecurity = Policy.new(
"Low Security",
:verify_data => true,
:verify_signer => true,
:verify_chain => false,
:verify_root => false,
:only_trusted => false,
:only_signed => false
:verify_data => true,
:verify_signer => true,
:verify_chain => false,
:verify_root => false,
:only_trusted => false,
:only_signed => false
)
##
@ -60,12 +60,12 @@ module Gem::Security
MediumSecurity = Policy.new(
"Medium Security",
:verify_data => true,
:verify_signer => true,
:verify_chain => true,
:verify_root => true,
:only_trusted => true,
:only_signed => false
:verify_data => true,
:verify_signer => true,
:verify_chain => true,
:verify_root => true,
:only_trusted => true,
:only_signed => false
)
##
@ -79,12 +79,12 @@ module Gem::Security
HighSecurity = Policy.new(
"High Security",
:verify_data => true,
:verify_signer => true,
:verify_chain => true,
:verify_root => true,
:only_trusted => true,
:only_signed => true
:verify_data => true,
:verify_signer => true,
:verify_chain => true,
:verify_root => true,
:only_trusted => true,
:only_signed => true
)
##
@ -92,23 +92,23 @@ module Gem::Security
SigningPolicy = Policy.new(
"Signing Policy",
:verify_data => false,
:verify_signer => true,
:verify_chain => true,
:verify_root => true,
:only_trusted => false,
:only_signed => false
:verify_data => false,
:verify_signer => true,
:verify_chain => true,
:verify_root => true,
:only_trusted => false,
:only_signed => false
)
##
# Hash of configured security policies
Policies = {
"NoSecurity" => NoSecurity,
"NoSecurity" => NoSecurity,
"AlmostNoSecurity" => AlmostNoSecurity,
"LowSecurity" => LowSecurity,
"MediumSecurity" => MediumSecurity,
"HighSecurity" => HighSecurity,
"LowSecurity" => LowSecurity,
"MediumSecurity" => MediumSecurity,
"HighSecurity" => HighSecurity,
# SigningPolicy is not intended for use by `gem -P` so do not list it
}.freeze

View file

@ -8,7 +8,7 @@ class Gem::Security::TrustDir
# Default permissions for the trust directory and its contents
DEFAULT_PERMISSIONS = {
:trust_dir => 0700,
:trust_dir => 0700,
:trusted_cert => 0600,
}.freeze

View file

@ -12,8 +12,8 @@ class Gem::Source
include Gem::Text
FILES = { # :nodoc:
:released => "specs",
:latest => "latest_specs",
:released => "specs",
:latest => "latest_specs",
:prerelease => "prerelease_specs",
}.freeze

View file

@ -75,7 +75,7 @@ class Gem::Specification < Gem::BasicSpecification
SPECIFICATION_VERSION_HISTORY = { # :nodoc:
-1 => ["(RubyGems versions up to and including 0.7 did not have versioned specifications)"],
1 => [
1 => [
'Deprecated "test_suite_file" in favor of the new, but equivalent, "test_files"',
'"test_file=x" is a shortcut for "test_files=[x]"',
],
@ -93,10 +93,10 @@ class Gem::Specification < Gem::BasicSpecification
MARSHAL_FIELDS = { # :nodoc:
-1 => 16,
1 => 16,
2 => 16,
3 => 17,
4 => 18,
1 => 16,
2 => 16,
3 => 17,
4 => 18,
}.freeze
today = Time.now.utc
@ -124,35 +124,35 @@ class Gem::Specification < Gem::BasicSpecification
# Map of attribute names to default values.
@@default_value = {
:authors => [],
:autorequire => nil,
:bindir => "bin",
:cert_chain => [],
:date => nil,
:dependencies => [],
:description => nil,
:email => nil,
:executables => [],
:extensions => [],
:extra_rdoc_files => [],
:files => [],
:homepage => nil,
:licenses => [],
:metadata => {},
:name => nil,
:platform => Gem::Platform::RUBY,
:post_install_message => nil,
:rdoc_options => [],
:require_paths => ["lib"],
:required_ruby_version => Gem::Requirement.default,
:authors => [],
:autorequire => nil,
:bindir => "bin",
:cert_chain => [],
:date => nil,
:dependencies => [],
:description => nil,
:email => nil,
:executables => [],
:extensions => [],
:extra_rdoc_files => [],
:files => [],
:homepage => nil,
:licenses => [],
:metadata => {},
:name => nil,
:platform => Gem::Platform::RUBY,
:post_install_message => nil,
:rdoc_options => [],
:require_paths => ["lib"],
:required_ruby_version => Gem::Requirement.default,
:required_rubygems_version => Gem::Requirement.default,
:requirements => [],
:rubygems_version => Gem::VERSION,
:signing_key => nil,
:specification_version => CURRENT_SPECIFICATION_VERSION,
:summary => nil,
:test_files => [],
:version => nil,
:requirements => [],
:rubygems_version => Gem::VERSION,
:signing_key => nil,
:specification_version => CURRENT_SPECIFICATION_VERSION,
:summary => nil,
:test_files => [],
:version => nil,
}.freeze
# rubocop:disable Style/MutableConstant

View file

@ -19,9 +19,9 @@ class Gem::StubSpecification < Gem::BasicSpecification
# These are common require paths.
REQUIRE_PATHS = { # :nodoc:
"lib" => "lib".freeze,
"lib" => "lib".freeze,
"test" => "test".freeze,
"ext" => "ext".freeze,
"ext" => "ext".freeze,
}.freeze
# These are common require path lists. This hash is used to optimize

View file

@ -34,4 +34,110 @@ RSpec.describe Bundler::Dependency do
end
end
end
describe "PLATFORM_MAP" do
subject { described_class::PLATFORM_MAP }
# rubocop:disable Naming/VariableNumber
let(:platforms) do
{ :ruby => Gem::Platform::RUBY,
:ruby_18 => Gem::Platform::RUBY,
:ruby_19 => Gem::Platform::RUBY,
:ruby_20 => Gem::Platform::RUBY,
:ruby_21 => Gem::Platform::RUBY,
:ruby_22 => Gem::Platform::RUBY,
:ruby_23 => Gem::Platform::RUBY,
:ruby_24 => Gem::Platform::RUBY,
:ruby_25 => Gem::Platform::RUBY,
:ruby_26 => Gem::Platform::RUBY,
:ruby_27 => Gem::Platform::RUBY,
:ruby_30 => Gem::Platform::RUBY,
:ruby_31 => Gem::Platform::RUBY,
:mri => Gem::Platform::RUBY,
:mri_18 => Gem::Platform::RUBY,
:mri_19 => Gem::Platform::RUBY,
:mri_20 => Gem::Platform::RUBY,
:mri_21 => Gem::Platform::RUBY,
:mri_22 => Gem::Platform::RUBY,
:mri_23 => Gem::Platform::RUBY,
:mri_24 => Gem::Platform::RUBY,
:mri_25 => Gem::Platform::RUBY,
:mri_26 => Gem::Platform::RUBY,
:mri_27 => Gem::Platform::RUBY,
:mri_30 => Gem::Platform::RUBY,
:mri_31 => Gem::Platform::RUBY,
:rbx => Gem::Platform::RUBY,
:truffleruby => Gem::Platform::RUBY,
:jruby => Gem::Platform::JAVA,
:jruby_18 => Gem::Platform::JAVA,
:jruby_19 => Gem::Platform::JAVA,
:windows => Gem::Platform::WINDOWS,
:windows_18 => Gem::Platform::WINDOWS,
:windows_19 => Gem::Platform::WINDOWS,
:windows_20 => Gem::Platform::WINDOWS,
:windows_21 => Gem::Platform::WINDOWS,
:windows_22 => Gem::Platform::WINDOWS,
:windows_23 => Gem::Platform::WINDOWS,
:windows_24 => Gem::Platform::WINDOWS,
:windows_25 => Gem::Platform::WINDOWS,
:windows_26 => Gem::Platform::WINDOWS,
:windows_27 => Gem::Platform::WINDOWS,
:windows_30 => Gem::Platform::WINDOWS,
:windows_31 => Gem::Platform::WINDOWS,
:mswin => Gem::Platform::MSWIN,
:mswin_18 => Gem::Platform::MSWIN,
:mswin_19 => Gem::Platform::MSWIN,
:mswin_20 => Gem::Platform::MSWIN,
:mswin_21 => Gem::Platform::MSWIN,
:mswin_22 => Gem::Platform::MSWIN,
:mswin_23 => Gem::Platform::MSWIN,
:mswin_24 => Gem::Platform::MSWIN,
:mswin_25 => Gem::Platform::MSWIN,
:mswin_26 => Gem::Platform::MSWIN,
:mswin_27 => Gem::Platform::MSWIN,
:mswin_30 => Gem::Platform::MSWIN,
:mswin_31 => Gem::Platform::MSWIN,
:mswin64 => Gem::Platform::MSWIN64,
:mswin64_19 => Gem::Platform::MSWIN64,
:mswin64_20 => Gem::Platform::MSWIN64,
:mswin64_21 => Gem::Platform::MSWIN64,
:mswin64_22 => Gem::Platform::MSWIN64,
:mswin64_23 => Gem::Platform::MSWIN64,
:mswin64_24 => Gem::Platform::MSWIN64,
:mswin64_25 => Gem::Platform::MSWIN64,
:mswin64_26 => Gem::Platform::MSWIN64,
:mswin64_27 => Gem::Platform::MSWIN64,
:mswin64_30 => Gem::Platform::MSWIN64,
:mswin64_31 => Gem::Platform::MSWIN64,
:mingw => Gem::Platform::MINGW,
:mingw_18 => Gem::Platform::MINGW,
:mingw_19 => Gem::Platform::MINGW,
:mingw_20 => Gem::Platform::MINGW,
:mingw_21 => Gem::Platform::MINGW,
:mingw_22 => Gem::Platform::MINGW,
:mingw_23 => Gem::Platform::MINGW,
:mingw_24 => Gem::Platform::MINGW,
:mingw_25 => Gem::Platform::MINGW,
:mingw_26 => Gem::Platform::MINGW,
:mingw_27 => Gem::Platform::MINGW,
:mingw_30 => Gem::Platform::MINGW,
:mingw_31 => Gem::Platform::MINGW,
:x64_mingw => Gem::Platform::X64_MINGW,
:x64_mingw_20 => Gem::Platform::X64_MINGW,
:x64_mingw_21 => Gem::Platform::X64_MINGW,
:x64_mingw_22 => Gem::Platform::X64_MINGW,
:x64_mingw_23 => Gem::Platform::X64_MINGW,
:x64_mingw_24 => Gem::Platform::X64_MINGW,
:x64_mingw_25 => Gem::Platform::X64_MINGW,
:x64_mingw_26 => Gem::Platform::X64_MINGW,
:x64_mingw_27 => Gem::Platform::X64_MINGW,
:x64_mingw_30 => Gem::Platform::X64_MINGW,
:x64_mingw_31 => Gem::Platform::X64_MINGW }
end
# rubocop:enable Naming/VariableNumber
it "includes all platforms" do
expect(subject).to eq(platforms)
end
end
end

View file

@ -5,20 +5,20 @@ RSpec.describe "bundle fund" do
build_repo2 do
build_gem "has_funding_and_other_metadata" do |s|
s.metadata = {
"bug_tracker_uri" => "https://example.com/user/bestgemever/issues",
"changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md",
"bug_tracker_uri" => "https://example.com/user/bestgemever/issues",
"changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md",
"documentation_uri" => "https://www.example.info/gems/bestgemever/0.0.1",
"homepage_uri" => "https://bestgemever.example.io",
"mailing_list_uri" => "https://groups.example.com/bestgemever",
"funding_uri" => "https://example.com/has_funding_and_other_metadata/funding",
"source_code_uri" => "https://example.com/user/bestgemever",
"wiki_uri" => "https://example.com/user/bestgemever/wiki",
"homepage_uri" => "https://bestgemever.example.io",
"mailing_list_uri" => "https://groups.example.com/bestgemever",
"funding_uri" => "https://example.com/has_funding_and_other_metadata/funding",
"source_code_uri" => "https://example.com/user/bestgemever",
"wiki_uri" => "https://example.com/user/bestgemever/wiki",
}
end
build_gem "has_funding", "1.2.3" do |s|
s.metadata = {
"funding_uri" => "https://example.com/has_funding/funding",
"funding_uri" => "https://example.com/has_funding/funding",
}
end

View file

@ -23,8 +23,8 @@ RSpec.describe "bundle help" do
end
it "still outputs the old help for commands that do not have man pages yet" do
bundle "help version"
expect(out).to include("Prints the bundler's version information")
bundle "help fund"
expect(out).to include("Lists information about gems seeking funding assistance")
end
it "looks for a binary and executes it with --help option if it's named bundler-<task>" do

View file

@ -6,13 +6,13 @@ RSpec.describe "bundle info" do
build_repo2 do
build_gem "has_metadata" do |s|
s.metadata = {
"bug_tracker_uri" => "https://example.com/user/bestgemever/issues",
"changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md",
"bug_tracker_uri" => "https://example.com/user/bestgemever/issues",
"changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md",
"documentation_uri" => "https://www.example.info/gems/bestgemever/0.0.1",
"homepage_uri" => "https://bestgemever.example.io",
"mailing_list_uri" => "https://groups.example.com/bestgemever",
"source_code_uri" => "https://example.com/user/bestgemever",
"wiki_uri" => "https://example.com/user/bestgemever/wiki",
"homepage_uri" => "https://bestgemever.example.io",
"mailing_list_uri" => "https://groups.example.com/bestgemever",
"source_code_uri" => "https://example.com/user/bestgemever",
"wiki_uri" => "https://example.com/user/bestgemever/wiki",
}
end
end

View file

@ -475,7 +475,7 @@ RSpec.describe "bundle install with platform conditionals" do
gemfile <<-G
source "#{file_uri_for(gem_repo1)}"
gem "rack", :platform => [:mingw, :mswin, :x64_mingw, :jruby]
gem "rack", :platform => [:windows, :mingw, :mswin, :x64_mingw, :jruby]
G
bundle "install"

View file

@ -6,20 +6,20 @@ RSpec.describe "bundle install" do
build_repo2 do
build_gem "has_funding_and_other_metadata" do |s|
s.metadata = {
"bug_tracker_uri" => "https://example.com/user/bestgemever/issues",
"changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md",
"bug_tracker_uri" => "https://example.com/user/bestgemever/issues",
"changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md",
"documentation_uri" => "https://www.example.info/gems/bestgemever/0.0.1",
"homepage_uri" => "https://bestgemever.example.io",
"mailing_list_uri" => "https://groups.example.com/bestgemever",
"funding_uri" => "https://example.com/has_funding_and_other_metadata/funding",
"source_code_uri" => "https://example.com/user/bestgemever",
"wiki_uri" => "https://example.com/user/bestgemever/wiki",
"homepage_uri" => "https://bestgemever.example.io",
"mailing_list_uri" => "https://groups.example.com/bestgemever",
"funding_uri" => "https://example.com/has_funding_and_other_metadata/funding",
"source_code_uri" => "https://example.com/user/bestgemever",
"wiki_uri" => "https://example.com/user/bestgemever/wiki",
}
end
build_gem "has_funding", "1.2.3" do |s|
s.metadata = {
"funding_uri" => "https://example.com/has_funding/funding",
"funding_uri" => "https://example.com/has_funding/funding",
}
end

View file

@ -13,12 +13,12 @@ RSpec.describe "gemcutter's dependency API", :realworld => true do
require_relative "../support/artifice/endpoint_timeout"
@t = Thread.new do
server = Rack::Server.start(:app => EndpointTimeout,
:Host => "0.0.0.0",
:Port => port,
:server => "webrick",
server = Rack::Server.start(:app => EndpointTimeout,
:Host => "0.0.0.0",
:Port => port,
:server => "webrick",
:AccessLog => [],
:Logger => Spec::SilentLogger.new)
:Logger => Spec::SilentLogger.new)
server.start
end
@t.run

View file

@ -40,12 +40,12 @@ RSpec.describe "fetching dependencies with a mirrored source", :realworld => tru
require_relative "../support/artifice/endpoint_mirror_source"
@t = Thread.new do
Rack::Server.start(:app => EndpointMirrorSource,
:Host => "0.0.0.0",
:Port => @port,
:server => "webrick",
Rack::Server.start(:app => EndpointMirrorSource,
:Host => "0.0.0.0",
:Port => @port,
:server => "webrick",
:AccessLog => [],
:Logger => Spec::SilentLogger.new)
:Logger => Spec::SilentLogger.new)
end.run
wait_for_server("127.0.0.1", @port)

View file

@ -113,12 +113,12 @@ RSpec.describe "fetching dependencies with a not available mirror", :realworld =
require_relative "../support/artifice/endpoint"
@server_thread = Thread.new do
Rack::Server.start(:app => Endpoint,
:Host => host,
:Port => @server_port,
:server => "webrick",
Rack::Server.start(:app => Endpoint,
:Host => host,
:Port => @server_port,
:server => "webrick",
:AccessLog => [],
:Logger => Spec::SilentLogger.new)
:Logger => Spec::SilentLogger.new)
end.run
wait_for_server(host, @server_port)

View file

@ -70,9 +70,9 @@ class Endpoint < Sinatra::Base
spec = load_spec(name, version, platform, gem_repo)
next unless gem_names.include?(spec.name)
{
:name => spec.name,
:number => spec.version.version,
:platform => spec.platform.to_s,
:name => spec.name,
:number => spec.version.version,
:platform => spec.platform.to_s,
:dependencies => spec.dependencies.select {|dep| dep.type == :runtime }.map do |dep|
[dep.name, dep.requirement.requirements.map {|a| a.join(" ") }.join(", ")]
end,

View file

@ -68,14 +68,14 @@ module Spec
if RUBY_PLATFORM == "java"
:jruby
elsif ["x64-mingw32", "x64-mingw-ucrt"].include?(RUBY_PLATFORM)
:x64_mingw
:windows
else
:ruby
end
end
def not_local_tag
[:jruby, :x64_mingw, :ruby].find {|tag| tag != local_tag }
[:jruby, :windows, :ruby].find {|tag| tag != local_tag }
end
def local_ruby_engine
@ -88,7 +88,7 @@ module Spec
def not_local_engine_version
case not_local_tag
when :ruby, :x64_mingw
when :ruby, :windows
not_local_ruby_version
when :jruby
"1.6.1"

View file

@ -5,20 +5,20 @@ RSpec.describe "bundle update" do
build_repo2 do
build_gem "has_funding_and_other_metadata" do |s|
s.metadata = {
"bug_tracker_uri" => "https://example.com/user/bestgemever/issues",
"changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md",
"bug_tracker_uri" => "https://example.com/user/bestgemever/issues",
"changelog_uri" => "https://example.com/user/bestgemever/CHANGELOG.md",
"documentation_uri" => "https://www.example.info/gems/bestgemever/0.0.1",
"homepage_uri" => "https://bestgemever.example.io",
"mailing_list_uri" => "https://groups.example.com/bestgemever",
"funding_uri" => "https://example.com/has_funding_and_other_metadata/funding",
"source_code_uri" => "https://example.com/user/bestgemever",
"wiki_uri" => "https://example.com/user/bestgemever/wiki",
"homepage_uri" => "https://bestgemever.example.io",
"mailing_list_uri" => "https://groups.example.com/bestgemever",
"funding_uri" => "https://example.com/has_funding_and_other_metadata/funding",
"source_code_uri" => "https://example.com/user/bestgemever",
"wiki_uri" => "https://example.com/user/bestgemever/wiki",
}
end
build_gem "has_funding", "1.2.3" do |s|
s.metadata = {
"funding_uri" => "https://example.com/has_funding/funding",
"funding_uri" => "https://example.com/has_funding/funding",
}
end
end

View file

@ -1357,8 +1357,8 @@ class TestGem < Gem::TestCase
def test_setting_paths_does_not_warn_about_unknown_keys
stdout, stderr = capture_output do
Gem.paths = { "foo" => [],
"bar" => Object.new,
Gem.paths = { "foo" => [],
"bar" => Object.new,
"GEM_HOME" => Gem.paths.home,
"GEM_PATH" => "foo" }
end

View file

@ -669,10 +669,10 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
@cmd.handle_options %w[--system]
expected = {
:args => [],
:args => [],
:document => %w[ri],
:force => false,
:system => true,
:force => false,
:system => true,
}
assert_equal expected, @cmd.options
@ -688,10 +688,10 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
@cmd.handle_options %w[--system 1.3.7]
expected = {
:args => [],
:args => [],
:document => %w[ri],
:force => false,
:system => "1.3.7",
:force => false,
:system => "1.3.7",
}
assert_equal expected, @cmd.options

View file

@ -330,7 +330,7 @@ if you believe they were disclosed to a third party.
util_config_file
assert_equal({ :rubygems => "701229f217cdf23b1344c7b4b54ca97",
:other => "a5fdbb6ba150cbb83aad2bb2fede64c" }, @cfg.api_keys)
:other => "a5fdbb6ba150cbb83aad2bb2fede64c" }, @cfg.api_keys)
end
def test_load_api_keys_bad_permission

View file

@ -5,22 +5,22 @@ require "rubygems/ext/cargo_builder/link_flag_converter"
class TestGemExtCargoBuilderLinkFlagConverter < Gem::TestCase
CASES = {
test_search_path_basic: ["-L/usr/local/lib", ["-L", "native=/usr/local/lib"]],
test_search_path_space: ["-L /usr/local/lib", ["-L", "native=/usr/local/lib"]],
test_search_path_space_in_path: ["-L/usr/local/my\ lib", ["-L", "native=/usr/local/my\ lib"]],
test_simple_lib: ["-lfoo", ["-l", "foo"]],
test_lib_with_nonascii: ["-lws2_32", ["-l", "ws2_32"]],
test_simple_lib_space: ["-l foo", ["-l", "foo"]],
test_verbose_lib_space: ["--library=foo", ["-l", "foo"]],
test_libstatic_with_colon: ["-l:libssp.a", ["-l", "static=ssp"]],
test_libstatic_with_colon_space: ["-l :libssp.a", ["-l", "static=ssp"]],
test_search_path_basic: ["-L/usr/local/lib", ["-L", "native=/usr/local/lib"]],
test_search_path_space: ["-L /usr/local/lib", ["-L", "native=/usr/local/lib"]],
test_search_path_space_in_path: ["-L/usr/local/my\ lib", ["-L", "native=/usr/local/my\ lib"]],
test_simple_lib: ["-lfoo", ["-l", "foo"]],
test_lib_with_nonascii: ["-lws2_32", ["-l", "ws2_32"]],
test_simple_lib_space: ["-l foo", ["-l", "foo"]],
test_verbose_lib_space: ["--library=foo", ["-l", "foo"]],
test_libstatic_with_colon: ["-l:libssp.a", ["-l", "static=ssp"]],
test_libstatic_with_colon_space: ["-l :libssp.a", ["-l", "static=ssp"]],
test_unconventional_lib_with_colon: ["-l:ssp.a", ["-C", "link_arg=-l:ssp.a"]],
test_dylib_with_colon_space: ["-l :libssp.dylib", ["-l", "dylib=ssp"]],
test_so_with_colon_space: ["-l :libssp.so", ["-l", "dylib=ssp"]],
test_dll_with_colon_space: ["-l :libssp.dll", ["-l", "dylib=ssp"]],
test_framework: ["-F/some/path", ["-l", "framework=/some/path"]],
test_framework_space: ["-F /some/path", ["-l", "framework=/some/path"]],
test_non_lib_dash_l: ["test_rubygems_20220413-976-lemgf9/prefix", ["-C", "link_arg=test_rubygems_20220413-976-lemgf9/prefix"]],
test_dylib_with_colon_space: ["-l :libssp.dylib", ["-l", "dylib=ssp"]],
test_so_with_colon_space: ["-l :libssp.so", ["-l", "dylib=ssp"]],
test_dll_with_colon_space: ["-l :libssp.dll", ["-l", "dylib=ssp"]],
test_framework: ["-F/some/path", ["-l", "framework=/some/path"]],
test_framework_space: ["-F /some/path", ["-l", "framework=/some/path"]],
test_non_lib_dash_l: ["test_rubygems_20220413-976-lemgf9/prefix", ["-C", "link_arg=test_rubygems_20220413-976-lemgf9/prefix"]],
}.freeze
CASES.each do |test_name, (arg, expected)|

View file

@ -7,19 +7,19 @@ class TestGemPackageTarHeader < Gem::Package::TarTestCase
super
header = {
:name => "x",
:mode => 0644,
:uid => 1000,
:gid => 10000,
:size => 100,
:mtime => 12345,
:name => "x",
:mode => 0644,
:uid => 1000,
:gid => 10000,
:size => 100,
:mtime => 12345,
:typeflag => "0",
:linkname => "link",
:uname => "user",
:gname => "group",
:uname => "user",
:gname => "group",
:devmajor => 1,
:devminor => 2,
:prefix => "y",
:prefix => "y",
}
@tar_header = Gem::Package::TarHeader.new header
@ -76,10 +76,10 @@ class TestGemPackageTarHeader < Gem::Package::TarTestCase
def test_initialize_typeflag
header = {
:mode => "",
:name => "",
:prefix => "",
:size => "",
:mode => "",
:name => "",
:prefix => "",
:size => "",
:typeflag => "",
}

View file

@ -85,66 +85,66 @@ class TestGemPlatform < Gem::TestCase
def test_initialize
test_cases = {
"amd64-freebsd6" => ["amd64", "freebsd", "6"],
"hppa2.0w-hpux11.31" => ["hppa2.0w", "hpux", "11"],
"java" => [nil, "java", nil],
"jruby" => [nil, "java", nil],
"universal-dotnet" => ["universal", "dotnet", nil],
"universal-dotnet2.0" => ["universal", "dotnet", "2.0"],
"universal-dotnet4.0" => ["universal", "dotnet", "4.0"],
"powerpc-aix5.3.0.0" => ["powerpc", "aix", "5"],
"powerpc-darwin7" => ["powerpc", "darwin", "7"],
"powerpc-darwin8" => ["powerpc", "darwin", "8"],
"powerpc-linux" => ["powerpc", "linux", nil],
"powerpc64-linux" => ["powerpc64", "linux", nil],
"sparc-solaris2.10" => ["sparc", "solaris", "2.10"],
"sparc-solaris2.8" => ["sparc", "solaris", "2.8"],
"sparc-solaris2.9" => ["sparc", "solaris", "2.9"],
"universal-darwin8" => ["universal", "darwin", "8"],
"universal-darwin9" => ["universal", "darwin", "9"],
"universal-macruby" => ["universal", "macruby", nil],
"i386-cygwin" => ["x86", "cygwin", nil],
"i686-darwin" => ["x86", "darwin", nil],
"i686-darwin8.4.1" => ["x86", "darwin", "8"],
"i386-freebsd4.11" => ["x86", "freebsd", "4"],
"i386-freebsd5" => ["x86", "freebsd", "5"],
"i386-freebsd6" => ["x86", "freebsd", "6"],
"i386-freebsd7" => ["x86", "freebsd", "7"],
"i386-freebsd" => ["x86", "freebsd", nil],
"universal-freebsd" => ["universal", "freebsd", nil],
"i386-java1.5" => ["x86", "java", "1.5"],
"x86-java1.6" => ["x86", "java", "1.6"],
"i386-java1.6" => ["x86", "java", "1.6"],
"i686-linux" => ["x86", "linux", nil],
"i586-linux" => ["x86", "linux", nil],
"i486-linux" => ["x86", "linux", nil],
"i386-linux" => ["x86", "linux", nil],
"i586-linux-gnu" => ["x86", "linux", "gnu"],
"i386-linux-gnu" => ["x86", "linux", "gnu"],
"i386-mingw32" => ["x86", "mingw32", nil],
"x64-mingw-ucrt" => ["x64", "mingw", "ucrt"],
"i386-mswin32" => ["x86", "mswin32", nil],
"i386-mswin32_80" => ["x86", "mswin32", "80"],
"i386-mswin32-80" => ["x86", "mswin32", "80"],
"x86-mswin32" => ["x86", "mswin32", nil],
"x86-mswin32_60" => ["x86", "mswin32", "60"],
"x86-mswin32-60" => ["x86", "mswin32", "60"],
"i386-netbsdelf" => ["x86", "netbsdelf", nil],
"i386-openbsd4.0" => ["x86", "openbsd", "4.0"],
"i386-solaris2.10" => ["x86", "solaris", "2.10"],
"i386-solaris2.8" => ["x86", "solaris", "2.8"],
"mswin32" => ["x86", "mswin32", nil],
"x86_64-linux" => ["x86_64", "linux", nil],
"x86_64-linux-gnu" => ["x86_64", "linux", "gnu"],
"x86_64-linux-musl" => ["x86_64", "linux", "musl"],
"x86_64-linux-uclibc" => ["x86_64", "linux", "uclibc"],
"arm-linux-eabi" => ["arm", "linux", "eabi"],
"arm-linux-gnueabi" => ["arm", "linux", "gnueabi"],
"arm-linux-musleabi" => ["arm", "linux", "musleabi"],
"arm-linux-uclibceabi" => ["arm", "linux", "uclibceabi"],
"x86_64-openbsd3.9" => ["x86_64", "openbsd", "3.9"],
"x86_64-openbsd4.0" => ["x86_64", "openbsd", "4.0"],
"x86_64-openbsd" => ["x86_64", "openbsd", nil],
"amd64-freebsd6" => ["amd64", "freebsd", "6"],
"hppa2.0w-hpux11.31" => ["hppa2.0w", "hpux", "11"],
"java" => [nil, "java", nil],
"jruby" => [nil, "java", nil],
"universal-dotnet" => ["universal", "dotnet", nil],
"universal-dotnet2.0" => ["universal", "dotnet", "2.0"],
"universal-dotnet4.0" => ["universal", "dotnet", "4.0"],
"powerpc-aix5.3.0.0" => ["powerpc", "aix", "5"],
"powerpc-darwin7" => ["powerpc", "darwin", "7"],
"powerpc-darwin8" => ["powerpc", "darwin", "8"],
"powerpc-linux" => ["powerpc", "linux", nil],
"powerpc64-linux" => ["powerpc64", "linux", nil],
"sparc-solaris2.10" => ["sparc", "solaris", "2.10"],
"sparc-solaris2.8" => ["sparc", "solaris", "2.8"],
"sparc-solaris2.9" => ["sparc", "solaris", "2.9"],
"universal-darwin8" => ["universal", "darwin", "8"],
"universal-darwin9" => ["universal", "darwin", "9"],
"universal-macruby" => ["universal", "macruby", nil],
"i386-cygwin" => ["x86", "cygwin", nil],
"i686-darwin" => ["x86", "darwin", nil],
"i686-darwin8.4.1" => ["x86", "darwin", "8"],
"i386-freebsd4.11" => ["x86", "freebsd", "4"],
"i386-freebsd5" => ["x86", "freebsd", "5"],
"i386-freebsd6" => ["x86", "freebsd", "6"],
"i386-freebsd7" => ["x86", "freebsd", "7"],
"i386-freebsd" => ["x86", "freebsd", nil],
"universal-freebsd" => ["universal", "freebsd", nil],
"i386-java1.5" => ["x86", "java", "1.5"],
"x86-java1.6" => ["x86", "java", "1.6"],
"i386-java1.6" => ["x86", "java", "1.6"],
"i686-linux" => ["x86", "linux", nil],
"i586-linux" => ["x86", "linux", nil],
"i486-linux" => ["x86", "linux", nil],
"i386-linux" => ["x86", "linux", nil],
"i586-linux-gnu" => ["x86", "linux", "gnu"],
"i386-linux-gnu" => ["x86", "linux", "gnu"],
"i386-mingw32" => ["x86", "mingw32", nil],
"x64-mingw-ucrt" => ["x64", "mingw", "ucrt"],
"i386-mswin32" => ["x86", "mswin32", nil],
"i386-mswin32_80" => ["x86", "mswin32", "80"],
"i386-mswin32-80" => ["x86", "mswin32", "80"],
"x86-mswin32" => ["x86", "mswin32", nil],
"x86-mswin32_60" => ["x86", "mswin32", "60"],
"x86-mswin32-60" => ["x86", "mswin32", "60"],
"i386-netbsdelf" => ["x86", "netbsdelf", nil],
"i386-openbsd4.0" => ["x86", "openbsd", "4.0"],
"i386-solaris2.10" => ["x86", "solaris", "2.10"],
"i386-solaris2.8" => ["x86", "solaris", "2.8"],
"mswin32" => ["x86", "mswin32", nil],
"x86_64-linux" => ["x86_64", "linux", nil],
"x86_64-linux-gnu" => ["x86_64", "linux", "gnu"],
"x86_64-linux-musl" => ["x86_64", "linux", "musl"],
"x86_64-linux-uclibc" => ["x86_64", "linux", "uclibc"],
"arm-linux-eabi" => ["arm", "linux", "eabi"],
"arm-linux-gnueabi" => ["arm", "linux", "gnueabi"],
"arm-linux-musleabi" => ["arm", "linux", "musleabi"],
"arm-linux-uclibceabi" => ["arm", "linux", "uclibceabi"],
"x86_64-openbsd3.9" => ["x86_64", "openbsd", "3.9"],
"x86_64-openbsd4.0" => ["x86_64", "openbsd", "4.0"],
"x86_64-openbsd" => ["x86_64", "openbsd", nil],
}
test_cases.each do |arch, expected|

View file

@ -1174,10 +1174,10 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
def start_server(data)
null_logger = NilLog.new
s = WEBrick::HTTPServer.new(
:Port => 0,
:DocumentRoot => nil,
:Logger => null_logger,
:AccessLog => null_logger
:Port => 0,
:DocumentRoot => nil,
:Logger => null_logger,
:AccessLog => null_logger
)
s.mount_proc("/kill") {|req, res| s.shutdown }
s.mount_proc("/yaml") do |req, res|

View file

@ -110,7 +110,7 @@ Gems to install:
end
options = {
:gemdeps => "gem.deps.rb",
:gemdeps => "gem.deps.rb",
:install_dir => "#{@gemhome}2",
}
@ -575,7 +575,7 @@ ruby "0"
rs.resolve
options = {
:development => true,
:development => true,
:development_shallow => true,
}

View file

@ -36,9 +36,9 @@ class TestGemResolverAPISet < Gem::TestCase
spec_fetcher
data = [
{ :name => "a",
:number => "1",
:platform => "ruby",
{ :name => "a",
:number => "1",
:platform => "ruby",
:dependencies => [] },
]
@ -59,13 +59,13 @@ class TestGemResolverAPISet < Gem::TestCase
spec_fetcher
data = [
{ :name => "a",
:number => "1",
:platform => "ruby",
{ :name => "a",
:number => "1",
:platform => "ruby",
:dependencies => [] },
{ :name => "a",
:number => "2.a",
:platform => "ruby",
{ :name => "a",
:number => "2.a",
:platform => "ruby",
:dependencies => [] },
]
@ -88,9 +88,9 @@ class TestGemResolverAPISet < Gem::TestCase
spec_fetcher
data = [
{ :name => "a",
:number => "1",
:platform => "ruby",
{ :name => "a",
:number => "1",
:platform => "ruby",
:dependencies => [] },
]

View file

@ -5,8 +5,8 @@ class TestGemResolverAPISpecification < Gem::TestCase
def test_initialize
set = Gem::Resolver::APISet.new
data = {
:name => "rails",
:number => "3.0.3",
:name => "rails",
:number => "3.0.3",
:platform => Gem::Platform.local.to_s,
:dependencies => [
["bundler", "~> 1.0"],
@ -44,8 +44,8 @@ class TestGemResolverAPISpecification < Gem::TestCase
set = Gem::Resolver::APISet.new repo
data = {
:name => "rails",
:number => "3.0.3",
:name => "rails",
:number => "3.0.3",
:platform => "ruby",
:dependencies => [
["bundler", "~> 1.0"],
@ -71,8 +71,8 @@ class TestGemResolverAPISpecification < Gem::TestCase
def test_installable_platform_eh
set = Gem::Resolver::APISet.new
data = {
:name => "a",
:number => "1",
:name => "a",
:number => "1",
:platform => "ruby",
:dependencies => [],
}
@ -82,8 +82,8 @@ class TestGemResolverAPISpecification < Gem::TestCase
assert a_spec.installable_platform?
data = {
:name => "b",
:number => "1",
:name => "b",
:number => "1",
:platform => "cpu-other_platform-1",
:dependencies => [],
}
@ -93,8 +93,8 @@ class TestGemResolverAPISpecification < Gem::TestCase
refute b_spec.installable_platform?
data = {
:name => "c",
:number => "1",
:name => "c",
:number => "1",
:platform => Gem::Platform.local.to_s,
:dependencies => [],
}
@ -107,9 +107,9 @@ class TestGemResolverAPISpecification < Gem::TestCase
def test_source
set = Gem::Resolver::APISet.new
data = {
:name => "a",
:number => "1",
:platform => "ruby",
:name => "a",
:number => "1",
:platform => "ruby",
:dependencies => [],
}
@ -126,9 +126,9 @@ class TestGemResolverAPISpecification < Gem::TestCase
dep_uri = URI(@gem_repo) + "info"
set = Gem::Resolver::APISet.new dep_uri
data = {
:name => "a",
:number => "1",
:platform => "ruby",
:name => "a",
:number => "1",
:platform => "ruby",
:dependencies => [],
}
@ -150,9 +150,9 @@ class TestGemResolverAPISpecification < Gem::TestCase
dep_uri = URI(@gem_repo) + "info"
set = Gem::Resolver::APISet.new dep_uri
data = {
:name => "j",
:number => "1",
:platform => "jruby",
:name => "j",
:number => "1",
:platform => "jruby",
:dependencies => [],
}

View file

@ -43,22 +43,22 @@ class TestGemSecurityPolicy < Gem::TestCase
@chain = Gem::Security::Policy.new(
"Chain",
:verify_data => true,
:verify_data => true,
:verify_signer => true,
:verify_chain => true,
:verify_root => false,
:only_trusted => false,
:only_signed => false
:verify_chain => true,
:verify_root => false,
:only_trusted => false,
:only_signed => false
)
@root = Gem::Security::Policy.new(
"Root",
:verify_data => true,
:verify_data => true,
:verify_signer => true,
:verify_chain => true,
:verify_root => true,
:only_trusted => false,
:only_signed => false
:verify_chain => true,
:verify_root => true,
:only_trusted => false,
:only_signed => false
)
end

View file

@ -1866,9 +1866,9 @@ dependencies: []
def test_full_name_windows
test_cases = {
"i386-mswin32" => "a-1-x86-mswin32-60",
"i386-mswin32_80" => "a-1-x86-mswin32-80",
"i386-mingw32" => "a-1-x86-mingw32",
"i386-mswin32" => "a-1-x86-mswin32-60",
"i386-mswin32_80" => "a-1-x86-mswin32-80",
"i386-mingw32" => "a-1-x86-mingw32",
}
test_cases.each do |arch, expected|
@ -1969,10 +1969,10 @@ dependencies: []
assert_equal Gem::Platform::RUBY, @a1.platform
test_cases = {
"i386-mswin32" => ["x86", "mswin32", "60"],
"i386-mswin32" => ["x86", "mswin32", "60"],
"i386-mswin32_80" => ["x86", "mswin32", "80"],
"i386-mingw32" => ["x86", "mingw32", nil ],
"x86-darwin8" => ["x86", "darwin", "8" ],
"i386-mingw32" => ["x86", "mingw32", nil ],
"x86-darwin8" => ["x86", "darwin", "8" ],
}
test_cases.each do |arch, expected|
@ -3449,10 +3449,10 @@ Did you mean 'Ruby'?
@m1 = quick_gem "m", "1" do |s|
s.files = %w[lib/code.rb]
s.metadata = {
"one" => "two",
"home" => "three",
"one" => "two",
"home" => "three",
"homepage_uri" => "https://example.com/user/repo",
"funding_uri" => "https://example.com/donate",
"funding_uri" => "https://example.com/donate",
}
end

View file

@ -372,7 +372,7 @@ create_makefile '#{@spec.name}'
@user_spec = Gem::Specification.find_by_name "b"
uninstaller = Gem::Uninstaller.new(@user_spec.name,
:executables => true,
:executables => true,
:user_install => true)
gem_dir = File.join @user_spec.gem_dir