bundler 4.0.1 → 4.0.2
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 +12 -0
- data/lib/bundler/build_metadata.rb +2 -2
- data/lib/bundler/cli/install.rb +1 -1
- data/lib/bundler/cli/pristine.rb +4 -0
- data/lib/bundler/cli.rb +1 -1
- data/lib/bundler/ruby_dsl.rb +15 -12
- data/lib/bundler/rubygems_gem_installer.rb +4 -0
- data/lib/bundler/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bc795eb4fad5cfda77ee10bf7d3dd7ebbd9fbbbfe243f4741d6d927d0dbc1783
|
|
4
|
+
data.tar.gz: aff16ee9ee860d6907e7861eb457b1fc469ab3d61474a2052dbee902c0109f6b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9fedd026b308dc0529dba0e6e2363f3162eca30cd4bc45d302348531eae3f10485a5142cdd2bff81b746c3538bebca71b2baf2a6f8beac320589e162fbf21de0
|
|
7
|
+
data.tar.gz: 48acb62c12160b55a8caee93ffbe77cb59bdf2164a7e3280c44bd74f2246b575d9fc31ec85c753f886d6c64896761dfcd8ad562ca10bdb782e0e81c5e524d857
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 4.0.2 (2025-12-17)
|
|
4
|
+
|
|
5
|
+
### Enhancements:
|
|
6
|
+
|
|
7
|
+
- Support single quotes in mise format ruby version [#9183](https://github.com/ruby/rubygems/pull/9183)
|
|
8
|
+
- Tweak the Bundler's "X gems now installed message": [#9194](https://github.com/ruby/rubygems/pull/9194)
|
|
9
|
+
|
|
10
|
+
### Bug fixes:
|
|
11
|
+
|
|
12
|
+
- Allow to show cli_help with `bundler` executable [#9198](https://github.com/ruby/rubygems/pull/9198)
|
|
13
|
+
- Allow bundle pristine to work for git gems in the same repo [#9196](https://github.com/ruby/rubygems/pull/9196)
|
|
14
|
+
|
|
3
15
|
## 4.0.1 (2025-12-09)
|
|
4
16
|
|
|
5
17
|
### Performance:
|
|
@@ -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 = "2025-12-
|
|
8
|
-
@git_commit_sha = "
|
|
7
|
+
@built_at = "2025-12-17".freeze
|
|
8
|
+
@git_commit_sha = "03359f8b08".freeze
|
|
9
9
|
# end ivars
|
|
10
10
|
|
|
11
11
|
# A hash representation of the build metadata.
|
data/lib/bundler/cli/install.rb
CHANGED
data/lib/bundler/cli/pristine.rb
CHANGED
|
@@ -11,6 +11,7 @@ module Bundler
|
|
|
11
11
|
definition = Bundler.definition
|
|
12
12
|
definition.validate_runtime!
|
|
13
13
|
installer = Bundler::Installer.new(Bundler.root, definition)
|
|
14
|
+
git_sources = []
|
|
14
15
|
|
|
15
16
|
ProcessLock.lock do
|
|
16
17
|
installed_specs = definition.specs.reject do |spec|
|
|
@@ -41,6 +42,9 @@ module Bundler
|
|
|
41
42
|
end
|
|
42
43
|
FileUtils.rm_rf spec.extension_dir
|
|
43
44
|
FileUtils.rm_rf spec.full_gem_path
|
|
45
|
+
|
|
46
|
+
next if git_sources.include?(source)
|
|
47
|
+
git_sources << source
|
|
44
48
|
else
|
|
45
49
|
Bundler.ui.warn("Cannot pristine #{gem_name}. Gem is sourced from local path.")
|
|
46
50
|
next
|
data/lib/bundler/cli.rb
CHANGED
|
@@ -104,7 +104,7 @@ module Bundler
|
|
|
104
104
|
primary_commands = ["install", "update", "cache", "exec", "config", "help"]
|
|
105
105
|
|
|
106
106
|
list = self.class.printable_commands(true)
|
|
107
|
-
by_name = list.group_by {|name, _message| name.match(/^
|
|
107
|
+
by_name = list.group_by {|name, _message| name.match(/^bundler? (\w+)/)[1] }
|
|
108
108
|
utilities = by_name.keys.sort - primary_commands
|
|
109
109
|
primary_commands.map! {|name| (by_name[name] || raise("no primary command #{name}")).first }
|
|
110
110
|
utilities.map! {|name| by_name[name].first }
|
data/lib/bundler/ruby_dsl.rb
CHANGED
|
@@ -42,18 +42,21 @@ module Bundler
|
|
|
42
42
|
# Loads the file relative to the dirname of the Gemfile itself.
|
|
43
43
|
def normalize_ruby_file(filename)
|
|
44
44
|
file_content = Bundler.read_file(gemfile.dirname.join(filename))
|
|
45
|
-
# match "ruby-3.2.2", ruby = "3.2.2" or "ruby 3.2.2" capturing version string up to the first space or comment
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
45
|
+
# match "ruby-3.2.2", ruby = "3.2.2", ruby = '3.2.2' or "ruby 3.2.2" capturing version string up to the first space or comment
|
|
46
|
+
version_match = /^ # Start of line
|
|
47
|
+
ruby # Literal "ruby"
|
|
48
|
+
[\s-]* # Optional whitespace or hyphens (for "ruby-3.2.2" format)
|
|
49
|
+
(?:=\s*)? # Optional equals sign with whitespace (for ruby = "3.2.2" format)
|
|
50
|
+
(?:
|
|
51
|
+
"([^"]+)" # Double quoted version
|
|
52
|
+
|
|
|
53
|
+
'([^']+)' # Single quoted version
|
|
54
|
+
|
|
|
55
|
+
([^\s#"']+) # Unquoted version
|
|
56
|
+
)
|
|
57
|
+
/x.match(file_content)
|
|
58
|
+
if version_match
|
|
59
|
+
version_match[1] || version_match[2] || version_match[3]
|
|
57
60
|
else
|
|
58
61
|
file_content.strip
|
|
59
62
|
end
|
data/lib/bundler/version.rb
CHANGED