rubygems-update 3.4.6 → 3.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/Manifest.txt +2 -1
  4. data/POLICIES.md +5 -5
  5. data/README.md +1 -4
  6. data/bundler/CHANGELOG.md +40 -0
  7. data/bundler/README.md +1 -4
  8. data/bundler/lib/bundler/build_metadata.rb +2 -2
  9. data/bundler/lib/bundler/cli/init.rb +2 -2
  10. data/bundler/lib/bundler/cli.rb +1 -0
  11. data/bundler/lib/bundler/current_ruby.rb +2 -0
  12. data/bundler/lib/bundler/dependency.rb +1 -1
  13. data/bundler/lib/bundler/environment_preserver.rb +2 -2
  14. data/bundler/lib/bundler/fetcher.rb +2 -2
  15. data/bundler/lib/bundler/index.rb +2 -2
  16. data/bundler/lib/bundler/injector.rb +1 -1
  17. data/bundler/lib/bundler/installer/parallel_installer.rb +3 -2
  18. data/bundler/lib/bundler/installer/standalone.rb +1 -1
  19. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  20. data/bundler/lib/bundler/lockfile_parser.rb +9 -9
  21. data/bundler/lib/bundler/man/bundle-add.1 +1 -1
  22. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  23. data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
  24. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  25. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  26. data/bundler/lib/bundler/man/bundle-config.1 +1 -1
  27. data/bundler/lib/bundler/man/bundle-console.1 +1 -1
  28. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  29. data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
  30. data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
  31. data/bundler/lib/bundler/man/bundle-help.1 +1 -1
  32. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  33. data/bundler/lib/bundler/man/bundle-init.1 +5 -1
  34. data/bundler/lib/bundler/man/bundle-init.1.ronn +2 -0
  35. data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
  36. data/bundler/lib/bundler/man/bundle-install.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  39. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  40. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  41. data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
  42. data/bundler/lib/bundler/man/bundle-plugin.1 +1 -1
  43. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  44. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  45. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  46. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  47. data/bundler/lib/bundler/man/bundle-version.1 +1 -1
  48. data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
  49. data/bundler/lib/bundler/man/bundle.1 +1 -1
  50. data/bundler/lib/bundler/man/gemfile.5 +1 -1
  51. data/bundler/lib/bundler/plugin.rb +1 -1
  52. data/bundler/lib/bundler/rubygems_integration.rb +1 -1
  53. data/bundler/lib/bundler/setup.rb +4 -1
  54. data/bundler/lib/bundler/source/git/git_proxy.rb +22 -8
  55. data/bundler/lib/bundler/source/git.rb +1 -0
  56. data/bundler/lib/bundler/source/path.rb +1 -1
  57. data/bundler/lib/bundler/spec_set.rb +8 -2
  58. data/bundler/lib/bundler/templates/Executable.bundler +1 -1
  59. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
  60. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +6 -2
  61. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +8 -1
  62. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +5 -4
  63. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +4 -2
  64. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +4 -1
  65. data/bundler/lib/bundler/version.rb +1 -1
  66. data/bundler/lib/bundler.rb +9 -9
  67. data/lib/rubygems/bundler_version_finder.rb +1 -1
  68. data/lib/rubygems/command.rb +10 -6
  69. data/lib/rubygems/command_manager.rb +1 -0
  70. data/lib/rubygems/commands/exec_command.rb +248 -0
  71. data/lib/rubygems/commands/help_command.rb +3 -3
  72. data/lib/rubygems/defaults.rb +2 -2
  73. data/lib/rubygems/dependency.rb +1 -1
  74. data/lib/rubygems/deprecate.rb +2 -2
  75. data/lib/rubygems/package/tar_reader/entry.rb +88 -7
  76. data/lib/rubygems/package/tar_reader.rb +0 -28
  77. data/lib/rubygems/platform.rb +2 -2
  78. data/lib/rubygems/request_set/gem_dependency_api.rb +0 -1
  79. data/lib/rubygems/requirement.rb +1 -1
  80. data/lib/rubygems/resolver/stats.rb +1 -1
  81. data/lib/rubygems/source/git.rb +1 -1
  82. data/lib/rubygems/specification.rb +9 -1
  83. data/lib/rubygems/specification_policy.rb +5 -0
  84. data/lib/rubygems/stub_specification.rb +7 -7
  85. data/lib/rubygems/text.rb +1 -1
  86. data/lib/rubygems/util/licenses.rb +2 -2
  87. data/lib/rubygems/version.rb +2 -2
  88. data/lib/rubygems.rb +3 -3
  89. data/rubygems-update.gemspec +1 -1
  90. data/test/rubygems/helper.rb +2 -3
  91. data/test/rubygems/package/tar_test_case.rb +49 -14
  92. data/test/rubygems/simple_gem.rb +1 -1
  93. data/test/rubygems/test_gem.rb +24 -0
  94. data/test/rubygems/test_gem_bundler_version_finder.rb +2 -2
  95. data/test/rubygems/test_gem_command_manager.rb +25 -0
  96. data/test/rubygems/test_gem_commands_exec_command.rb +851 -0
  97. data/test/rubygems/test_gem_commands_install_command.rb +1 -1
  98. data/test/rubygems/test_gem_commands_setup_command.rb +1 -1
  99. data/test/rubygems/test_gem_ext_builder.rb +3 -5
  100. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +20 -6
  101. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  102. data/test/rubygems/test_gem_gem_runner.rb +2 -2
  103. data/test/rubygems/test_gem_package.rb +0 -25
  104. data/test/rubygems/test_gem_package_tar_reader.rb +48 -1
  105. data/test/rubygems/test_gem_package_tar_reader_entry.rb +151 -6
  106. data/test/rubygems/test_gem_remote_fetcher.rb +1 -1
  107. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +10 -10
  108. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +2 -2
  109. data/test/rubygems/test_gem_resolver_git_set.rb +9 -9
  110. data/test/rubygems/test_gem_resolver_git_specification.rb +1 -1
  111. data/test/rubygems/test_gem_source.rb +1 -1
  112. data/test/rubygems/test_gem_source_git.rb +13 -12
  113. data/test/rubygems/test_gem_source_installed.rb +1 -1
  114. data/test/rubygems/test_gem_source_lock.rb +3 -3
  115. data/test/rubygems/test_gem_source_vendor.rb +1 -1
  116. data/test/rubygems/test_gem_specification.rb +36 -2
  117. data/test/rubygems/test_gem_version.rb +2 -2
  118. data/test/rubygems/test_kernel.rb +0 -8
  119. metadata +5 -4
  120. data/bundler/lib/bundler/templates/gems.rb +0 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b5e3c7eccc94daeddcabd73da3805e447a3c1577b4aef2513078bb4d21dcde97
