rubygems-update 3.3.19 → 3.3.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (176) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -0
  3. data/Manifest.txt +11 -1
  4. data/bin/update_rubygems +1 -1
  5. data/bundler/CHANGELOG.md +71 -0
  6. data/bundler/UPGRADING.md +11 -4
  7. data/bundler/bundler.gemspec +6 -8
  8. data/bundler/lib/bundler/build_metadata.rb +2 -2
  9. data/bundler/lib/bundler/cli/install.rb +5 -2
  10. data/bundler/lib/bundler/cli/outdated.rb +12 -3
  11. data/bundler/lib/bundler/cli/platform.rb +1 -1
  12. data/bundler/lib/bundler/cli.rb +7 -4
  13. data/bundler/lib/bundler/current_ruby.rb +14 -5
  14. data/bundler/lib/bundler/definition.rb +85 -33
  15. data/bundler/lib/bundler/dependency.rb +18 -85
  16. data/bundler/lib/bundler/endpoint_specification.rb +2 -13
  17. data/bundler/lib/bundler/feature_flag.rb +0 -1
  18. data/bundler/lib/bundler/fetcher.rb +6 -6
  19. data/bundler/lib/bundler/gem_helpers.rb +7 -1
  20. data/bundler/lib/bundler/gem_version_promoter.rb +8 -18
  21. data/bundler/lib/bundler/injector.rb +2 -1
  22. data/bundler/lib/bundler/inline.rb +1 -1
  23. data/bundler/lib/bundler/installer/standalone.rb +1 -1
  24. data/bundler/lib/bundler/installer.rb +14 -12
  25. data/bundler/lib/bundler/lazy_specification.rb +23 -25
  26. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  27. data/bundler/lib/bundler/man/bundle-add.1 +6 -2
  28. data/bundler/lib/bundler/man/bundle-add.1.ronn +4 -1
  29. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  30. data/bundler/lib/bundler/man/bundle-cache.1 +7 -1
  31. data/bundler/lib/bundler/man/bundle-cache.1.ronn +7 -0
  32. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  33. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  34. data/bundler/lib/bundler/man/bundle-config.1 +13 -4
  35. data/bundler/lib/bundler/man/bundle-config.1.ronn +7 -4
  36. data/bundler/lib/bundler/man/bundle-console.1 +53 -0
  37. data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
  38. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  39. data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
  40. data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
  41. data/bundler/lib/bundler/man/bundle-help.1 +13 -0
  42. data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
  43. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  44. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  45. data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
  46. data/bundler/lib/bundler/man/bundle-install.1 +5 -1
  47. data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -0
  48. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  49. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  50. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  51. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  52. data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
  53. data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
  54. data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
  55. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  56. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  57. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  58. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  59. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  60. data/bundler/lib/bundler/man/bundle-version.1 +35 -0
  61. data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
  62. data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
  63. data/bundler/lib/bundler/man/bundle.1 +13 -8
  64. data/bundler/lib/bundler/man/bundle.1.ronn +10 -5
  65. data/bundler/lib/bundler/man/gemfile.5 +8 -38
  66. data/bundler/lib/bundler/man/gemfile.5.ronn +9 -27
  67. data/bundler/lib/bundler/man/index.txt +4 -0
  68. data/bundler/lib/bundler/match_metadata.rb +13 -0
  69. data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
  70. data/bundler/lib/bundler/plugin.rb +2 -0
  71. data/bundler/lib/bundler/remote_specification.rb +1 -7
  72. data/bundler/lib/bundler/resolver/base.rb +50 -0
  73. data/bundler/lib/bundler/resolver/spec_group.rb +11 -8
  74. data/bundler/lib/bundler/resolver.rb +94 -88
  75. data/bundler/lib/bundler/ruby_dsl.rb +1 -1
  76. data/bundler/lib/bundler/ruby_version.rb +5 -5
  77. data/bundler/lib/bundler/rubygems_ext.rb +52 -1
  78. data/bundler/lib/bundler/settings.rb +0 -1
  79. data/bundler/lib/bundler/source/metadata.rb +1 -1
  80. data/bundler/lib/bundler/source_list.rb +4 -0
  81. data/bundler/lib/bundler/spec_set.rb +41 -34
  82. data/bundler/lib/bundler/version.rb +1 -1
  83. data/bundler/lib/bundler.rb +3 -4
  84. data/lib/rubygems/available_set.rb +3 -3
  85. data/lib/rubygems/basic_specification.rb +2 -2
  86. data/lib/rubygems/command.rb +6 -6
  87. data/lib/rubygems/commands/cert_command.rb +1 -1
  88. data/lib/rubygems/commands/cleanup_command.rb +1 -1
  89. data/lib/rubygems/commands/contents_command.rb +1 -1
  90. data/lib/rubygems/commands/dependency_command.rb +4 -4
  91. data/lib/rubygems/commands/fetch_command.rb +2 -2
  92. data/lib/rubygems/commands/generate_index_command.rb +2 -2
  93. data/lib/rubygems/commands/install_command.rb +7 -7
  94. data/lib/rubygems/commands/pristine_command.rb +5 -5
  95. data/lib/rubygems/commands/setup_command.rb +4 -4
  96. data/lib/rubygems/commands/sources_command.rb +3 -3
  97. data/lib/rubygems/commands/specification_command.rb +2 -2
  98. data/lib/rubygems/commands/uninstall_command.rb +4 -4
  99. data/lib/rubygems/commands/update_command.rb +5 -5
  100. data/lib/rubygems/commands/which_command.rb +1 -1
  101. data/lib/rubygems/config_file.rb +7 -7
  102. data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
  103. data/lib/rubygems/defaults.rb +1 -1
  104. data/lib/rubygems/dependency.rb +5 -5
  105. data/lib/rubygems/dependency_installer.rb +5 -5
  106. data/lib/rubygems/dependency_list.rb +4 -4
  107. data/lib/rubygems/doctor.rb +4 -4
  108. data/lib/rubygems/exceptions.rb +1 -1
  109. data/lib/rubygems/ext/ext_conf_builder.rb +2 -2
  110. data/lib/rubygems/gemcutter_utilities.rb +1 -1
  111. data/lib/rubygems/indexer.rb +3 -3
  112. data/lib/rubygems/installer.rb +5 -13
  113. data/lib/rubygems/name_tuple.rb +3 -3
  114. data/lib/rubygems/package/tar_header.rb +17 -17
  115. data/lib/rubygems/package/tar_writer.rb +1 -1
  116. data/lib/rubygems/package.rb +19 -8
  117. data/lib/rubygems/platform.rb +30 -19
  118. data/lib/rubygems/query_utils.rb +8 -8
  119. data/lib/rubygems/remote_fetcher.rb +3 -3
  120. data/lib/rubygems/request/connection_pools.rb +2 -2
  121. data/lib/rubygems/request/http_pool.rb +1 -1
  122. data/lib/rubygems/request.rb +1 -1
  123. data/lib/rubygems/request_set/gem_dependency_api.rb +3 -3
  124. data/lib/rubygems/request_set/lockfile/parser.rb +12 -12
  125. data/lib/rubygems/request_set/lockfile/tokenizer.rb +2 -2
  126. data/lib/rubygems/request_set.rb +3 -3
  127. data/lib/rubygems/requirement.rb +1 -1
  128. data/lib/rubygems/resolver/api_specification.rb +4 -4
  129. data/lib/rubygems/resolver/best_set.rb +3 -3
  130. data/lib/rubygems/resolver/conflict.rb +3 -3
  131. data/lib/rubygems/resolver/git_specification.rb +3 -3
  132. data/lib/rubygems/resolver/index_specification.rb +3 -2
  133. data/lib/rubygems/resolver/installed_specification.rb +2 -2
  134. data/lib/rubygems/resolver/installer_set.rb +7 -12
  135. data/lib/rubygems/resolver/lock_set.rb +1 -1
  136. data/lib/rubygems/resolver/lock_specification.rb +1 -1
  137. data/lib/rubygems/resolver/vendor_specification.rb +3 -3
  138. data/lib/rubygems/resolver.rb +4 -4
  139. data/lib/rubygems/security/policy.rb +6 -6
  140. data/lib/rubygems/security/signer.rb +1 -1
  141. data/lib/rubygems/security.rb +1 -1
  142. data/lib/rubygems/source/git.rb +4 -4
  143. data/lib/rubygems/source.rb +1 -1
  144. data/lib/rubygems/spec_fetcher.rb +1 -1
  145. data/lib/rubygems/specification.rb +26 -24
  146. data/lib/rubygems/specification_policy.rb +4 -4
  147. data/lib/rubygems/uninstaller.rb +4 -4
  148. data/lib/rubygems/user_interaction.rb +2 -2
  149. data/lib/rubygems/version.rb +12 -4
  150. data/lib/rubygems.rb +8 -8
  151. data/rubygems-update.gemspec +1 -1
  152. data/setup.rb +1 -1
  153. data/test/rubygems/helper.rb +5 -7
  154. data/test/rubygems/test_gem_commands_info_command.rb +26 -0
  155. data/test/rubygems/test_gem_config_file.rb +17 -5
  156. data/test/rubygems/test_gem_dependency_installer.rb +2 -2
  157. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +4 -4
  158. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
  159. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +1 -1
  160. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +4 -4
  161. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  162. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +1 -1
  163. data/test/rubygems/test_gem_installer.rb +6 -3
  164. data/test/rubygems/test_gem_package.rb +22 -0
  165. data/test/rubygems/test_gem_package_tar_reader.rb +1 -1
  166. data/test/rubygems/test_gem_platform.rb +73 -2
  167. data/test/rubygems/test_gem_requirement.rb +9 -3
  168. data/test/rubygems/test_gem_resolver.rb +37 -3
  169. data/test/rubygems/test_gem_resolver_index_specification.rb +1 -1
  170. data/test/rubygems/test_gem_resolver_installer_set.rb +44 -0
  171. data/test/rubygems/test_gem_specification.rb +11 -2
  172. data/test/rubygems/test_gem_version.rb +9 -2
  173. data/test/rubygems/test_require.rb +1 -1
  174. data/test/rubygems/utilities.rb +4 -4
  175. metadata +14 -4
  176. data/bundler/lib/bundler/incomplete_specification.rb +0 -12
