We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 601498a commit bf70bfdCopy full SHA for bf70bfd
1 file changed
src/ruby/versions/ruby.go
@@ -47,6 +47,12 @@ type output struct {
47
}
48
49
func (v *Versions) GetBundlerVersion() (string, error) {
50
+ if v.bundlerVersion != "" {
51
+ return v.bundlerVersion, nil
52
+ }
53
+
54
+ // Fallback: run `bundle version` for environments where bundlerVersion
55
+ // was not populated from the manifest.
56
stdout := bytes.NewBuffer(nil)
57
58
cmd := exec.Command("bundle", "version")
@@ -58,6 +64,8 @@ func (v *Versions) GetBundlerVersion() (string, error) {
64
return "", err
59
65
60
66
67
+ // rubygems >= 4.x changed `bundle version` output from
68
+ // "Bundler version X.Y.Z (...)" to "X.Y.Z (...)".
61
69
re := regexp.MustCompile(`(?:Bundler version )?(\d+\.\d+\.\d+) .*`)
62
70
match := re.FindStringSubmatch(stdout.String())
63
71
0 commit comments