4
- data.tar.gz: e3b4feb4e07635be10ed9724b0574d4e210da42f202bee8634d53c292a096413
3
+ metadata.gz: b72ec3162017147a6f9615ce417dfe0f59cd925ceec0375a6ce918fff8853c7c
4
+ data.tar.gz: 93a753b1da6838871ce0e36d140856ef4243ddf43d07ad0a3eb29b5b606fd2d2
5
5
  SHA512:
6
- metadata.gz: 6c2c680e262544d33b81b7c7e797e9c05851eafac9b5f3279a2d53c923e7e6b5278b91227e136821f301372a340eeda630f2e700df3a13f503e6663c7daa7c00
7
- data.tar.gz: 13871c7e43a8686a1fa53c599c6074bd5719a60efb116e50728819642734f03ad360d38697a168d5ff167de85ccb6fc5d443f222426dcaa8ec5307b52fbda0a3
6
+ metadata.gz: 183cc6648ef21fb35b04ae47856cce4dbeb006bf59191aeff12852ee7498a2bca95858faeb7e439f26527d880a0f6f8c81a0bc2af2bd95fbf606d5318573b66d
7
+ data.tar.gz: 52b9d7ba40df8205d56a472ec42e2214c1111356ea2d59e40fe066b1fd164b0f2983313009a3164007ec2adb59c0263cce251a54baaba3656c84445ca3f4a4da
data/CHANGELOG.md CHANGED
@@ -1,3 +1,48 @@
1
+ # 3.4.8 / 2023-03-08
2
+
3
+ ## Enhancements:
4
+
5
+ * Add TarReader::Entry#seek to seek within the tar file entry. Pull
6
+ request [#6390](https://github.com/rubygems/rubygems/pull/6390) by
7
+ martinemde
8
+ * Avoid calling String#dup in Gem::Version#marshal_dump. Pull request
9
+ [#6438](https://github.com/rubygems/rubygems/pull/6438) by segiddins
10
+ * Remove hardcoded "master" branch references. Pull request
11
+ [#6425](https://github.com/rubygems/rubygems/pull/6425) by
12
+ deivid-rodriguez
13
+ * [Experimental] Add `gem exec` command to run executables from gems that
14
+ may or may not be installed. Pull request
15
+ [#6309](https://github.com/rubygems/rubygems/pull/6309) by segiddins
16
+ * Installs bundler 2.4.8 as a default gem.
17
+
18
+ ## Bug fixes:
19
+
20
+ * Fix installation error of same version of default gems with local
21
+ installation. Pull request
22
+ [#6430](https://github.com/rubygems/rubygems/pull/6430) by hsbt
23
+ * Use proper memoized var name for Gem.state_home. Pull request
24
+ [#6420](https://github.com/rubygems/rubygems/pull/6420) by simi
25
+
26
+ ## Documentation:
27
+
28
+ * Switch supporting explanations to all Ruby Central. Pull request
29
+ [#6419](https://github.com/rubygems/rubygems/pull/6419) by indirect
30
+ * Update the link to OpenSource.org. Pull request
31
+ [#6392](https://github.com/rubygems/rubygems/pull/6392) by nobu
32
+
33
+ # 3.4.7 / 2023-02-15
34
+
35
+ ## Enhancements:
36
+
37
+ * Warn on self referencing gemspec dependency. Pull request
38
+ [#6335](https://github.com/rubygems/rubygems/pull/6335) by simi
39
+ * Installs bundler 2.4.7 as a default gem.
40
+
41
+ ## Bug fixes:
42
+
43
+ * Fix inconsistent behavior of zero byte files in archive. Pull request
44
+ [#6329](https://github.com/rubygems/rubygems/pull/6329) by martinemde
45
+
1
46
  # 3.4.6 / 2023-01-31
2
47
 
3
48
  ## Enhancements:
data/Manifest.txt CHANGED
@@ -205,7 +205,6 @@ bundler/lib/bundler/templates/Executable
205
205
  bundler/lib/bundler/templates/Executable.bundler
206
206
  bundler/lib/bundler/templates/Executable.standalone
207
207
  bundler/lib/bundler/templates/Gemfile
208
- bundler/lib/bundler/templates/gems.rb
209
208
  bundler/lib/bundler/templates/newgem/CHANGELOG.md.tt
210
209
  bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt
211
210
  bundler/lib/bundler/templates/newgem/Cargo.toml.tt
@@ -348,6 +347,7 @@ lib/rubygems/commands/cleanup_command.rb
348
347
  lib/rubygems/commands/contents_command.rb
349
348
  lib/rubygems/commands/dependency_command.rb
350
349
  lib/rubygems/commands/environment_command.rb
350
+ lib/rubygems/commands/exec_command.rb
351
351
  lib/rubygems/commands/fetch_command.rb
352
352
  lib/rubygems/commands/generate_index_command.rb
353
353
  lib/rubygems/commands/help_command.rb
@@ -617,6 +617,7 @@ test/rubygems/test_gem_commands_cleanup_command.rb
617
617
  test/rubygems/test_gem_commands_contents_command.rb
618
618
  test/rubygems/test_gem_commands_dependency_command.rb
619
619
  test/rubygems/test_gem_commands_environment_command.rb
620
+ test/rubygems/test_gem_commands_exec_command.rb
620
621
  test/rubygems/test_gem_commands_fetch_command.rb
621
622
  test/rubygems/test_gem_commands_generate_index_command.rb
622
623
  test/rubygems/test_gem_commands_help_command.rb
data/POLICIES.md CHANGED
@@ -128,8 +128,8 @@ permissions compromised or exposed.
128
128
 
129
129
  ## Changing These Policies
130
130
 
131
- These policies were set in order to reduce the burden of maintenance and to
132
- keep committers current with existing development and policies. RubyGems work
133
- is primarily volunteer-driven which limits the ability to provide long-term
134
- support. By joining [Ruby Together](https://rubytogether.org) you can help
135
- extend support for older RubyGems versions.
131
+ These policies were set in order to reduce the burden of maintenance and to keep
132
+ committers current with existing development and policies. RubyGems work is
133
+ primarily volunteer-driven which limits the ability to provide long-term
134
+ support. By joining [Ruby Central](https://rubycentral.org/#/portal/signup) you
135
+ can help extend support for older RubyGems versions.
data/README.md CHANGED
@@ -87,15 +87,12 @@ See https://bundler.io/compatibility for known issues.
87
87
 
88
88
  ### Supporting
89
89
 
90
- <a href="https://rubytogether.org/"><img src="https://rubytogether.org/images/rubies.svg" width=200></a><br/>
91
- <a href="https://rubytogether.org/">Ruby Together</a> pays some RubyGems maintainers for their ongoing work. As a grassroots initiative committed to supporting the critical Ruby infrastructure you rely on, Ruby Together is funded entirely by the Ruby community. Contribute today <a href="https://rubytogether.org/developers">as an individual</a> or even better, <a href="https://rubytogether.org/companies">as a company</a>, and ensure that RubyGems, Bundler, and other shared tooling is around for years to come.
90
+ RubyGems is managed by [Ruby Central](https://rubycentral.org), a non-profit organization that supports the Ruby community through projects like this one, as well as [RubyConf](https://rubyconf.org), [RailsConf](https://railsconf.org), and [RubyGems.org](https://rubygems.org). You can support Ruby Central by attending or [sponsoring](sponsors@rubycentral.org) a conference, or by [joining as a supporting member](https://rubycentral.org/#/portal/signup).
92
91
 
93
92
  ### Contributing
94
93
 
95
94
  If you'd like to contribute to RubyGems, that's awesome, and we <3 you. Check out our [guide to contributing](CONTRIBUTING.md) for more information.
96
95
 
97
- While some RubyGems contributors are compensated by Ruby Together, the project maintainers make decisions independent of Ruby Together. As a project, we welcome contributions regardless of the author’s affiliation with Ruby Together.
98
-
99
96
  ### Code of Conduct
100
97
 
101
98
  Everyone interacting in the RubyGems project’s codebases, issue trackers, chat rooms, and mailing lists is expected to follow the [contributor code of conduct](https://github.com/rubygems/rubygems/blob/master/CODE_OF_CONDUCT.md).
data/bundler/CHANGELOG.md CHANGED
@@ -1,3 +1,43 @@
1
+ # 2.4.8 (March 8, 2023)
2
+
3
+ ## Security:
4
+
5
+ - Safe load all marshaled data [#6384](https://github.com/rubygems/rubygems/pull/6384)
6
+
7
+ ## Enhancements:
8
+
9
+ - Better suggestion when `bundler/setup` fails due to missing gems and Gemfile is not the default [#6428](https://github.com/rubygems/rubygems/pull/6428)
10
+ - Simplify the gem package file filter in the gemspec template [#6344](https://github.com/rubygems/rubygems/pull/6344)
11
+ - Auto-heal corrupted `Gemfile.lock` with no specs [#6423](https://github.com/rubygems/rubygems/pull/6423)
12
+ - Auto-heal on corrupted lockfile with missing deps [#6400](https://github.com/rubygems/rubygems/pull/6400)
13
+ - Give a better message when Gemfile branch does not exist [#6383](https://github.com/rubygems/rubygems/pull/6383)
14
+
15
+ ## Bug fixes:
16
+
17
+ - Respect --no-install option for git: sources [#6088](https://github.com/rubygems/rubygems/pull/6088)
18
+ - Fix `gems.rb` lockfile for bundler version lookup in template [#6413](https://github.com/rubygems/rubygems/pull/6413)
19
+
20
+ ## Documentation:
21
+
22
+ - Switch supporting explanations to all Ruby Central [#6419](https://github.com/rubygems/rubygems/pull/6419)
23
+
24
+ # 2.4.7 (February 15, 2023)
25
+
26
+ ## Enhancements:
27
+
28
+ - Add `--gemfile` flag to `bundle init` to configure gemfile name to generate [#6046](https://github.com/rubygems/rubygems/pull/6046)
29
+ - Improve solve failure explanations by using better wording [#6366](https://github.com/rubygems/rubygems/pull/6366)
30
+ - Restore better error message when locked ref does not exist [#6356](https://github.com/rubygems/rubygems/pull/6356)
31
+ - Avoid crashing when installing from a corrupted lockfile [#6355](https://github.com/rubygems/rubygems/pull/6355)
32
+ - Improve wording of unmet dependencies warning [#6357](https://github.com/rubygems/rubygems/pull/6357)
33
+ - Add Ruby 3.2 and 3.3 platforms to Gemfile DSL [#6346](https://github.com/rubygems/rubygems/pull/6346)
34
+
35
+ ## Bug fixes:
36
+
37
+ - Fix crash in pub grub involving empty ranges [#6365](https://github.com/rubygems/rubygems/pull/6365)
38
+ - Make gemspec file generated by `bundle gem` properly exclude itself from packaged gem [#6339](https://github.com/rubygems/rubygems/pull/6339)
39
+ - Preserve relative path sources in standalone setup [#6327](https://github.com/rubygems/rubygems/pull/6327)
40
+
1
41
  # 2.4.6 (January 31, 2023)
2
42
 
3
43
  ## Enhancements:
data/bundler/README.md CHANGED
@@ -46,12 +46,9 @@ If you'd like to contribute to Bundler, that's awesome, and we <3 you. We've put
46
46
 
47
47
  If you'd like to request a substantial change to Bundler or its documentation, refer to the [Bundler RFC process](https://github.com/rubygems/rfcs) for more information.
48
48
 
49
- While some Bundler contributors are compensated by Ruby Together, the project maintainers make decisions independent of Ruby Together. As a project, we welcome contributions regardless of the author's affiliation with Ruby Together.
50
-
51
49
  ### Supporting
52
50
 
53
- <a href="https://rubytogether.org/"><img src="https://rubytogether.org/images/rubies.svg" width="150"></a><br>
54
- <a href="https://rubytogether.org/">Ruby Together</a> pays some Bundler maintainers for their ongoing work. As a grassroots initiative committed to supporting the critical Ruby infrastructure you rely on, Ruby Together is funded entirely by the Ruby community. Contribute today <a href="https://rubytogether.org/developers">as an individual</a> or (better yet) <a href="https://rubytogether.org/companies">as a company</a> to ensure that Bundler, RubyGems, and other shared tooling is around for years to come.
51
+ RubyGems is managed by [Ruby Central](https://rubycentral.org), a non-profit organization that supports the Ruby community through projects like this one, as well as [RubyConf](https://rubyconf.org), [RailsConf](https://railsconf.org), and [RubyGems.org](https://rubygems.org). You can support Ruby Central by attending or [sponsoring](sponsors@rubycentral.org) a conference, or by [joining as a supporting member](https://rubycentral.org/#/portal/signup).
55
52
 
56
53
  ### Code of Conduct
57
54
 
@@ -4,8 +4,8 @@ module Bundler
4
4
  # Represents metadata from when the Bundler gem was built.
5
5
  module BuildMetadata
6
6
  # begin ivars
7
- @built_at = "2023-01-31".freeze
8
- @git_commit_sha = "598c04d54a".freeze
7
+ @built_at = "2023-03-08".freeze
8
+ @git_commit_sha = "a67b2657a0".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -32,7 +32,7 @@ module Bundler
32
32
  file << spec.to_gemfile
33
33
  end
34
34
  else
35
- File.open(File.expand_path("../templates/#{gemfile}", __dir__), "r") do |template|
35
+ File.open(File.expand_path("../templates/Gemfile", __dir__), "r") do |template|
36
36
  File.open(gemfile, "wb") do |destination|
37
37
  IO.copy_stream(template, destination)
38
38
  end
@@ -45,7 +45,7 @@ module Bundler
45
45
  private
46
46
 
47
47
  def gemfile
48
- @gemfile ||= Bundler.preferred_gemfile_name
48
+ @gemfile ||= options[:gemfile] || Bundler.preferred_gemfile_name
49
49
  end
50
50
  end
51
51
  end
@@ -156,6 +156,7 @@ module Bundler
156
156
  dependency listed in the gemspec file to the newly created Gemfile.
157
157
  D
158
158
  method_option "gemspec", :type => :string, :banner => "Use the specified .gemspec to create the Gemfile"
159
+ method_option "gemfile", :type => :string, :banner => "Use the specified name for the gemfile instead of 'Gemfile'"
159
160
  def init
160
161
  require_relative "cli/init"
161
162
  Init.new(options.dup).run
@@ -22,6 +22,8 @@ module Bundler
22
22
  2.7
23
23
  3.0
24
24
  3.1
25
+ 3.2
26
+ 3.3
25
27
  ].freeze
26
28
 
27
29
  KNOWN_MAJOR_VERSIONS = KNOWN_MINOR_VERSIONS.map {|v| v.split(".", 2).first }.uniq.freeze
@@ -9,7 +9,7 @@ module Bundler
9
9
  attr_reader :autorequire
10
10
  attr_reader :groups, :platforms, :gemfile, :path, :git, :github, :branch, :ref
11
11
 
12
- ALL_RUBY_VERSIONS = ((18..27).to_a + (30..31).to_a).freeze
12
+ ALL_RUBY_VERSIONS = ((18..27).to_a + (30..33).to_a).freeze
13
13
  PLATFORM_MAP = {
14
14
  :ruby => [Gem::Platform::RUBY, ALL_RUBY_VERSIONS],
15
15
  :mri => [Gem::Platform::RUBY, ALL_RUBY_VERSIONS],
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Bundler
4
4
  class EnvironmentPreserver
5
- INTENTIONALLY_NIL = "BUNDLER_ENVIRONMENT_PRESERVER_INTENTIONALLY_NIL".freeze
5
+ INTENTIONALLY_NIL = "BUNDLER_ENVIRONMENT_PRESERVER_INTENTIONALLY_NIL"
6
6
  BUNDLER_KEYS = %w[
7
7
  BUNDLE_BIN_PATH
8
8
  BUNDLE_GEMFILE
@@ -16,7 +16,7 @@ module Bundler
16
16
  RUBYLIB
17
17
  RUBYOPT
18
18
  ].map(&:freeze).freeze
19
- BUNDLER_PREFIX = "BUNDLER_ORIG_".freeze
19
+ BUNDLER_PREFIX = "BUNDLER_ORIG_"
20
20
 
21
21
  def self.from_env
22
22
  new(env_to_hash(ENV), BUNDLER_KEYS)
@@ -102,11 +102,11 @@ module Bundler
102
102
  uri = Bundler::URI.parse("#{remote_uri}#{Gem::MARSHAL_SPEC_DIR}#{spec_file_name}.rz")
103
103
  if uri.scheme == "file"
104
104
  path = Bundler.rubygems.correct_for_windows_path(uri.path)
105
- Bundler.load_marshal Bundler.rubygems.inflate(Gem.read_binary(path))
105
+ Bundler.safe_load_marshal Bundler.rubygems.inflate(Gem.read_binary(path))
106
106
  elsif cached_spec_path = gemspec_cached_path(spec_file_name)
107
107
  Bundler.load_gemspec(cached_spec_path)
108
108
  else
109
- Bundler.load_marshal Bundler.rubygems.inflate(downloader.fetch(uri).body)
109
+ Bundler.safe_load_marshal Bundler.rubygems.inflate(downloader.fetch(uri).body)
110
110
  end
111
111
  rescue MarshalError
112
112
  raise HTTPError, "Gemspec #{spec} contained invalid data.\n" \
@@ -13,8 +13,8 @@ module Bundler
13
13
  attr_reader :specs, :all_specs, :sources
14
14
  protected :specs, :all_specs
15
15
 
16
- RUBY = "ruby".freeze
17
- NULL = "\0".freeze
16
+ RUBY = "ruby"
17
+ NULL = "\0"
18
18
 
19
19
  def initialize
20
20
  @sources = []
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Bundler
4
4
  class Injector
5
- INJECTED_GEMS = "injected gems".freeze
5
+ INJECTED_GEMS = "injected gems"
6
6
 
7
7
  def self.inject(new_deps, options = {})
8
8
  injector = new(new_deps, options)
@@ -110,12 +110,13 @@ module Bundler
110
110
 
111
111
  warning = []
112
112
  warning << "Your lockfile doesn't include a valid resolution."
113
- warning << "You can fix this by regenerating your lockfile or trying to manually editing the bad locked gems to a version that satisfies all dependencies."
113
+ warning << "You can fix this by regenerating your lockfile or manually editing the bad locked gems to a version that satisfies all dependencies."
114
114
  warning << "The unmet dependencies are:"
115
115
 
116
116
  unmet_dependencies.each do |spec, unmet_spec_dependencies|
117
117
  unmet_spec_dependencies.each do |unmet_spec_dependency|
118
- warning << "* #{unmet_spec_dependency}, depended upon #{spec.full_name}, unsatisfied by #{@specs.find {|s| s.name == unmet_spec_dependency.name && !unmet_spec_dependency.matches_spec?(s.spec) }.full_name}"
118
+ found = @specs.find {|s| s.name == unmet_spec_dependency.name && !unmet_spec_dependency.matches_spec?(s.spec) }
119
+ warning << "* #{unmet_spec_dependency}, dependency of #{spec.full_name}, unsatisfied by #{found.full_name}"
119
120
  end
120
121
  end
121
122
 
@@ -52,7 +52,7 @@ module Bundler
52
52
 
53
53
  def gem_path(path, spec)
54
54
  full_path = Pathname.new(path).absolute? ? path : File.join(spec.full_gem_path, path)
55
- if spec.source.instance_of?(Source::Path)
55
+ if spec.source.instance_of?(Source::Path) && spec.source.path.absolute?
56
56
  full_path
57
57
  else
58
58
  Pathname.new(full_path).relative_path_from(Bundler.root.join(bundler_path)).to_s
@@ -45,7 +45,7 @@ module Bundler
45
45
  # gems with the same name, but different platform
46
46
  # are ordered consistently
47
47
  specs.sort_by(&:full_name).each do |spec|
48
- next if spec.name == "bundler".freeze
48
+ next if spec.name == "bundler"
49
49
  out << spec.to_lock
50
50
  end
51
51
  end
@@ -4,15 +4,15 @@ module Bundler
4
4
  class LockfileParser
5
5
  attr_reader :sources, :dependencies, :specs, :platforms, :bundler_version, :ruby_version
6
6
 
7
- BUNDLED = "BUNDLED WITH".freeze
8
- DEPENDENCIES = "DEPENDENCIES".freeze
9
- PLATFORMS = "PLATFORMS".freeze
10
- RUBY = "RUBY VERSION".freeze
11
- GIT = "GIT".freeze
12
- GEM = "GEM".freeze
13
- PATH = "PATH".freeze
14
- PLUGIN = "PLUGIN SOURCE".freeze
15
- SPECS = " specs:".freeze
7
+ BUNDLED = "BUNDLED WITH"
8
+ DEPENDENCIES = "DEPENDENCIES"
9
+ PLATFORMS = "PLATFORMS"
10
+ RUBY = "RUBY VERSION"
11
+ GIT = "GIT"
12
+ GEM = "GEM"
13
+ PATH = "PATH"
14
+ PLUGIN = "PLUGIN SOURCE"
15
+ SPECS = " specs:"
16
16
  OPTIONS = /^ ([a-z]+): (.*)$/i.freeze
17
17
  SOURCE = [GIT, GEM, PATH, PLUGIN].freeze
18
18
 
@@ -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\-ADD" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-ADD" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
@@ -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\-BINSTUBS" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-BINSTUBS" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
@@ -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\-CACHE" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-CACHE" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-cache\fR \- Package your needed \fB\.gem\fR files into your application
@@ -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\-CHECK" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-CHECK" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
@@ -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\-CLEAN" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-CLEAN" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
@@ -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\-CONFIG" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-CONFIG" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-config\fR \- Set bundler configuration options
@@ -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\-CONSOLE" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-CONSOLE" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-console\fR \- Deprecated way to open an IRB session with the bundle pre\-loaded
@@ -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\-DOCTOR" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-DOCTOR" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-doctor\fR \- Checks the bundle for common problems
@@ -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\-EXEC" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-EXEC" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-exec\fR \- Execute a command in the context of the bundle
@@ -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\-GEM" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-GEM" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
@@ -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\-HELP" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-HELP" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-help\fR \- Displays detailed help for each subcommand
@@ -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\-INFO" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-INFO" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-info\fR \- Show information for the given gem in your bundle
@@ -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\-INIT" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-INIT" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-init\fR \- Generates a Gemfile into the current working directory
@@ -18,6 +18,10 @@ Init generates a default [\fBGemfile(5)\fR][Gemfile(5)] in the current working d
18
18
  \fB\-\-gemspec\fR
19
19
  Use the specified \.gemspec to create the [\fBGemfile(5)\fR][Gemfile(5)]
20
20
  .
21
+ .TP
22
+ \fB\-\-gemfile\fR
23
+ Use the specified name for the gemfile instead of \fBGemfile\fR
24
+ .
21
25
  .SH "FILES"
22
26
  Included in the default [\fBGemfile(5)\fR][Gemfile(5)] generated is the line \fB# frozen_string_literal: true\fR\. This is a magic comment supported for the first time in Ruby 2\.3\. The presence of this line results in all string literals in the file being implicitly frozen\.
23
27
  .
@@ -16,6 +16,8 @@ created [`Gemfile(5)`][Gemfile(5)].
16
16
 
17
17
  * `--gemspec`:
18
18
  Use the specified .gemspec to create the [`Gemfile(5)`][Gemfile(5)]
19
+ * `--gemfile`:
20
+ Use the specified name for the gemfile instead of `Gemfile`
19
21
 
20
22
  ## FILES
21
23
 
@@ -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\-INJECT" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-INJECT" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-inject\fR \- Add named gem(s) with version requirements to 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\-INSTALL" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-INSTALL" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-install\fR \- Install the dependencies specified in 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\-LIST" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-LIST" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-list\fR \- List all the gems in the bundle
@@ -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\-LOCK" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-LOCK" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-lock\fR \- Creates / Updates a lockfile without installing
@@ -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\-OPEN" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-OPEN" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
@@ -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\-OUTDATED" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-OUTDATED" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-outdated\fR \- List installed gems with newer versions available
@@ -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\-PLATFORM" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-PLATFORM" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-platform\fR \- Displays platform compatibility information
@@ -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\-PLUGIN" "1" "January 2023" "" ""
4
+ .TH "BUNDLE\-PLUGIN" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-plugin\fR \- Manage Bundler plugins
@@ -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" "January 2023" "" ""
4
+ .TH "BUNDLE\-PRISTINE" "1" "February 2023" "" ""
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" "January 2023" "" ""
4
+ .TH "BUNDLE\-REMOVE" "1" "February 2023" "" ""
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" "January 2023" "" ""
4
+ .TH "BUNDLE\-SHOW" "1" "February 2023" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem