bundler 2.3.26 → 2.4.13
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +228 -1
- data/README.md +3 -6
- data/bundler.gemspec +2 -2
- data/exe/bundle +1 -4
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli/add.rb +1 -1
- data/lib/bundler/cli/binstubs.rb +5 -1
- data/lib/bundler/cli/check.rb +1 -1
- data/lib/bundler/cli/common.rb +1 -0
- data/lib/bundler/cli/console.rb +2 -2
- data/lib/bundler/cli/doctor.rb +4 -6
- data/lib/bundler/cli/gem.rb +62 -40
- data/lib/bundler/cli/init.rb +2 -2
- data/lib/bundler/cli/install.rb +2 -3
- data/lib/bundler/cli/lock.rb +8 -5
- data/lib/bundler/cli/open.rb +6 -4
- data/lib/bundler/cli/outdated.rb +1 -3
- data/lib/bundler/cli/viz.rb +1 -1
- data/lib/bundler/cli.rb +45 -2
- data/lib/bundler/compact_index_client/cache.rb +1 -1
- data/lib/bundler/compact_index_client/updater.rb +40 -39
- data/lib/bundler/constants.rb +1 -1
- data/lib/bundler/current_ruby.rb +2 -0
- data/lib/bundler/definition.rb +99 -51
- data/lib/bundler/dependency.rb +13 -12
- data/lib/bundler/digest.rb +1 -1
- data/lib/bundler/dsl.rb +3 -3
- data/lib/bundler/endpoint_specification.rb +0 -4
- data/lib/bundler/env.rb +1 -1
- data/lib/bundler/environment_preserver.rb +3 -2
- data/lib/bundler/errors.rb +1 -11
- data/lib/bundler/fetcher/compact_index.rb +9 -11
- data/lib/bundler/fetcher/dependency.rb +2 -6
- data/lib/bundler/fetcher/downloader.rb +2 -5
- data/lib/bundler/fetcher.rb +4 -8
- data/lib/bundler/force_platform.rb +18 -0
- data/lib/bundler/friendly_errors.rb +0 -3
- data/lib/bundler/gem_version_promoter.rb +52 -86
- data/lib/bundler/graph.rb +3 -3
- data/lib/bundler/index.rb +7 -15
- data/lib/bundler/injector.rb +2 -2
- data/lib/bundler/inline.rb +8 -10
- data/lib/bundler/installer/parallel_installer.rb +3 -33
- data/lib/bundler/installer/standalone.rb +12 -8
- data/lib/bundler/installer.rb +9 -23
- data/lib/bundler/lazy_specification.rb +42 -42
- data/lib/bundler/lockfile_generator.rb +1 -1
- data/lib/bundler/lockfile_parser.rb +16 -16
- data/lib/bundler/man/bundle-add.1 +1 -1
- data/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/lib/bundler/man/bundle-cache.1 +3 -3
- data/lib/bundler/man/bundle-cache.1.ronn +2 -2
- data/lib/bundler/man/bundle-check.1 +1 -1
- data/lib/bundler/man/bundle-clean.1 +1 -1
- data/lib/bundler/man/bundle-config.1 +2 -2
- data/lib/bundler/man/bundle-config.1.ronn +1 -1
- data/lib/bundler/man/bundle-console.1 +1 -1
- data/lib/bundler/man/bundle-doctor.1 +1 -1
- data/lib/bundler/man/bundle-exec.1 +5 -5
- data/lib/bundler/man/bundle-exec.1.ronn +5 -5
- data/lib/bundler/man/bundle-gem.1 +27 -37
- data/lib/bundler/man/bundle-gem.1.ronn +5 -5
- data/lib/bundler/man/bundle-help.1 +1 -1
- data/lib/bundler/man/bundle-info.1 +1 -1
- data/lib/bundler/man/bundle-init.1 +5 -1
- data/lib/bundler/man/bundle-init.1.ronn +2 -0
- data/lib/bundler/man/bundle-inject.1 +1 -1
- data/lib/bundler/man/bundle-install.1 +1 -30
- data/lib/bundler/man/bundle-install.1.ronn +0 -29
- data/lib/bundler/man/bundle-list.1 +1 -1
- data/lib/bundler/man/bundle-lock.1 +1 -1
- data/lib/bundler/man/bundle-open.1 +22 -2
- data/lib/bundler/man/bundle-open.1.ronn +9 -1
- data/lib/bundler/man/bundle-outdated.1 +1 -1
- data/lib/bundler/man/bundle-platform.1 +2 -2
- data/lib/bundler/man/bundle-platform.1.ronn +1 -1
- data/lib/bundler/man/bundle-plugin.1 +1 -1
- data/lib/bundler/man/bundle-pristine.1 +1 -1
- data/lib/bundler/man/bundle-remove.1 +1 -1
- data/lib/bundler/man/bundle-show.1 +1 -1
- data/lib/bundler/man/bundle-update.1 +1 -1
- data/lib/bundler/man/bundle-version.1 +1 -1
- data/lib/bundler/man/bundle-viz.1 +1 -1
- data/lib/bundler/man/bundle.1 +1 -1
- data/lib/bundler/man/gemfile.5 +1 -1
- data/lib/bundler/mirror.rb +5 -7
- data/lib/bundler/plugin/index.rb +4 -4
- data/lib/bundler/plugin/installer/rubygems.rb +0 -4
- data/lib/bundler/plugin/installer.rb +5 -2
- data/lib/bundler/plugin.rb +1 -1
- data/lib/bundler/remote_specification.rb +2 -6
- data/lib/bundler/resolver/base.rb +72 -15
- data/lib/bundler/resolver/candidate.rb +94 -0
- data/lib/bundler/resolver/incompatibility.rb +15 -0
- data/lib/bundler/resolver/package.rb +72 -0
- data/lib/bundler/resolver/root.rb +25 -0
- data/lib/bundler/resolver/spec_group.rb +26 -36
- data/lib/bundler/resolver.rb +311 -278
- data/lib/bundler/ruby_version.rb +1 -1
- data/lib/bundler/rubygems_ext.rb +16 -9
- data/lib/bundler/rubygems_gem_installer.rb +4 -2
- data/lib/bundler/rubygems_integration.rb +10 -14
- data/lib/bundler/runtime.rb +1 -5
- data/lib/bundler/safe_marshal.rb +31 -0
- data/lib/bundler/settings.rb +1 -7
- data/lib/bundler/setup.rb +4 -1
- data/lib/bundler/shared_helpers.rb +2 -1
- data/lib/bundler/source/git/git_proxy.rb +214 -69
- data/lib/bundler/source/git.rb +17 -18
- data/lib/bundler/source/metadata.rb +0 -1
- data/lib/bundler/source/path/installer.rb +1 -22
- data/lib/bundler/source/path.rb +6 -6
- data/lib/bundler/source/rubygems.rb +19 -77
- data/lib/bundler/source_list.rb +8 -2
- data/lib/bundler/spec_set.rb +22 -14
- data/lib/bundler/templates/Executable +1 -1
- data/lib/bundler/templates/Executable.bundler +5 -10
- data/lib/bundler/templates/Executable.standalone +2 -0
- data/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
- data/lib/bundler/templates/newgem/Gemfile.tt +3 -0
- data/lib/bundler/templates/newgem/README.md.tt +6 -4
- data/lib/bundler/templates/newgem/Rakefile.tt +12 -1
- data/lib/bundler/templates/newgem/bin/console.tt +0 -4
- data/lib/bundler/templates/newgem/circleci/config.yml.tt +12 -0
- data/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
- data/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
- data/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
- data/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +1 -1
- data/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
- data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +10 -0
- data/lib/bundler/templates/newgem/gitignore.tt +3 -0
- data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +8 -0
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +8 -2
- data/lib/bundler/ui/shell.rb +35 -12
- data/lib/bundler/ui/silent.rb +21 -5
- data/lib/bundler/uri_normalizer.rb +23 -0
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +3 -3
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +0 -1
- data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +3 -1
- data/lib/bundler/vendor/fileutils/lib/fileutils.rb +1350 -408
- data/lib/bundler/vendor/net-http-persistent/README.rdoc +1 -1
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1 -1
- data/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +60 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +411 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +243 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +1 -1
- data/lib/bundler/vendor/uri/lib/uri/common.rb +64 -16
- data/lib/bundler/vendor/uri/lib/uri/file.rb +7 -1
- data/lib/bundler/vendor/uri/lib/uri/ftp.rb +2 -1
- data/lib/bundler/vendor/uri/lib/uri/generic.rb +27 -7
- data/lib/bundler/vendor/uri/lib/uri/http.rb +40 -2
- data/lib/bundler/vendor/uri/lib/uri/https.rb +2 -1
- data/lib/bundler/vendor/uri/lib/uri/ldap.rb +1 -1
- data/lib/bundler/vendor/uri/lib/uri/ldaps.rb +2 -1
- data/lib/bundler/vendor/uri/lib/uri/mailto.rb +2 -2
- data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +13 -7
- data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +10 -5
- data/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
- data/lib/bundler/vendor/uri/lib/uri/ws.rb +1 -2
- data/lib/bundler/vendor/uri/lib/uri/wss.rb +2 -1
- data/lib/bundler/vendor/uri/lib/uri.rb +3 -2
- data/lib/bundler/vendored_persistent.rb +1 -33
- data/lib/bundler/{vendored_tmpdir.rb → vendored_pub_grub.rb} +1 -1
- data/lib/bundler/version.rb +5 -1
- data/lib/bundler/worker.rb +5 -7
- data/lib/bundler.rb +17 -69
- metadata +35 -33
- data/lib/bundler/templates/gems.rb +0 -5
- data/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +0 -5
- data/lib/bundler/templates/newgem/travis.yml.tt +0 -6
- data/lib/bundler/vendor/molinillo/LICENSE +0 -9
- data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
- data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -88
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -164
- data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -255
- data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -149
- data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
- data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -112
- data/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -839
- data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
- data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -58
- data/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -11
- data/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +0 -154
- data/lib/bundler/vendored_molinillo.rb +0 -4
- data/lib/bundler/version_ranges.rb +0 -122
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2f398778d3a6ed24418f66d662473b293f06ac7cf5a8eae216e2bb801fc8511b
|
|
4
|
+
data.tar.gz: 16e23bba1bf2d55e0b96c2a36a0407bfe4a2c4d8d858fa717fe491903e2e5e02
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d70332cfa48c7c7cb48cbb0eb0003b6b943f29bdb6be3d795f466027aa429069879a67d2a46ca82df7f7e22723f486875b65782c8cce656d10993e1671549ddb
|
|
7
|
+
data.tar.gz: a3989657de73245ac7dae1ab62de41f02a2ef3bdcac5f3f66ec74c08e99e64d351b5e2bba483fd0a6bdb26921c0c08694ff1e5454090f4b5e9ec0eee94ef837c
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,230 @@
|
|
|
1
|
+
# 2.4.13 (May 9, 2023)
|
|
2
|
+
|
|
3
|
+
## Bug fixes:
|
|
4
|
+
|
|
5
|
+
- Fix unexpected fallbacks to full index by adding FalseClass and Time to the SafeMarshal list [#6655](https://github.com/rubygems/rubygems/pull/6655)
|
|
6
|
+
|
|
7
|
+
## Documentation:
|
|
8
|
+
|
|
9
|
+
- Fix broken hyperlinks in bundle cache documentation [#6606](https://github.com/rubygems/rubygems/pull/6606)
|
|
10
|
+
|
|
11
|
+
# 2.4.12 (April 11, 2023)
|
|
12
|
+
|
|
13
|
+
## Enhancements:
|
|
14
|
+
|
|
15
|
+
- Remove reference to `pry` gem from generated `bin/console` file [#6515](https://github.com/rubygems/rubygems/pull/6515)
|
|
16
|
+
|
|
17
|
+
# 2.4.11 (April 10, 2023)
|
|
18
|
+
|
|
19
|
+
## Security:
|
|
20
|
+
|
|
21
|
+
- Use URI-0.12.1 (safe against CVE-2023-28755 ReDoS vulnerability) [#6558](https://github.com/rubygems/rubygems/pull/6558)
|
|
22
|
+
|
|
23
|
+
## Enhancements:
|
|
24
|
+
|
|
25
|
+
- Remove one fallback to full indexes on big gemfiles [#6578](https://github.com/rubygems/rubygems/pull/6578)
|
|
26
|
+
- Generate native gems with `-fvisibility=hidden` [#6541](https://github.com/rubygems/rubygems/pull/6541)
|
|
27
|
+
|
|
28
|
+
## Bug fixes:
|
|
29
|
+
|
|
30
|
+
- Fix resolver hangs when dealing with an incomplete lockfile [#6552](https://github.com/rubygems/rubygems/pull/6552)
|
|
31
|
+
- Fix prereleases not being considered by gem version promoter when there's no lockfile [#6537](https://github.com/rubygems/rubygems/pull/6537)
|
|
32
|
+
|
|
33
|
+
# 2.4.10 (March 27, 2023)
|
|
34
|
+
|
|
35
|
+
## Bug fixes:
|
|
36
|
+
|
|
37
|
+
- Fix some unnecessary top level dependency downgrades [#6535](https://github.com/rubygems/rubygems/pull/6535)
|
|
38
|
+
- Fix incorrect ruby platform removal from lockfile when adding Gemfile dependencies [#6540](https://github.com/rubygems/rubygems/pull/6540)
|
|
39
|
+
- Fix installing plugins in frozen mode [#6543](https://github.com/rubygems/rubygems/pull/6543)
|
|
40
|
+
- Restore "enumerability" of `SpecSet` [#6532](https://github.com/rubygems/rubygems/pull/6532)
|
|
41
|
+
|
|
42
|
+
# 2.4.9 (March 20, 2023)
|
|
43
|
+
|
|
44
|
+
## Security:
|
|
45
|
+
|
|
46
|
+
- Don't recommend `--full-index` on errors [#6493](https://github.com/rubygems/rubygems/pull/6493)
|
|
47
|
+
|
|
48
|
+
## Enhancements:
|
|
49
|
+
|
|
50
|
+
- Fix duplicated specs in some error messages [#6475](https://github.com/rubygems/rubygems/pull/6475)
|
|
51
|
+
- When running `bundle lock --update <name>`, checkout locked revision of unrelated git sources directly [#6459](https://github.com/rubygems/rubygems/pull/6459)
|
|
52
|
+
- Avoid expiring git sources when unnecessary [#6458](https://github.com/rubygems/rubygems/pull/6458)
|
|
53
|
+
- Use `RbSys::ExtensionTask` when creating new rust gems [#6352](https://github.com/rubygems/rubygems/pull/6352)
|
|
54
|
+
- Don't ignore pre-releases when there's only one candidate [#6441](https://github.com/rubygems/rubygems/pull/6441)
|
|
55
|
+
|
|
56
|
+
## Bug fixes:
|
|
57
|
+
|
|
58
|
+
- Fix incorrect removal of ruby platform when auto-healing corrupted lockfiles [#6495](https://github.com/rubygems/rubygems/pull/6495)
|
|
59
|
+
- Don't consider platform specific candidates when `force_ruby_platform` set [#6442](https://github.com/rubygems/rubygems/pull/6442)
|
|
60
|
+
- Better deal with circular dependencies [#6330](https://github.com/rubygems/rubygems/pull/6330)
|
|
61
|
+
|
|
62
|
+
## Documentation:
|
|
63
|
+
|
|
64
|
+
- Add debugging docs [#6387](https://github.com/rubygems/rubygems/pull/6387)
|
|
65
|
+
- Document our current release policy [#6450](https://github.com/rubygems/rubygems/pull/6450)
|
|
66
|
+
|
|
67
|
+
# 2.4.8 (March 8, 2023)
|
|
68
|
+
|
|
69
|
+
## Security:
|
|
70
|
+
|
|
71
|
+
- Safe load all marshaled data [#6384](https://github.com/rubygems/rubygems/pull/6384)
|
|
72
|
+
|
|
73
|
+
## Enhancements:
|
|
74
|
+
|
|
75
|
+
- Better suggestion when `bundler/setup` fails due to missing gems and Gemfile is not the default [#6428](https://github.com/rubygems/rubygems/pull/6428)
|
|
76
|
+
- Simplify the gem package file filter in the gemspec template [#6344](https://github.com/rubygems/rubygems/pull/6344)
|
|
77
|
+
- Auto-heal corrupted `Gemfile.lock` with no specs [#6423](https://github.com/rubygems/rubygems/pull/6423)
|
|
78
|
+
- Auto-heal on corrupted lockfile with missing deps [#6400](https://github.com/rubygems/rubygems/pull/6400)
|
|
79
|
+
- Give a better message when Gemfile branch does not exist [#6383](https://github.com/rubygems/rubygems/pull/6383)
|
|
80
|
+
|
|
81
|
+
## Bug fixes:
|
|
82
|
+
|
|
83
|
+
- Respect --no-install option for git: sources [#6088](https://github.com/rubygems/rubygems/pull/6088)
|
|
84
|
+
- Fix `gems.rb` lockfile for bundler version lookup in template [#6413](https://github.com/rubygems/rubygems/pull/6413)
|
|
85
|
+
|
|
86
|
+
## Documentation:
|
|
87
|
+
|
|
88
|
+
- Switch supporting explanations to all Ruby Central [#6419](https://github.com/rubygems/rubygems/pull/6419)
|
|
89
|
+
|
|
90
|
+
# 2.4.7 (February 15, 2023)
|
|
91
|
+
|
|
92
|
+
## Enhancements:
|
|
93
|
+
|
|
94
|
+
- Add `--gemfile` flag to `bundle init` to configure gemfile name to generate [#6046](https://github.com/rubygems/rubygems/pull/6046)
|
|
95
|
+
- Improve solve failure explanations by using better wording [#6366](https://github.com/rubygems/rubygems/pull/6366)
|
|
96
|
+
- Restore better error message when locked ref does not exist [#6356](https://github.com/rubygems/rubygems/pull/6356)
|
|
97
|
+
- Avoid crashing when installing from a corrupted lockfile [#6355](https://github.com/rubygems/rubygems/pull/6355)
|
|
98
|
+
- Improve wording of unmet dependencies warning [#6357](https://github.com/rubygems/rubygems/pull/6357)
|
|
99
|
+
- Add Ruby 3.2 and 3.3 platforms to Gemfile DSL [#6346](https://github.com/rubygems/rubygems/pull/6346)
|
|
100
|
+
|
|
101
|
+
## Bug fixes:
|
|
102
|
+
|
|
103
|
+
- Fix crash in pub grub involving empty ranges [#6365](https://github.com/rubygems/rubygems/pull/6365)
|
|
104
|
+
- Make gemspec file generated by `bundle gem` properly exclude itself from packaged gem [#6339](https://github.com/rubygems/rubygems/pull/6339)
|
|
105
|
+
- Preserve relative path sources in standalone setup [#6327](https://github.com/rubygems/rubygems/pull/6327)
|
|
106
|
+
|
|
107
|
+
# 2.4.6 (January 31, 2023)
|
|
108
|
+
|
|
109
|
+
## Enhancements:
|
|
110
|
+
|
|
111
|
+
- Don't warn on `bundle binstubs --standalone --all` [#6312](https://github.com/rubygems/rubygems/pull/6312)
|
|
112
|
+
|
|
113
|
+
## Bug fixes:
|
|
114
|
+
|
|
115
|
+
- Don't undo require decorations made by other gems [#6308](https://github.com/rubygems/rubygems/pull/6308)
|
|
116
|
+
- Fix `bundler/inline` not properly installing gems with extensions when used more than once [#6306](https://github.com/rubygems/rubygems/pull/6306)
|
|
117
|
+
- Fix `bundler/inline` not skipping installation when gems already there, when used more than once [#6305](https://github.com/rubygems/rubygems/pull/6305)
|
|
118
|
+
|
|
119
|
+
# 2.4.5 (January 21, 2023)
|
|
120
|
+
|
|
121
|
+
## Bug fixes:
|
|
122
|
+
|
|
123
|
+
- Fix `bundler/inline` not resolving properly if gems not preinstalled [#6282](https://github.com/rubygems/rubygems/pull/6282)
|
|
124
|
+
- Fix packages for external platforms being introduced in lockfile when Bundler retries resolution [#6285](https://github.com/rubygems/rubygems/pull/6285)
|
|
125
|
+
|
|
126
|
+
## Documentation:
|
|
127
|
+
|
|
128
|
+
- Update bundle-exec man page to not use deprecated `Bundler.with_clean_env` [#6284](https://github.com/rubygems/rubygems/pull/6284)
|
|
129
|
+
|
|
130
|
+
# 2.4.4 (January 16, 2023)
|
|
131
|
+
|
|
132
|
+
## Bug fixes:
|
|
133
|
+
|
|
134
|
+
- Fix platform specific gems removed from the lockfile [#6266](https://github.com/rubygems/rubygems/pull/6266)
|
|
135
|
+
- Properly handle incompatibilities on platform specific gems [#6270](https://github.com/rubygems/rubygems/pull/6270)
|
|
136
|
+
- Optimistically exclude prereleases from initial resolution [#6246](https://github.com/rubygems/rubygems/pull/6246)
|
|
137
|
+
- Fix another case of not properly falling back to ruby variant when materializing [#6261](https://github.com/rubygems/rubygems/pull/6261)
|
|
138
|
+
- Skip setting `BUNDLER_SETUP` on Ruby 2.6 [#6252](https://github.com/rubygems/rubygems/pull/6252)
|
|
139
|
+
- Let resolver deal with legacy gems with equivalent version and different dependencies [#6219](https://github.com/rubygems/rubygems/pull/6219)
|
|
140
|
+
|
|
141
|
+
# 2.4.3 (January 6, 2023)
|
|
142
|
+
|
|
143
|
+
## Enhancements:
|
|
144
|
+
|
|
145
|
+
- Enhance `bundle open` command to allow opening subdir/file of gem [#6146](https://github.com/rubygems/rubygems/pull/6146)
|
|
146
|
+
|
|
147
|
+
## Bug fixes:
|
|
148
|
+
|
|
149
|
+
- Fix pointing GitHub sources to PRs [#6241](https://github.com/rubygems/rubygems/pull/6241)
|
|
150
|
+
- Fix version ranges incorrectly handling platforms [#6240](https://github.com/rubygems/rubygems/pull/6240)
|
|
151
|
+
- Cleanup unnecessary gems when removing lockfile platforms [#6234](https://github.com/rubygems/rubygems/pull/6234)
|
|
152
|
+
- When auto-removing RUBY platform don't add specific platform if not needed [#6233](https://github.com/rubygems/rubygems/pull/6233)
|
|
153
|
+
- Fallback to selecting installable candidates if possible when materializing specs [#6225](https://github.com/rubygems/rubygems/pull/6225)
|
|
154
|
+
|
|
155
|
+
## Documentation:
|
|
156
|
+
|
|
157
|
+
- Fix several typos [#6224](https://github.com/rubygems/rubygems/pull/6224)
|
|
158
|
+
|
|
159
|
+
# 2.4.2 (January 1, 2023)
|
|
160
|
+
|
|
161
|
+
## Performance:
|
|
162
|
+
|
|
163
|
+
- Speed up resolution by properly merging incompatibility ranges [#6215](https://github.com/rubygems/rubygems/pull/6215)
|
|
164
|
+
|
|
165
|
+
## Documentation:
|
|
166
|
+
|
|
167
|
+
- Remove stray word in `bundle config` man page [#6220](https://github.com/rubygems/rubygems/pull/6220)
|
|
168
|
+
|
|
169
|
+
# 2.4.1 (December 24, 2022)
|
|
170
|
+
|
|
171
|
+
## Enhancements:
|
|
172
|
+
|
|
173
|
+
- Allow Bundler to run on old RubyGems + Ruby 2.7 without warnings [#6187](https://github.com/rubygems/rubygems/pull/6187)
|
|
174
|
+
|
|
175
|
+
## Bug fixes:
|
|
176
|
+
|
|
177
|
+
- Fix dependencies scoped to other platforms making resolver fail [#6189](https://github.com/rubygems/rubygems/pull/6189)
|
|
178
|
+
- Restore annotated git tag support [#6186](https://github.com/rubygems/rubygems/pull/6186)
|
|
179
|
+
|
|
180
|
+
# 2.4.0 (December 24, 2022)
|
|
181
|
+
|
|
182
|
+
## Security:
|
|
183
|
+
|
|
184
|
+
- In README generated by `bundle gem`, do not fill rubygems.org install commands with the gem name automatically [#6093](https://github.com/rubygems/rubygems/pull/6093)
|
|
185
|
+
- Use safe Marshal deserialization for dependency API response [#6141](https://github.com/rubygems/rubygems/pull/6141)
|
|
186
|
+
|
|
187
|
+
## Breaking changes:
|
|
188
|
+
|
|
189
|
+
- Remove Travis CI from gem skeleton [#6150](https://github.com/rubygems/rubygems/pull/6150)
|
|
190
|
+
- Drop support for Ruby 2.3, 2.4, 2.5 and RubyGems 2.5, 2.6, 2.7 [#6107](https://github.com/rubygems/rubygems/pull/6107)
|
|
191
|
+
- Completely remove "auto-sudo" feature [#5888](https://github.com/rubygems/rubygems/pull/5888)
|
|
192
|
+
|
|
193
|
+
## Deprecations:
|
|
194
|
+
|
|
195
|
+
- Turn `--ext` option of `bundle gem` into string. Deprecate usage without explicit value [#6144](https://github.com/rubygems/rubygems/pull/6144)
|
|
196
|
+
|
|
197
|
+
## Features:
|
|
198
|
+
|
|
199
|
+
- Add `--ext=rust` support to `bundle gem` for creating simple gems with Rust extensions [#6149](https://github.com/rubygems/rubygems/pull/6149)
|
|
200
|
+
- Migrate our resolver engine to PubGrub [#5960](https://github.com/rubygems/rubygems/pull/5960)
|
|
201
|
+
|
|
202
|
+
## Performance:
|
|
203
|
+
|
|
204
|
+
- Make cloning git repos faster [#4475](https://github.com/rubygems/rubygems/pull/4475)
|
|
205
|
+
|
|
206
|
+
## Enhancements:
|
|
207
|
+
|
|
208
|
+
- Add `bundle lock --update --bundler` [#6134](https://github.com/rubygems/rubygems/pull/6134)
|
|
209
|
+
- Support for pre flag in `bundle update`/`bundle lock` [#5258](https://github.com/rubygems/rubygems/pull/5258)
|
|
210
|
+
- Improve error message when changing Gemfile to a mistyped git ref [#6130](https://github.com/rubygems/rubygems/pull/6130)
|
|
211
|
+
- Remove special handling of some `LoadError` and `NoMethodError` [#6115](https://github.com/rubygems/rubygems/pull/6115)
|
|
212
|
+
|
|
213
|
+
## Bug fixes:
|
|
214
|
+
|
|
215
|
+
- Don't unlock dependencies of a gemspec when its version changes [#6184](https://github.com/rubygems/rubygems/pull/6184)
|
|
216
|
+
- Fix platform specific version for libv8-node and other allowlisted gems not being chosen in Truffleruby [#6169](https://github.com/rubygems/rubygems/pull/6169)
|
|
217
|
+
- Fix `bundle outdated` with both `--groups` and `--parseable` flags [#6148](https://github.com/rubygems/rubygems/pull/6148)
|
|
218
|
+
- Auto-heal lockfile when it's missing specs [#6132](https://github.com/rubygems/rubygems/pull/6132)
|
|
219
|
+
- Fix unintentional downgrades when gemspec DSL is used [#6131](https://github.com/rubygems/rubygems/pull/6131)
|
|
220
|
+
- Fix display of previous gem version when previously downloaded already [#6110](https://github.com/rubygems/rubygems/pull/6110)
|
|
221
|
+
- Fix hang when a lockfile gem does not resolve on the current platform [#6070](https://github.com/rubygems/rubygems/pull/6070)
|
|
222
|
+
|
|
223
|
+
## Documentation:
|
|
224
|
+
|
|
225
|
+
- Improve Bundler setup docs for development [#6154](https://github.com/rubygems/rubygems/pull/6154)
|
|
226
|
+
- Fx link in bundle-platform man page [#6071](https://github.com/rubygems/rubygems/pull/6071)
|
|
227
|
+
|
|
1
228
|
# 2.3.26 (November 16, 2022)
|
|
2
229
|
|
|
3
230
|
## Enhancements:
|
|
@@ -1449,7 +1676,7 @@ Changes
|
|
|
1449
1676
|
|
|
1450
1677
|
- avoid new RubyGems warning about unsafe YAML loading (to keep output consistent) (@segiddins)
|
|
1451
1678
|
- load digest subclasses in a thread-safe manner (@segiddins, @colby-swandale)
|
|
1452
|
-
- avoid
|
|
1679
|
+
- avoid unused variable warnings under ruby 2.5 (@amatsuda)
|
|
1453
1680
|
- fix printing the same message twice in verbose mode ([#6028](https://github.com/rubygems/bundler/issues/6028), @akhramov)
|
|
1454
1681
|
- allow `SignalException`s to bubble up to the interpreter during `bundle exec` ([#6090](https://github.com/rubygems/bundler/issues/6090), @dekellum)
|
|
1455
1682
|
- avoid activating stdlib digest under Ruby 2.5 (@segiddins)
|
data/README.md
CHANGED
|
@@ -38,20 +38,17 @@ Still stuck? Try [filing an issue](https://github.com/rubygems/rubygems/issues/n
|
|
|
38
38
|
|
|
39
39
|
To see what has changed in recent versions of Bundler, see the [CHANGELOG](CHANGELOG.md).
|
|
40
40
|
|
|
41
|
-
To get in touch with the Bundler core team and other Bundler users, please
|
|
41
|
+
To get in touch with the Bundler core team and other Bundler users, please join [the Bundler slack](https://slack.bundler.io).
|
|
42
42
|
|
|
43
43
|
### Contributing
|
|
44
44
|
|
|
45
45
|
If you'd like to contribute to Bundler, that's awesome, and we <3 you. We've put together [the Bundler contributor guide](https://github.com/rubygems/rubygems/blob/master/bundler/doc/contributing/README.md) with all of the information you need to get started.
|
|
46
46
|
|
|
47
|
-
If you'd like to request a substantial change to Bundler or its documentation, refer to the [Bundler RFC process](https://github.com/
|
|
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.
|
|
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.
|
|
50
48
|
|
|
51
49
|
### Supporting
|
|
52
50
|
|
|
53
|
-
|
|
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
|
|
data/bundler.gemspec
CHANGED
|
@@ -29,8 +29,8 @@ Gem::Specification.new do |s|
|
|
|
29
29
|
"source_code_uri" => "https://github.com/rubygems/rubygems/tree/master/bundler",
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
s.required_ruby_version = ">= 2.
|
|
33
|
-
s.required_rubygems_version = ">=
|
|
32
|
+
s.required_ruby_version = ">= 2.6.0"
|
|
33
|
+
s.required_rubygems_version = ">= 3.0.1"
|
|
34
34
|
|
|
35
35
|
s.files = Dir.glob("lib/bundler{.rb,/**/*}", File::FNM_DOTMATCH).reject {|f| File.directory?(f) }
|
|
36
36
|
|
data/exe/bundle
CHANGED
|
@@ -15,10 +15,7 @@ else
|
|
|
15
15
|
require "bundler"
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
gem "bundler", Bundler::VERSION if Gem.rubygems_version < Gem::Version.new("2.6.2")
|
|
20
|
-
|
|
21
|
-
if Gem.rubygems_version < Gem::Version.new("3.2.3") && Gem.ruby_version < Gem::Version.new("2.6.a") && !ENV["BUNDLER_NO_OLD_RUBYGEMS_WARNING"]
|
|
18
|
+
if Gem.rubygems_version < Gem::Version.new("3.2.3") && Gem.ruby_version < Gem::Version.new("2.7.a") && !ENV["BUNDLER_NO_OLD_RUBYGEMS_WARNING"]
|
|
22
19
|
Bundler.ui.warn \
|
|
23
20
|
"Your RubyGems version (#{Gem::VERSION}) has a bug that prevents " \
|
|
24
21
|
"`required_ruby_version` from working for Bundler. Any scripts that use " \
|
|
@@ -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 = "
|
|
8
|
-
@git_commit_sha = "
|
|
7
|
+
@built_at = "2023-05-10".freeze
|
|
8
|
+
@git_commit_sha = "26eb456c6c".freeze
|
|
9
9
|
@release = true
|
|
10
10
|
# end ivars
|
|
11
11
|
|
data/lib/bundler/cli/add.rb
CHANGED
|
@@ -40,7 +40,7 @@ module Bundler
|
|
|
40
40
|
raise InvalidOption, "Please specify gems to add." if gems.empty?
|
|
41
41
|
|
|
42
42
|
version.to_a.each do |v|
|
|
43
|
-
raise InvalidOption, "Invalid gem requirement pattern '#{v}'" unless Gem::Requirement::PATTERN
|
|
43
|
+
raise InvalidOption, "Invalid gem requirement pattern '#{v}'" unless Gem::Requirement::PATTERN.match?(v.to_s)
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
46
|
end
|
data/lib/bundler/cli/binstubs.rb
CHANGED
|
@@ -40,7 +40,11 @@ module Bundler
|
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
if options[:standalone]
|
|
43
|
-
|
|
43
|
+
if gem_name == "bundler"
|
|
44
|
+
Bundler.ui.warn("Sorry, Bundler can only be run via RubyGems.") unless options[:all]
|
|
45
|
+
next
|
|
46
|
+
end
|
|
47
|
+
|
|
44
48
|
Bundler.settings.temporary(:path => (Bundler.settings[:path] || Bundler.root)) do
|
|
45
49
|
installer.generate_standalone_bundler_executable_stubs(spec, installer_opts)
|
|
46
50
|
end
|
data/lib/bundler/cli/check.rb
CHANGED
|
@@ -17,7 +17,7 @@ module Bundler
|
|
|
17
17
|
begin
|
|
18
18
|
definition.resolve_only_locally!
|
|
19
19
|
not_installed = definition.missing_specs
|
|
20
|
-
rescue GemNotFound,
|
|
20
|
+
rescue GemNotFound, SolveFailure
|
|
21
21
|
Bundler.ui.error "Bundler can't satisfy your Gemfile's dependencies."
|
|
22
22
|
Bundler.ui.warn "Install missing gems with `bundle install`."
|
|
23
23
|
exit 1
|
data/lib/bundler/cli/common.rb
CHANGED
data/lib/bundler/cli/console.rb
CHANGED
data/lib/bundler/cli/doctor.rb
CHANGED
|
@@ -73,12 +73,10 @@ module Bundler
|
|
|
73
73
|
definition.specs.each do |spec|
|
|
74
74
|
bundles_for_gem(spec).each do |bundle|
|
|
75
75
|
bad_paths = dylibs(bundle).select do |f|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
true
|
|
81
|
-
end
|
|
76
|
+
Fiddle.dlopen(f)
|
|
77
|
+
false
|
|
78
|
+
rescue Fiddle::DLError
|
|
79
|
+
true
|
|
82
80
|
end
|
|
83
81
|
if bad_paths.any?
|
|
84
82
|
broken_links[spec] ||= []
|
data/lib/bundler/cli/gem.rb
CHANGED
|
@@ -15,7 +15,7 @@ module Bundler
|
|
|
15
15
|
"test-unit" => "3.0",
|
|
16
16
|
}.freeze
|
|
17
17
|
|
|
18
|
-
attr_reader :options, :gem_name, :thor, :name, :target
|
|
18
|
+
attr_reader :options, :gem_name, :thor, :name, :target, :extension
|
|
19
19
|
|
|
20
20
|
def initialize(options, gem_name, thor)
|
|
21
21
|
@options = options
|
|
@@ -28,7 +28,11 @@ module Bundler
|
|
|
28
28
|
@name = @gem_name
|
|
29
29
|
@target = SharedHelpers.pwd.join(gem_name)
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
@extension = options[:ext]
|
|
32
|
+
|
|
33
|
+
validate_ext_name if @extension
|
|
34
|
+
validate_rust_builder_rubygems_version if @extension == "rust"
|
|
35
|
+
travis_removal_info
|
|
32
36
|
end
|
|
33
37
|
|
|
34
38
|
def run
|
|
@@ -55,21 +59,22 @@ module Bundler
|
|
|
55
59
|
end
|
|
56
60
|
|
|
57
61
|
config = {
|
|
58
|
-
:name
|
|
62
|
+
:name => name,
|
|
59
63
|
:underscored_name => underscored_name,
|
|
60
|
-
:namespaced_path
|
|
61
|
-
:makefile_path
|
|
62
|
-
:constant_name
|
|
63
|
-
:constant_array
|
|
64
|
-
:author
|
|
65
|
-
:email
|
|
66
|
-
:test
|
|
67
|
-
:ext
|
|
68
|
-
:exe
|
|
69
|
-
:bundler_version
|
|
70
|
-
:git
|
|
71
|
-
:github_username
|
|
64
|
+
:namespaced_path => namespaced_path,
|
|
65
|
+
:makefile_path => "#{underscored_name}/#{underscored_name}",
|
|
66
|
+
:constant_name => constant_name,
|
|
67
|
+
:constant_array => constant_array,
|
|
68
|
+
:author => git_author_name.empty? ? "TODO: Write your name" : git_author_name,
|
|
69
|
+
:email => git_user_email.empty? ? "TODO: Write your email address" : git_user_email,
|
|
70
|
+
:test => options[:test],
|
|
71
|
+
:ext => extension,
|
|
72
|
+
:exe => options[:exe],
|
|
73
|
+
:bundler_version => bundler_dependency_version,
|
|
74
|
+
:git => use_git,
|
|
75
|
+
:github_username => github_username.empty? ? "[USERNAME]" : github_username,
|
|
72
76
|
:required_ruby_version => required_ruby_version,
|
|
77
|
+
:rust_builder_required_rubygems_version => rust_builder_required_rubygems_version,
|
|
73
78
|
:minitest_constant_name => minitest_constant_name,
|
|
74
79
|
}
|
|
75
80
|
ensure_safe_gem_name(name, constant_array)
|
|
@@ -132,8 +137,6 @@ module Bundler
|
|
|
132
137
|
case config[:ci]
|
|
133
138
|
when "github"
|
|
134
139
|
templates.merge!("github/workflows/main.yml.tt" => ".github/workflows/main.yml")
|
|
135
|
-
when "travis"
|
|
136
|
-
templates.merge!("travis.yml.tt" => ".travis.yml")
|
|
137
140
|
when "gitlab"
|
|
138
141
|
templates.merge!("gitlab-ci.yml.tt" => ".gitlab-ci.yml")
|
|
139
142
|
when "circle"
|
|
@@ -188,14 +191,23 @@ module Bundler
|
|
|
188
191
|
|
|
189
192
|
templates.merge!("exe/newgem.tt" => "exe/#{name}") if config[:exe]
|
|
190
193
|
|
|
191
|
-
if
|
|
194
|
+
if extension == "c"
|
|
192
195
|
templates.merge!(
|
|
193
|
-
"ext/newgem/extconf.rb.tt" => "ext/#{name}/extconf.rb",
|
|
196
|
+
"ext/newgem/extconf-c.rb.tt" => "ext/#{name}/extconf.rb",
|
|
194
197
|
"ext/newgem/newgem.h.tt" => "ext/#{name}/#{underscored_name}.h",
|
|
195
198
|
"ext/newgem/newgem.c.tt" => "ext/#{name}/#{underscored_name}.c"
|
|
196
199
|
)
|
|
197
200
|
end
|
|
198
201
|
|
|
202
|
+
if extension == "rust"
|
|
203
|
+
templates.merge!(
|
|
204
|
+
"Cargo.toml.tt" => "Cargo.toml",
|
|
205
|
+
"ext/newgem/Cargo.toml.tt" => "ext/#{name}/Cargo.toml",
|
|
206
|
+
"ext/newgem/extconf-rust.rb.tt" => "ext/#{name}/extconf.rb",
|
|
207
|
+
"ext/newgem/src/lib.rs.tt" => "ext/#{name}/src/lib.rs",
|
|
208
|
+
)
|
|
209
|
+
end
|
|
210
|
+
|
|
199
211
|
if target.exist? && !target.directory?
|
|
200
212
|
Bundler.ui.error "Couldn't create a new gem named `#{gem_name}` because there's an existing file named `#{gem_name}`."
|
|
201
213
|
exit Bundler::BundlerError.all_errors[Bundler::GenericSystemCallError]
|
|
@@ -270,7 +282,7 @@ module Bundler
|
|
|
270
282
|
Bundler.ui.info hint_text("test")
|
|
271
283
|
|
|
272
284
|
result = Bundler.ui.ask "Enter a test framework. rspec/minitest/test-unit/(none):"
|
|
273
|
-
if
|
|
285
|
+
if /rspec|minitest|test-unit/.match?(result)
|
|
274
286
|
test_framework = result
|
|
275
287
|
else
|
|
276
288
|
test_framework = false
|
|
@@ -306,12 +318,11 @@ module Bundler
|
|
|
306
318
|
"* CircleCI: https://circleci.com/\n" \
|
|
307
319
|
"* GitHub Actions: https://github.com/features/actions\n" \
|
|
308
320
|
"* GitLab CI: https://docs.gitlab.com/ee/ci/\n" \
|
|
309
|
-
"* Travis CI: https://travis-ci.org/\n" \
|
|
310
321
|
"\n"
|
|
311
322
|
Bundler.ui.info hint_text("ci")
|
|
312
323
|
|
|
313
|
-
result = Bundler.ui.ask "Enter a CI service. github/
|
|
314
|
-
if
|
|
324
|
+
result = Bundler.ui.ask "Enter a CI service. github/gitlab/circle/(none):"
|
|
325
|
+
if /github|gitlab|circle/.match?(result)
|
|
315
326
|
ci_template = result
|
|
316
327
|
else
|
|
317
328
|
ci_template = false
|
|
@@ -342,7 +353,7 @@ module Bundler
|
|
|
342
353
|
Bundler.ui.info hint_text("linter")
|
|
343
354
|
|
|
344
355
|
result = Bundler.ui.ask "Enter a linter. rubocop/standard/(none):"
|
|
345
|
-
if
|
|
356
|
+
if /rubocop|standard/.match?(result)
|
|
346
357
|
linter_template = result
|
|
347
358
|
else
|
|
348
359
|
linter_template = false
|
|
@@ -389,7 +400,7 @@ module Bundler
|
|
|
389
400
|
end
|
|
390
401
|
|
|
391
402
|
def ensure_safe_gem_name(name, constant_array)
|
|
392
|
-
if
|
|
403
|
+
if /^\d/.match?(name)
|
|
393
404
|
Bundler.ui.error "Invalid gem name #{name} Please give a name which does not start with numbers."
|
|
394
405
|
exit 1
|
|
395
406
|
end
|
|
@@ -415,28 +426,39 @@ module Bundler
|
|
|
415
426
|
thor.run(%(#{editor} "#{file}"))
|
|
416
427
|
end
|
|
417
428
|
|
|
429
|
+
def rust_builder_required_rubygems_version
|
|
430
|
+
"3.3.11"
|
|
431
|
+
end
|
|
432
|
+
|
|
418
433
|
def required_ruby_version
|
|
419
|
-
|
|
420
|
-
elsif Gem.ruby_version < Gem::Version.new("2.5.a") then "2.4.0"
|
|
421
|
-
elsif Gem.ruby_version < Gem::Version.new("2.6.a") then "2.5.0"
|
|
422
|
-
else
|
|
423
|
-
"2.6.0"
|
|
424
|
-
end
|
|
434
|
+
"2.6.0"
|
|
425
435
|
end
|
|
426
436
|
|
|
427
437
|
def rubocop_version
|
|
428
|
-
|
|
429
|
-
elsif Gem.ruby_version < Gem::Version.new("2.5.a") then "1.12"
|
|
430
|
-
else
|
|
431
|
-
"1.21"
|
|
432
|
-
end
|
|
438
|
+
"1.21"
|
|
433
439
|
end
|
|
434
440
|
|
|
435
441
|
def standard_version
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
442
|
+
"1.3"
|
|
443
|
+
end
|
|
444
|
+
|
|
445
|
+
# TODO: remove at next minor release
|
|
446
|
+
def travis_removal_info
|
|
447
|
+
if options[:ci] == "travis"
|
|
448
|
+
Bundler.ui.error "Support for Travis CI was removed from gem skeleton generator."
|
|
449
|
+
exit 1
|
|
450
|
+
end
|
|
451
|
+
|
|
452
|
+
if Bundler.settings["gem.ci"] == "travis"
|
|
453
|
+
Bundler.ui.error "Support for Travis CI was removed from gem skeleton generator, but it is present in bundle config. Please configure another provider using `bundle config set gem.ci SERVICE` (where SERVICE is one of github/gitlab/circle) or unset configuration using `bundle config unset gem.ci`."
|
|
454
|
+
exit 1
|
|
455
|
+
end
|
|
456
|
+
end
|
|
457
|
+
|
|
458
|
+
def validate_rust_builder_rubygems_version
|
|
459
|
+
if Gem::Version.new(rust_builder_required_rubygems_version) > Gem.rubygems_version
|
|
460
|
+
Bundler.ui.error "Your RubyGems version (#{Gem.rubygems_version}) is too old to build Rust extension. Please update your RubyGems using `gem update --system` or any other way and try again."
|
|
461
|
+
exit 1
|
|
440
462
|
end
|
|
441
463
|
end
|
|
442
464
|
end
|
data/lib/bundler/cli/init.rb
CHANGED
|
@@ -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
|
|
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
|
data/lib/bundler/cli/install.rb
CHANGED
|
@@ -94,9 +94,8 @@ module Bundler
|
|
|
94
94
|
|
|
95
95
|
def warn_if_root
|
|
96
96
|
return if Bundler.settings[:silence_root_warning] || Gem.win_platform? || !Process.uid.zero?
|
|
97
|
-
Bundler.ui.warn "Don't run Bundler as root.
|
|
98
|
-
|
|
99
|
-
"application for all non-root users on this machine.", :wrap => true
|
|
97
|
+
Bundler.ui.warn "Don't run Bundler as root. Installing your bundle as root " \
|
|
98
|
+
"will break this application for all non-root users on this machine.", :wrap => true
|
|
100
99
|
end
|
|
101
100
|
|
|
102
101
|
def dependencies_count_for(definition)
|
data/lib/bundler/cli/lock.rb
CHANGED
|
@@ -15,19 +15,22 @@ module Bundler
|
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
print = options[:print]
|
|
18
|
-
|
|
19
|
-
Bundler.ui =
|
|
18
|
+
previous_ui_level = Bundler.ui.level
|
|
19
|
+
Bundler.ui.level = "silent" if print
|
|
20
20
|
|
|
21
21
|
Bundler::Fetcher.disable_endpoint = options["full-index"]
|
|
22
22
|
|
|
23
23
|
update = options[:update]
|
|
24
24
|
conservative = options[:conservative]
|
|
25
|
+
bundler = options[:bundler]
|
|
25
26
|
|
|
26
27
|
if update.is_a?(Array) # unlocking specific gems
|
|
27
28
|
Bundler::CLI::Common.ensure_all_gems_in_lockfile!(update)
|
|
28
29
|
update = { :gems => update, :conservative => conservative }
|
|
29
|
-
elsif update
|
|
30
|
-
update = { :conservative => conservative }
|
|
30
|
+
elsif update && conservative
|
|
31
|
+
update = { :conservative => conservative }
|
|
32
|
+
elsif update && bundler
|
|
33
|
+
update = { :bundler => bundler }
|
|
31
34
|
end
|
|
32
35
|
definition = Bundler.definition(update)
|
|
33
36
|
|
|
@@ -61,7 +64,7 @@ module Bundler
|
|
|
61
64
|
definition.lock(file)
|
|
62
65
|
end
|
|
63
66
|
|
|
64
|
-
Bundler.ui =
|
|
67
|
+
Bundler.ui.level = previous_ui_level
|
|
65
68
|
end
|
|
66
69
|
end
|
|
67
70
|
end
|