16
16
17
17
source " bin/deps"
18
18
19
+ export ruby_version=" $( cat .ruby-version | tr -d ' \n' ) "
20
+
19
21
# —————————————————————————————————————————————————————————————————————————————————————————————————————————————
20
22
# Private Functions
21
23
# —————————————————————————————————————————————————————————————————————————————————————————————————————————————
@@ -30,8 +32,19 @@ __setup.actions() {
30
32
# —————————————————————————————————————————————————————————————————————————————————————————————————————————————
31
33
32
34
setup.rbenv () {
35
+ command -v rbenv > /dev/null || {
36
+ if [[ $( uname -s) == " Darwin" ]]; then
37
+ command -v brew> /dev/null || /bin/bash -c " $( curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) "
38
+ brew.install.packages rbenv ruby-build
39
+ brew.upgrade.packages rbenv ruby-build
40
+ else
41
+ setup.local-rbenv
42
+ fi
43
+ }
44
+ }
45
+
46
+ setup.local-rbenv () {
33
47
local rbenv_home=" ${HOME} /.rbenv"
34
- local ruby_version=" $( cat .ruby-version | tr -d ' \n' ) "
35
48
36
49
if [[ -n $( command -v ruby) ]]; then
37
50
local installed_version=" $( ruby -e ' puts RUBY_VERSION' | tr -d ' \n' ) "
@@ -65,9 +78,10 @@ setup.rbenv() {
65
78
error " PATH: ${PATH} "
66
79
return 1
67
80
}
81
+ }
68
82
69
- # Set our current ruby version to the desired one, even if it's not yet there.
70
- # This allows the next block to auto-detect it and skip the remainder.
83
+ setup. ruby() {
84
+ run " rbenv install -s ${ruby_version} "
71
85
run " rbenv global ${ruby_version} || true"
72
86
# see if we even need to install anything:
73
87
local ruby_sdk_marker=" $( rbenv versions | grep " ${ruby_version} " | cut -d ' ' -f 1) "
@@ -171,6 +185,7 @@ setup.main() {
171
185
set +e
172
186
h2 " Installing required development dependencies for working with rules_ruby and Bazel."
173
187
setup.rbenv
188
+ setup.ruby
174
189
setup.gems
175
190
[[ -z ${CI} ]] && setup.git-hook
176
191
setup.os-specific " $@ "
0 commit comments