rubygems-update 3.4.6 → 3.4.8

Sign up to get free protection for your applications and to get access to all the features.
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