@@ -0,0 +1,81 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "BUNDLE\-PLUGIN" "1" "September 2022" "" ""
5
+ .
6
+ .SH "NAME"
7
+ \fBbundle\-plugin\fR \- Manage Bundler plugins
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBbundle plugin\fR install PLUGINS [\-\-source=\fISOURCE\fR] [\-\-version=\fIversion\fR] [\-\-git|\-\-local_git=\fIgit\-url\fR] [\-\-branch=\fIbranch\fR|\-\-ref=\fIrev\fR]
11
+ .
12
+ .br
13
+ \fBbundle plugin\fR uninstall PLUGINS
14
+ .
15
+ .br
16
+ \fBbundle plugin\fR list
17
+ .
18
+ .br
19
+ \fBbundle plugin\fR help [COMMAND]
20
+ .
21
+ .SH "DESCRIPTION"
22
+ You can install, uninstall, and list plugin(s) with this command to extend functionalities of Bundler\.
23
+ .
24
+ .SH "SUB\-COMMANDS"
25
+ .
26
+ .SS "install"
27
+ Install the given plugin(s)\.
28
+ .
29
+ .IP "\(bu" 4
30
+ \fBbundle plugin install bundler\-graph\fR: Install bundler\-graph gem from RubyGems\.org\. The global source, specified in source in Gemfile is ignored\.
31
+ .
32
+ .IP "\(bu" 4
33
+ \fBbundle plugin install bundler\-graph \-\-source https://example\.com\fR: Install bundler\-graph gem from example\.com\. The global source, specified in source in Gemfile is not considered\.
34
+ .
35
+ .IP "\(bu" 4
36
+ \fBbundle plugin install bundler\-graph \-\-version 0\.2\.1\fR: You can specify the version of the gem via \fB\-\-version\fR\.
37
+ .
38
+ .IP "\(bu" 4
39
+ \fBbundle plugin install bundler\-graph \-\-git https://github\.com/rubygems/bundler\-graph\fR: Install bundler\-graph gem from Git repository\. \fB\-\-git\fR can be replaced with \fB\-\-local\-git\fR\. You cannot use both \fB\-\-git\fR and \fB\-\-local\-git\fR\. You can use standard Git URLs like:
40
+ .
41
+ .IP "\(bu" 4
42
+ \fBssh://[user@]host\.xz[:port]/path/to/repo\.git\fR
43
+ .
44
+ .IP "\(bu" 4
45
+ \fBhttp[s]://host\.xz[:port]/path/to/repo\.git\fR
46
+ .
47
+ .IP "\(bu" 4
48
+ \fB/path/to/repo\fR
49
+ .
50
+ .IP "\(bu" 4
51
+ \fBfile:///path/to/repo\fR
52
+ .
53
+ .IP "" 0
54
+ .
55
+ .IP
56
+ When you specify \fB\-\-git\fR/\fB\-\-local\-git\fR, you can use \fB\-\-branch\fR or \fB\-\-ref\fR to specify any branch, tag, or commit hash (revision) to use\. When you specify both, only the latter is used\.
57
+ .
58
+ .IP "" 0
59
+ .
60
+ .SS "uninstall"
61
+ Uninstall the plugin(s) specified in PLUGINS\.
62
+ .
63
+ .SS "list"
64
+ List the installed plugins and available commands\.
65
+ .
66
+ .P
67
+ No options\.
68
+ .
69
+ .SS "help"
70
+ Describe subcommands or one specific subcommand\.
71
+ .
72
+ .P
73
+ No options\.
74
+ .
75
+ .SH "SEE ALSO"
76
+ .
77
+ .IP "\(bu" 4
78
+ How to write a Bundler plugin \fIhttps://bundler\.io/guides/bundler_plugins\.html\fR
79
+ .
80
+ .IP "" 0
81
+
@@ -0,0 +1,59 @@
1
+ bundle-plugin(1) -- Manage Bundler plugins
2
+ ==========================================
3
+
4
+ ## SYNOPSIS
5
+
6
+ `bundle plugin` install PLUGINS [--source=<SOURCE>] [--version=<version>]
7
+ [--git|--local_git=<git-url>] [--branch=<branch>|--ref=<rev>]<br>
8
+ `bundle plugin` uninstall PLUGINS<br>
9
+ `bundle plugin` list<br>
10
+ `bundle plugin` help [COMMAND]
11
+
12
+ ## DESCRIPTION
13
+
14
+ You can install, uninstall, and list plugin(s) with this command to extend functionalities of Bundler.
15
+
16
+ ## SUB-COMMANDS
17
+
18
+ ### install
19
+
20
+ Install the given plugin(s).
21
+
22
+ * `bundle plugin install bundler-graph`:
23
+ Install bundler-graph gem from RubyGems.org. The global source, specified in source in Gemfile is ignored.
24
+
25
+ * `bundle plugin install bundler-graph --source https://example.com`:
26
+ Install bundler-graph gem from example.com. The global source, specified in source in Gemfile is not considered.
27
+
28
+ * `bundle plugin install bundler-graph --version 0.2.1`:
29
+ You can specify the version of the gem via `--version`.
30
+
31
+ * `bundle plugin install bundler-graph --git https://github.com/rubygems/bundler-graph`:
32
+ Install bundler-graph gem from Git repository. `--git` can be replaced with `--local-git`. You cannot use both `--git` and `--local-git`. You can use standard Git URLs like:
33
+
34
+ * `ssh://[user@]host.xz[:port]/path/to/repo.git`
35
+ * `http[s]://host.xz[:port]/path/to/repo.git`
36
+ * `/path/to/repo`
37
+ * `file:///path/to/repo`
38
+
39
+ When you specify `--git`/`--local-git`, you can use `--branch` or `--ref` to specify any branch, tag, or commit hash (revision) to use. When you specify both, only the latter is used.
40
+
41
+ ### uninstall
42
+
43
+ Uninstall the plugin(s) specified in PLUGINS.
44
+
45
+ ### list
46
+
47
+ List the installed plugins and available commands.
48
+
49
+ No options.
50
+
51
+ ### help
52
+
53
+ Describe subcommands or one specific subcommand.
54
+
55
+ No options.
56
+
57
+ ## SEE ALSO
58
+
59
+ * [How to write a Bundler plugin](https://bundler.io/guides/bundler_plugins.html)
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-PRISTINE" "1" "July 2022" "" ""
4
+ .TH "BUNDLE\-PRISTINE" "1" "September 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-REMOVE" "1" "July 2022" "" ""
4
+ .TH "BUNDLE\-REMOVE" "1" "September 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-remove\fR \- Removes gems from the Gemfile
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-SHOW" "1" "July 2022" "" ""
4
+ .TH "BUNDLE\-SHOW" "1" "September 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-UPDATE" "1" "July 2022" "" ""
4
+ .TH "BUNDLE\-UPDATE" "1" "September 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-update\fR \- Update your gems to the latest available versions
@@ -0,0 +1,35 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "BUNDLE\-VERSION" "1" "September 2022" "" ""
5
+ .
6
+ .SH "NAME"
7
+ \fBbundle\-version\fR \- Prints Bundler version information
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBbundle version\fR
11
+ .
12
+ .SH "DESCRIPTION"
13
+ Prints Bundler version information\.
14
+ .
15
+ .SH "OPTIONS"
16
+ No options\.
17
+ .
18
+ .SH "EXAMPLE"
19
+ Print the version of Bundler with build date and commit hash of the in the Git source\.
20
+ .
21
+ .IP "" 4
22
+ .
23
+ .nf
24
+
25
+ bundle version
26
+ .
27
+ .fi
28
+ .
29
+ .IP "" 0
30
+ .
31
+ .P
32
+ shows \fBBundler version 2\.3\.21 (2022\-08\-24 commit d54be5fdd8)\fR for example\.
33
+ .
34
+ .P
35
+ cf\. \fBbundle \-\-version\fR shows \fBBundler version 2\.3\.21\fR\.
@@ -0,0 +1,24 @@
1
+ bundle-version(1) -- Prints Bundler version information
2
+ =======================================================
3
+
4
+ ## SYNOPSIS
5
+
6
+ `bundle version`
7
+
8
+ ## DESCRIPTION
9
+
10
+ Prints Bundler version information.
11
+
12
+ ## OPTIONS
13
+
14
+ No options.
15
+
16
+ ## EXAMPLE
17
+
18
+ Print the version of Bundler with build date and commit hash of the in the Git source.
19
+
20
+ bundle version
21
+
22
+ shows `Bundler version 2.3.21 (2022-08-24 commit d54be5fdd8)` for example.
23
+
24
+ cf. `bundle --version` shows `Bundler version 2.3.21`.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE\-VIZ" "1" "July 2022" "" ""
4
+ .TH "BUNDLE\-VIZ" "1" "September 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "BUNDLE" "1" "July 2022" "" ""
4
+ .TH "BUNDLE" "1" "September 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\fR \- Ruby Dependency Management
@@ -43,8 +43,8 @@ Install the gems specified by the \fBGemfile\fR or \fBGemfile\.lock\fR
43
43
  Update dependencies to their latest versions
44
44
  .
45
45
  .TP
46
- \fBbundle package(1)\fR \fIbundle\-package\.1\.html\fR
47
- Package the \.gem files required by your application into the \fBvendor/cache\fR directory
46
+ \fBbundle cache(1)\fR \fIbundle\-cache\.1\.html\fR
47
+ Package the \.gem files required by your application into the \fBvendor/cache\fR directory (aliases: \fBbundle package\fR, \fBbundle pack\fR)
48
48
  .
49
49
  .TP
50
50
  \fBbundle exec(1)\fR \fIbundle\-exec\.1\.html\fR
@@ -55,7 +55,7 @@ Execute a script in the current bundle
55
55
  Specify and read configuration options for Bundler
56
56
  .
57
57
  .TP
58
- \fBbundle help(1)\fR
58
+ \fBbundle help(1)\fR \fIbundle\-help\.1\.html\fR
59
59
  Display detailed help for each subcommand
60
60
  .
61
61
  .SH "UTILITIES"
@@ -81,7 +81,7 @@ Show the source location of a particular gem in the bundle
81
81
  Show all of the outdated gems in the current bundle
82
82
  .
83
83
  .TP
84
- \fBbundle console(1)\fR
84
+ \fBbundle console(1)\fR (deprecated)
85
85
  Start an IRB session in the current bundle
86
86
  .
87
87
  .TP
@@ -120,6 +120,14 @@ Display warnings about common problems
120
120
  \fBbundle remove(1)\fR \fIbundle\-remove\.1\.html\fR
121
121
  Removes gems from the Gemfile
122
122
  .
123
+ .TP
124
+ \fBbundle plugin(1)\fR \fIbundle\-plugin\.1\.html\fR
125
+ Manage Bundler plugins
126
+ .
127
+ .TP
128
+ \fBbundle version(1)\fR \fIbundle\-version\.1\.html\fR
129
+ Prints Bundler version information
130
+ .
123
131
  .SH "PLUGINS"
124
132
  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\.
125
133
  .
@@ -127,9 +135,6 @@ When running a command that isn\'t listed in PRIMARY COMMANDS or UTILITIES, Bund
127
135
  These commands are obsolete and should no longer be used:
128
136
  .
129
137
  .IP "\(bu" 4
130
- \fBbundle cache(1)\fR
131
- .
132
- .IP "\(bu" 4
133
138
  \fBbundle inject(1)\fR
134
139
  .
135
140
  .IP "" 0
@@ -36,9 +36,9 @@ We divide `bundle` subcommands into primary commands and utilities:
36
36
  * [`bundle update(1)`](bundle-update.1.html):
37
37
  Update dependencies to their latest versions
38
38
 
39
- * [`bundle package(1)`](bundle-package.1.html):
39
+ * [`bundle cache(1)`](bundle-cache.1.html):
40
40
  Package the .gem files required by your application into the
41
- `vendor/cache` directory
41
+ `vendor/cache` directory (aliases: `bundle package`, `bundle pack`)
42
42
 
43
43
  * [`bundle exec(1)`](bundle-exec.1.html):
44
44
  Execute a script in the current bundle
@@ -46,7 +46,7 @@ We divide `bundle` subcommands into primary commands and utilities:
46
46
  * [`bundle config(1)`](bundle-config.1.html):
47
47
  Specify and read configuration options for Bundler
48
48
 
49
- * `bundle help(1)`:
49
+ * [`bundle help(1)`](bundle-help.1.html):
50
50
  Display detailed help for each subcommand
51
51
 
52
52
  ## UTILITIES
@@ -67,7 +67,7 @@ We divide `bundle` subcommands into primary commands and utilities:
67
67
  * [`bundle outdated(1)`](bundle-outdated.1.html):
68
68
  Show all of the outdated gems in the current bundle
69
69
 
70
- * `bundle console(1)`:
70
+ * `bundle console(1)` (deprecated):
71
71
  Start an IRB session in the current bundle
72
72
 
73
73
  * [`bundle open(1)`](bundle-open.1.html):
@@ -97,6 +97,12 @@ We divide `bundle` subcommands into primary commands and utilities:
97
97
  * [`bundle remove(1)`](bundle-remove.1.html):
98
98
  Removes gems from the Gemfile
99
99
 
100
+ * [`bundle plugin(1)`](bundle-plugin.1.html):
101
+ Manage Bundler plugins
102
+
103
+ * [`bundle version(1)`](bundle-version.1.html):
104
+ Prints Bundler version information
105
+
100
106
  ## PLUGINS
101
107
 
102
108
  When running a command that isn't listed in PRIMARY COMMANDS or UTILITIES,
@@ -107,5 +113,4 @@ and execute it, passing down any extra arguments to it.
107
113
 
108
114
  These commands are obsolete and should no longer be used:
109
115
 
110
- * `bundle cache(1)`
111
116
  * `bundle inject(1)`
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "GEMFILE" "5" "July 2022" "" ""
4
+ .TH "GEMFILE" "5" "September 2022" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
@@ -254,19 +254,15 @@ There are a number of \fBGemfile\fR platforms:
254
254
  .
255
255
  .TP
256
256
  \fBruby\fR
257
- C Ruby (MRI), Rubinius or TruffleRuby, but \fBNOT\fR Windows
257
+ C Ruby (MRI), Rubinius, or TruffleRuby, but not Windows
258
258
  .
259
259
  .TP
260
260
  \fBmri\fR
261
- Same as \fIruby\fR, but only C Ruby (MRI)
261
+ C Ruby (MRI) only, but not Windows
262
262
  .
263
263
  .TP
264
- \fBmingw\fR
265
- Windows 32 bit \'mingw32\' platform (aka RubyInstaller)
266
- .
267
- .TP
268
- \fBx64_mingw\fR
269
- Windows 64 bit \'mingw32\' platform (aka RubyInstaller x64)
264
+ \fBwindows\fR
265
+ Windows C Ruby (MRI), including RubyInstaller 32\-bit and 64\-bit versions
270
266
  .
271
267
  .TP
272
268
  \fBrbx\fR
@@ -280,15 +276,8 @@ JRuby
280
276
  \fBtruffleruby\fR
281
277
  TruffleRuby
282
278
  .
283
- .TP
284
- \fBmswin\fR
285
- Windows
286
- .
287
279
  .P
288
- You can restrict further by platform and version for all platforms \fIexcept\fR for \fBrbx\fR, \fBjruby\fR, \fBtruffleruby\fR and \fBmswin\fR\.
289
- .
290
- .P
291
- 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:
280
+ 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:
292
281
  .
293
282
  .IP "" 4
294
283
  .
@@ -301,26 +290,7 @@ ruby_23
301
290
  .IP "" 0
302
291
  .
303
292
  .P
304
- The full list of platforms and supported versions includes:
305
- .
306
- .TP
307
- \fBruby\fR
308
- 1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
309
- .
310
- .TP
311
- \fBmri\fR
312
- 1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
313
- .
314
- .TP
315
- \fBmingw\fR
316
- 1\.8, 1\.9, 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
317
- .
318
- .TP
319
- \fBx64_mingw\fR
320
- 2\.0, 2\.1, 2\.2, 2\.3, 2\.4, 2\.5, 2\.6
321
- .
322
- .P
323
- As with groups, you can specify one or more platforms:
293
+ As with groups (above), you may specify one or more platforms:
324
294
  .
325
295
  .IP "" 4
326
296
  .
@@ -328,7 +298,7 @@ As with groups, you can specify one or more platforms:
328
298
 
329
299
  gem "weakling", platforms: :jruby
330
300
  gem "ruby\-debug", platforms: :mri_18
331
- gem "nokogiri", platforms: [:mri_18, :jruby]
301
+ gem "nokogiri", platforms: [:windows_26, :jruby]
332
302
  .
333
303
  .fi
334
304
  .
@@ -190,47 +190,29 @@ platforms.
190
190
  There are a number of `Gemfile` platforms:
191
191
 
192
192
  * `ruby`:
193
- C Ruby (MRI), Rubinius or TruffleRuby, but `NOT` Windows
193
+ C Ruby (MRI), Rubinius, or TruffleRuby, but not Windows
194
194
  * `mri`:
195
- Same as _ruby_, but only C Ruby (MRI)
196
- * `mingw`:
197
- Windows 32 bit 'mingw32' platform (aka RubyInstaller)
198
- * `x64_mingw`:
199
- Windows 64 bit 'mingw32' platform (aka RubyInstaller x64)
195
+ C Ruby (MRI) only, but not Windows
196
+ * `windows`:
197
+ Windows C Ruby (MRI), including RubyInstaller 32-bit and 64-bit versions
200
198
  * `rbx`:
201
199
  Rubinius
202
200
  * `jruby`:
203
201
  JRuby
204
202
  * `truffleruby`:
205
203
  TruffleRuby
206
- * `mswin`:
207
- Windows
208
204
 
209
- You can restrict further by platform and version for all platforms *except* for
210
- `rbx`, `jruby`, `truffleruby` and `mswin`.
211
-
212
- To specify a version in addition to a platform, append the version number without
213
- the delimiter to the platform. For example, to specify that a gem should only be
214
- used on platforms with Ruby 2.3, use:
205
+ On platforms `ruby`, `mri`, and `windows`, you may additionally specify a version
206
+ by appending the major and minor version numbers without a delimiter. For example,
207
+ to specify that a gem should only be used on platform `ruby` version 2.3, use:
215
208
 
216
209
  ruby_23
217
210
 
218
- The full list of platforms and supported versions includes:
219
-
220
- * `ruby`:
221
- 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
222
- * `mri`:
223
- 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
224
- * `mingw`:
225
- 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
226
- * `x64_mingw`:
227
- 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
228
-
229
- As with groups, you can specify one or more platforms:
211
+ As with groups (above), you may specify one or more platforms:
230
212
 
231
213
  gem "weakling", platforms: :jruby
232
214
  gem "ruby-debug", platforms: :mri_18
233
- gem "nokogiri", platforms: [:mri_18, :jruby]
215
+ gem "nokogiri", platforms: [:windows_26, :jruby]
234
216
 
235
217
  All operations involving groups ([`bundle install`](bundle-install.1.html), `Bundler.setup`,
236
218
  `Bundler.require`) behave exactly the same as if any groups not
@@ -6,9 +6,11 @@ bundle-cache(1) bundle-cache.1
6
6
  bundle-check(1) bundle-check.1
7
7
  bundle-clean(1) bundle-clean.1
8
8
  bundle-config(1) bundle-config.1
9
+ bundle-console(1) bundle-console.1
9
10
  bundle-doctor(1) bundle-doctor.1
10
11
  bundle-exec(1) bundle-exec.1
11
12
  bundle-gem(1) bundle-gem.1
13
+ bundle-help(1) bundle-help.1
12
14
  bundle-info(1) bundle-info.1
13
15
  bundle-init(1) bundle-init.1
14
16
  bundle-inject(1) bundle-inject.1
@@ -18,8 +20,10 @@ bundle-lock(1) bundle-lock.1
18
20
  bundle-open(1) bundle-open.1
19
21
  bundle-outdated(1) bundle-outdated.1
20
22
  bundle-platform(1) bundle-platform.1
23
+ bundle-plugin(1) bundle-plugin.1
21
24
  bundle-pristine(1) bundle-pristine.1
22
25
  bundle-remove(1) bundle-remove.1
23
26
  bundle-show(1) bundle-show.1
24
27
  bundle-update(1) bundle-update.1
28
+ bundle-version(1) bundle-version.1
25
29
  bundle-viz(1) bundle-viz.1
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bundler
4
+ module MatchMetadata
5
+ def matches_current_ruby?
6
+ @required_ruby_version.satisfied_by?(Gem.ruby_version)
7
+ end
8
+
9
+ def matches_current_rubygems?
10
+ @required_rubygems_version.satisfied_by?(Gem.rubygems_version)
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bundler
4
+ module FetchMetadata
5
+ # A fallback is included because the original version of the specification
6
+ # API didn't include that field, so some marshalled specs in the index have it
7
+ # set to +nil+.
8
+ def matches_current_ruby?
9
+ @required_ruby_version ||= _remote_specification.required_ruby_version || Gem::Requirement.default
10
+
11
+ super
12
+ end
13
+
14
+ def matches_current_rubygems?
15
+ # A fallback is included because the original version of the specification
16
+ # API didn't include that field, so some marshalled specs in the index have it
17
+ # set to +nil+.
18
+ @required_rubygems_version ||= _remote_specification.required_rubygems_version || Gem::Requirement.default
19
+
20
+ super
21
+ end
22
+ end
23
+
24
+ module MatchRemoteMetadata
25
+ include MatchMetadata
26
+
27
+ prepend FetchMetadata
28
+ end
29
+ end
@@ -36,6 +36,8 @@ module Bundler
36
36
  # @param [Hash] options various parameters as described in description.
37
37
  # Refer to cli/plugin for available options
38
38
  def install(names, options)
39
+ raise InvalidOption, "You cannot specify `--branch` and `--ref` at the same time." if options["branch"] && options["ref"]
40
+
39
41
  specs = Installer.new.install(names, options)
40
42
 
41
43
  save_plugins names, specs
@@ -6,6 +6,7 @@ module Bundler
6
6
  # be seeded with what we're given from the source's abbreviated index - the
7
7
  # full specification will only be fetched when necessary.
8
8
  class RemoteSpecification
9
+ include MatchRemoteMetadata
9
10
  include MatchPlatform
10
11
  include Comparable
11
12
 
@@ -28,13 +29,6 @@ module Bundler
28
29
  @platform = _remote_specification.platform
29
30
  end
30
31
 
31
- # A fallback is included because the original version of the specification
32
- # API didn't include that field, so some marshalled specs in the index have it
33
- # set to +nil+.
34
- def required_rubygems_version
35
- @required_rubygems_version ||= _remote_specification.required_rubygems_version || Gem::Requirement.default
36
- end
37
-
38
32
  def full_name
39
33
  if @original_platform == Gem::Platform::RUBY
40
34
  "#{@name}-#{@version}"
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bundler
4
+ class Resolver
5
+ class Base
6
+ def initialize(base, additional_base_requirements)
7
+ @base = base
8
+ @additional_base_requirements = additional_base_requirements
9
+ end
10
+
11
+ def [](name)
12
+ @base[name]
13
+ end
14
+
15
+ def delete(spec)
16
+ @base.delete(spec)
17
+ end
18
+
19
+ def base_requirements
20
+ @base_requirements ||= build_base_requirements
21
+ end
22
+
23
+ def unlock_deps(deps)
24
+ exact, lower_bound = deps.partition(&:specific?)
25
+
26
+ exact.each do |exact_dep|
27
+ @base.delete_by_name_and_version(exact_dep.name, exact_dep.requirement.requirements.first.last)
28
+ end
29
+
30
+ lower_bound.each do |lower_bound_dep|
31
+ @additional_base_requirements.delete(lower_bound_dep)
32
+ end
33
+
34
+ @base_requirements = nil
35
+ end
36
+
37
+ private
38
+
39
+ def build_base_requirements
40
+ base_requirements = {}
41
+ @base.each do |ls|
42
+ dep = Dependency.new(ls.name, ls.version)
43
+ base_requirements[ls.name] = DepProxy.get_proxy(dep, ls.platform)
44
+ end
45
+ @additional_base_requirements.each {|d| base_requirements[d.name] = d }
46
+ base_requirements
47
+ end
48
+ end
49
+ end
50
+ end