rvm 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/binscripts/rvm +3 -2
- data/binscripts/rvm-update-head +2 -1
- data/binscripts/rvm-update-latest +2 -1
- data/binscripts/rvmsudo +3 -3
- data/contrib/install-system-wide +2 -1
- data/install +3 -2
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +2 -3
- data/scripts/alias +14 -6
- data/scripts/array +1 -1
- data/scripts/cd +3 -2
- data/scripts/cleanup +1 -1
- data/scripts/cli +154 -98
- data/scripts/docs +5 -1
- data/scripts/env +4 -1
- data/scripts/environment-convertor +4 -2
- data/scripts/fetch +2 -0
- data/scripts/gemsets +133 -71
- data/scripts/hash +3 -3
- data/scripts/help +4 -3
- data/scripts/hook +7 -3
- data/scripts/info +18 -12
- data/scripts/install +3 -2
- data/scripts/list +48 -20
- data/scripts/log +15 -14
- data/scripts/maglev +1 -1
- data/scripts/manage +49 -33
- data/scripts/match +2 -2
- data/scripts/md5 +5 -3
- data/scripts/migrate +7 -3
- data/scripts/notes +5 -4
- data/scripts/package +7 -4
- data/scripts/patches +6 -5
- data/scripts/patchsets +8 -3
- data/scripts/repair +7 -4
- data/scripts/rubygems +5 -4
- data/scripts/rvm +11 -13
- data/scripts/rvm-install +3 -2
- data/scripts/selector +181 -106
- data/scripts/set +8 -7
- data/scripts/snapshot +6 -4
- data/scripts/tools +6 -4
- data/scripts/update +3 -2
- data/scripts/upgrade +13 -12
- data/scripts/utility +282 -117
- metadata +4 -5
- data/scripts/man +0 -0
data/binscripts/rvm
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
-
|
3
|
+
rvm_ignore_rvmrc=${rvm_ignore_rvmrc:-0}
|
4
|
+
if [[ $rvm_ignore_rvmrc -eq 0 ]]; then
|
4
5
|
for rvmrc in /etc/rvmrc "$HOME/.rvmrc" ; do
|
5
6
|
if [[ -f "$rvmrc" ]] ; then
|
6
7
|
if \grep -q '^\s*rvm .*$' "$rvmrc" ; then
|
@@ -48,6 +49,6 @@ rvm_scripts_path="${rvm_scripts_path:-"$rvm_path/scripts"}"
|
|
48
49
|
|
49
50
|
source "$rvm_scripts_path/rvm"
|
50
51
|
|
51
|
-
unset
|
52
|
+
unset rvm_interactive_flag
|
52
53
|
|
53
54
|
rvm "$@"
|
data/binscripts/rvm-update-head
CHANGED
data/binscripts/rvmsudo
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
3
|
prefix="PATH='$PATH'"
|
4
|
-
if [[
|
5
|
-
if [[
|
6
|
-
if [[
|
4
|
+
if [[ -n "${BUNDLE_PATH:-""}" ]] ; then prefix="BUNDLE_PATH='$BUNDLE_PATH' $prefix" ; fi
|
5
|
+
if [[ -n "${GEM_HOME:-""}" ]] ; then prefix="GEM_HOME='$GEM_HOME' $prefix" ; fi
|
6
|
+
if [[ -n "${GEM_PATH:-""}" ]] ; then prefix="GEM_PATH='$GEM_PATH' $prefix" ; fi
|
7
7
|
|
8
8
|
eval "sudo" "/usr/bin/env $prefix $@"
|
9
9
|
# rvm_env_prefix="PATH='$PATH'"
|
data/contrib/install-system-wide
CHANGED
@@ -21,7 +21,8 @@ elif [[ "$(uname)" != "Linux" ]]; then
|
|
21
21
|
fi
|
22
22
|
|
23
23
|
# Load the rvm config.
|
24
|
-
|
24
|
+
rvm_ignore_rvmrc=${rvm_ignore_rvmrc:-0}
|
25
|
+
if [[ $rvm_ignore_rvmrc -eq 0 ]]; then
|
25
26
|
[[ -s /etc/rvmrc ]] && source /etc/rvmrc
|
26
27
|
[[ -s "$HOME/.rvmrc" ]] && source "$HOME/.rvmrc"
|
27
28
|
fi
|
data/install
CHANGED
@@ -201,7 +201,7 @@ fi
|
|
201
201
|
spinner
|
202
202
|
if [[ -d gemsets/ ]] ; then
|
203
203
|
\mkdir -p "$rvm_gemsets_path"
|
204
|
-
for gemset_file in $(cd gemsets ; find \. -iname '*.gems' | sed 's/^\.\///') ; do
|
204
|
+
for gemset_file in $(builtin cd gemsets ; find \. -iname '*.gems' | sed 's/^\.\///') ; do
|
205
205
|
destination="$rvm_gemsets_path/$gemset_file"
|
206
206
|
destination_path="$(dirname "$destination")"
|
207
207
|
if [[ ! -s "$destination" ]] ; then
|
@@ -214,7 +214,7 @@ fi
|
|
214
214
|
spinner
|
215
215
|
if [[ -d patchsets/ ]] ; then
|
216
216
|
\mkdir -p "$rvm_patchsets_path"
|
217
|
-
for patchset_file in $(cd patchsets ; find \. -iname '*' | sed 's/^\.\///') ; do
|
217
|
+
for patchset_file in $(builtin cd patchsets ; find \. -iname '*' | sed 's/^\.\///') ; do
|
218
218
|
destination="$rvm_patchsets_path/$patchset_file"
|
219
219
|
destination_path="$(dirname "$destination")"
|
220
220
|
if [[ ! -s "$destination" ]] ; then
|
@@ -318,6 +318,7 @@ if [[ "$upgrade_flag" -eq 1 ]] ; then
|
|
318
318
|
printf "\n * 'rvm notes' tells you OS dependency packages for installing rubies."
|
319
319
|
printf "\n * If you encounter any issues with a ruby your best bet is to 'rvm remove X ; rvm install X' "
|
320
320
|
printf "\n * Gemset separator is '@' and will remain unless any rubies error using it."
|
321
|
+
printf "\n * If you wish to have the 'pretty colors' again, set 'export rvm_pretty_print=1' in ~/.rvmrc.\n"
|
321
322
|
printf "\n$(tput sgr0)\n"
|
322
323
|
check_rubyopt_conditions
|
323
324
|
printf "\nUpgrade of RVM in $rvm_path/ is complete.\n\n"
|
data/lib/VERSION.yml
CHANGED
data/rvm.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rvm}
|
8
|
-
s.version = "1.0.
|
8
|
+
s.version = "1.0.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Wayne E. Seguin"]
|
12
|
-
s.date = %q{2010-09-
|
12
|
+
s.date = %q{2010-09-06}
|
13
13
|
s.default_executable = %q{rvm-install}
|
14
14
|
s.description = %q{Manages Ruby interpreter environments and switching between them.}
|
15
15
|
s.email = %q{wayneeseguin@gmail.com}
|
@@ -125,7 +125,6 @@ Gem::Specification.new do |s|
|
|
125
125
|
"scripts/list",
|
126
126
|
"scripts/log",
|
127
127
|
"scripts/maglev",
|
128
|
-
"scripts/man",
|
129
128
|
"scripts/manage",
|
130
129
|
"scripts/match",
|
131
130
|
"scripts/md5",
|
data/scripts/alias
CHANGED
@@ -47,16 +47,21 @@ show_alias() {
|
|
47
47
|
delete_alias() {
|
48
48
|
echo "Deleting alias: $alias_name"
|
49
49
|
for link in "$rvm_rubies_path/$alias_name" ; do
|
50
|
-
if [[ -L "$link" ]] ; then
|
50
|
+
if [[ -L "$link" ]] ; then rm -f $link ; fi
|
51
51
|
done
|
52
52
|
"$rvm_scripts_path"/db "$rvm_config_path/alias" "$alias_name" "delete"
|
53
53
|
}
|
54
54
|
|
55
55
|
create_alias() {
|
56
|
+
rvm_environment_identifier="${rvm_environment_identifier:-""}"
|
57
|
+
alias_name="${alias_name:-""}"
|
58
|
+
rvm_ruby_string="${rvm_ruby_string:-""}"
|
59
|
+
|
56
60
|
if alias_conflicts_with_ruby "$alias_name"; then
|
57
61
|
# Force it to an empty alias name to trigger the usage.
|
58
62
|
alias_name=""
|
59
63
|
fi
|
64
|
+
|
60
65
|
if [[ -z "$rvm_environment_identifier" ]] || [[ -z "$alias_name" ]] ; then
|
61
66
|
"$rvm_scripts_path"/log "error" "usage: 'rvm alias [alias_name] [ruby_string]'"
|
62
67
|
result=1
|
@@ -100,11 +105,14 @@ alias_list() {
|
|
100
105
|
done; unset item
|
101
106
|
}
|
102
107
|
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
+
args=($*)
|
109
|
+
action="${args[0]}"
|
110
|
+
alias_name="${args[1]}"
|
111
|
+
rvm_environment_identifier="${args[2]}"
|
112
|
+
args="$(echo ${args[@]:3}) " # Strip trailing / leading / extra spacing.
|
113
|
+
|
114
|
+
if [[ ! -f "$rvm_config_path/alias" ]] ; then touch "$rvm_config_path/alias" ; fi
|
115
|
+
if printf "$alias_name" | grep -q "$rvm_gemset_separator" ; then
|
108
116
|
gemset_name="${alias_name/*${rvm_gemset_separator}/}"
|
109
117
|
alias_name="${alias_name/${rvm_gemset_separator}*/}"
|
110
118
|
fi
|
data/scripts/array
CHANGED
data/scripts/cd
CHANGED
@@ -2,8 +2,9 @@
|
|
2
2
|
|
3
3
|
# Source a .rvmrc file in a directory after changing to it, if it exists.
|
4
4
|
# To disable this fature, set rvm_project_rvmrc=0 in $HOME/.rvmrc
|
5
|
-
|
6
|
-
|
5
|
+
rvm_project_rvmrc=${rvm_project_rvmrc:-1}
|
6
|
+
if [[ $rvm_project_rvmrc -ne 0 ]] ; then
|
7
|
+
if [[ -n "${ZSH_VERSION:-""}" ]] ; then
|
7
8
|
autoload is-at-least
|
8
9
|
if is-at-least 4.3.4 >/dev/null 2>&1; then
|
9
10
|
# On zsh, use chpwd_functions
|
data/scripts/cleanup
CHANGED
@@ -13,7 +13,7 @@ cleanup() {
|
|
13
13
|
eval "current_path=\"\$rvm_${cleanup_type}_path\""
|
14
14
|
if [[ -n "$current_path" && -d "$current_path" && "$current_path" != "/" ]]; then
|
15
15
|
"$rvm_scripts_path"/log "info" "Cleaning up rvm directory '$current_path'"
|
16
|
-
|
16
|
+
rm -rf "$current_path"/* >/dev/null 2>&1
|
17
17
|
fi
|
18
18
|
done; unset cleanup_type current_path
|
19
19
|
}
|
data/scripts/cli
CHANGED
@@ -16,8 +16,17 @@ __rvm_parse_args() {
|
|
16
16
|
|
17
17
|
if echo "$@" | \grep -q 'trace' ; then echo "$@" ; __rvm_version ; fi
|
18
18
|
|
19
|
+
rvm_action="${rvm_action:-""}"
|
20
|
+
export rvm_ruby_string="${rvm_ruby_string:-""}"
|
21
|
+
|
22
|
+
local rvm_parse_break=0
|
23
|
+
local rvm_error_message=""
|
24
|
+
|
19
25
|
while [[ $# -gt 0 ]] ; do
|
20
|
-
rvm_token="$
|
26
|
+
rvm_token="$next_token" ; shift
|
27
|
+
|
28
|
+
if [[ $# -gt 0 ]] ; then next_token="$1" ; else next_token="" ; fi
|
29
|
+
|
21
30
|
case "$rvm_token" in
|
22
31
|
fetch|version|srcdir|reset|debug|reload|update|monitor|notes|implode|seppuku|question|answer|env)
|
23
32
|
rvm_action=$rvm_token
|
@@ -25,17 +34,17 @@ __rvm_parse_args() {
|
|
25
34
|
|
26
35
|
package)
|
27
36
|
rvm_action="$rvm_token"
|
28
|
-
if [[ "$
|
37
|
+
if [[ "$next_token" = "--only-path" ]]; then
|
29
38
|
shift; rvm_only_path_flag=1
|
30
39
|
fi
|
31
|
-
rvm_ruby_args="
|
40
|
+
rvm_ruby_args="$*"
|
32
41
|
rvm_parse_break=1
|
33
42
|
;;
|
34
43
|
|
35
44
|
use)
|
36
45
|
rvm_action="$rvm_token"
|
37
46
|
rvm_verbose_flag=1
|
38
|
-
if [[ "ruby" = "$
|
47
|
+
if [[ "ruby" = "$next_token" ]] ; then shift ; fi
|
39
48
|
;;
|
40
49
|
|
41
50
|
install|uninstall)
|
@@ -56,7 +65,7 @@ __rvm_parse_args() {
|
|
56
65
|
rvm_ruby_string="$rvm_token"
|
57
66
|
rvm_ruby_strings="$rvm_token"
|
58
67
|
rvm_action="${rvm_action:-use}"
|
59
|
-
if "$rvm_scripts_path"/match "$
|
68
|
+
if "$rvm_scripts_path"/match "$next_token" "^[0-9]\.[0-9]" ; then rvm_ruby_version=$next_token ; shift ; fi
|
60
69
|
;;
|
61
70
|
|
62
71
|
gemset)
|
@@ -64,13 +73,15 @@ __rvm_parse_args() {
|
|
64
73
|
|
65
74
|
rvm_ruby_gem_home="$GEM_HOME"
|
66
75
|
|
67
|
-
if [[
|
76
|
+
if [[ -z "$next_token" ]] ; then
|
77
|
+
rvm_ruby_args="help"
|
78
|
+
elif [[ "clear" = "$next_token" ]] ; then
|
68
79
|
__rvm_gemset_clear
|
69
80
|
rvm_ruby_args="clear"
|
70
|
-
elif [[ "use" = "$
|
81
|
+
elif [[ "use" = "$next_token" ]] ; then
|
71
82
|
rvm_use_flag=1
|
72
83
|
rvm_ruby_args="$@" ; shift
|
73
|
-
rvm_gemset_name="$
|
84
|
+
rvm_gemset_name="$next_token" ; shift
|
74
85
|
if [[ ! -z "$(echo $rvm_gemset_name | \grep $rvm_gemset_separator)" ]] ; then
|
75
86
|
rvm_ruby_string=$(echo $rvm_gemset_name | sed 's/\(.*\)'${rvm_gemset_separator}'.*/\1/')
|
76
87
|
rvm_gemset_name=$(echo $rvm_gemset_name | sed 's/.*'${rvm_gemset_separator}'\(.*\)/\1/')
|
@@ -79,10 +90,10 @@ __rvm_parse_args() {
|
|
79
90
|
fi
|
80
91
|
rvm_ruby_gem_home="$rvm_ruby_gem_home${rvm_gemset_separator}$rvm_gemset_name"
|
81
92
|
fi
|
82
|
-
elif [[ "delete" = "$
|
93
|
+
elif [[ "delete" = "$next_token" ]] ; then
|
83
94
|
rvm_delete_flag=1
|
84
95
|
rvm_ruby_args="$@" ; shift
|
85
|
-
rvm_gemset_name="$
|
96
|
+
rvm_gemset_name="$next_token"; shift
|
86
97
|
if echo "$rvm_gemset_name" | \grep -q "$rvm_gemset_separator" ; then
|
87
98
|
rvm_ruby_string=$(echo "$rvm_gemset_name" | sed 's/\(.*\)'${rvm_gemset_separator}'.*/\1/')
|
88
99
|
rvm_gemset_name=$(echo "$rvm_gemset_name" | sed 's/.*'${rvm_gemset_separator}'\(.*\)/\1/')
|
@@ -92,6 +103,7 @@ __rvm_parse_args() {
|
|
92
103
|
rvm_ruby_gem_home="$rvm_ruby_gem_home${rvm_gemset_separator}$rvm_gemset_name"
|
93
104
|
fi
|
94
105
|
else
|
106
|
+
rvm_gemset_name="${rvm_gemset_name:-""}"
|
95
107
|
if [[ "$rvm_ruby_string" != "$rvm_gemset_name" ]] ; then __rvm_ruby_string ; fi
|
96
108
|
rvm_ruby_args="$@"
|
97
109
|
fi
|
@@ -101,11 +113,11 @@ __rvm_parse_args() {
|
|
101
113
|
gemdir|gempath|gemhome)
|
102
114
|
rvm_action=$rvm_token
|
103
115
|
rvm_gemdir_flag=1
|
104
|
-
if [[ "system" = "$
|
105
|
-
if [[ "user" = "$
|
116
|
+
if [[ "system" = "$next_token" ]] ; then rvm_system_flag=1 ; shift ; fi
|
117
|
+
if [[ "user" = "$next_token" ]] ; then rvm_user_flag=1 ; shift ; fi
|
106
118
|
;;
|
107
119
|
|
108
|
-
inspect|list|info)
|
120
|
+
inspect|list|info|strings)
|
109
121
|
rvm_action="$rvm_token"
|
110
122
|
rvm_ruby_args="$@"
|
111
123
|
rvm_parse_break=1
|
@@ -142,15 +154,15 @@ __rvm_parse_args() {
|
|
142
154
|
;;
|
143
155
|
|
144
156
|
do|ruby|rake|gem|rubydo|rakedo|gemdo)
|
145
|
-
if [[ "do" = "$rvm_action" ]] ; then rvm_action="ruby" ; fi
|
157
|
+
if [[ "do" = "${rvm_action:-""}" ]] ; then rvm_action="ruby" ; fi
|
146
158
|
rvm_action=$(echo $rvm_token | sed 's#do##g')
|
147
|
-
if [[ "rake" = "$rvm_action"
|
148
|
-
if [[ -z "$
|
149
|
-
if [[ "gem" = "$rvm_action" ]] ; then
|
159
|
+
if [[ "rake" = "${rvm_action:-""}" || "gem" = "${rvm_action:-""}" || "ruby" = "${rvm_action:-""}" ]] ; then
|
160
|
+
if [[ -z "$next_token" ]] ; then
|
161
|
+
if [[ "gem" = "${rvm_action:-""}" ]] ; then
|
150
162
|
rvm_action="error"
|
151
163
|
rvm_error_message="'rvm $rvm_action' must be followed by arguments."
|
152
|
-
elif [[ "ruby" = "$rvm_action" ]] ; then
|
153
|
-
if echo "$rvm_ruby_strings" | \grep -q ',' ; then
|
164
|
+
elif [[ "ruby" = "${rvm_action:-""}" ]] ; then
|
165
|
+
if echo "$rvm_ruby_strings":-""} | \grep -q ',' ; then
|
154
166
|
rvm_action="ruby"
|
155
167
|
rvm_ruby_args=""
|
156
168
|
else
|
@@ -158,11 +170,11 @@ __rvm_parse_args() {
|
|
158
170
|
rvm_error_message="rvm X,Y,Z '$rvm_action' must be followed by arguments."
|
159
171
|
fi
|
160
172
|
fi
|
161
|
-
elif [[ "-S" = "$
|
173
|
+
elif [[ "-S" = "$next_token" ]] ; then
|
162
174
|
rvm_action="ruby"
|
163
175
|
rvm_ruby_args="$flag $(__rvm_quote_args "$@")"
|
164
176
|
rvm_parse_break=1
|
165
|
-
elif [[ "-e" = "$
|
177
|
+
elif [[ "-e" = "$next_token" ]] ; then
|
166
178
|
rvm_action="ruby"
|
167
179
|
rvm_ruby_args="$flag $(__rvm_quote_args "$@")"
|
168
180
|
rvm_parse_break=1
|
@@ -171,16 +183,16 @@ __rvm_parse_args() {
|
|
171
183
|
rvm_parse_break=1
|
172
184
|
fi
|
173
185
|
else
|
174
|
-
if "$rvm_scripts_path"/match "$
|
186
|
+
if "$rvm_scripts_path"/match "$next_token" "^-" ; then
|
175
187
|
unset rvm_ruby_strings
|
176
188
|
else
|
177
|
-
if "$rvm_scripts_path"/match "$
|
189
|
+
if "$rvm_scripts_path"/match "$next_token" "^[0-9]" ; then
|
178
190
|
rvm_ruby_strings="${1//,/ }" ; shift
|
179
191
|
unset rvm_ruby_interpreter
|
180
192
|
else
|
181
|
-
if [[ "ruby rbx jruby macruby ree rubinius maglev mput shyouhei ironruby" =~ $
|
182
|
-
rvm_ruby_strings=$
|
183
|
-
rvm_ruby_interpreter=$
|
193
|
+
if [[ "ruby rbx jruby macruby ree rubinius maglev mput shyouhei ironruby" =~ $next_token ]] ; then
|
194
|
+
rvm_ruby_strings=$next_token
|
195
|
+
rvm_ruby_interpreter=$next_token
|
184
196
|
shift
|
185
197
|
else
|
186
198
|
unset rvm_ruby_interpreter rvm_ruby_strings
|
@@ -200,10 +212,10 @@ __rvm_parse_args() {
|
|
200
212
|
;;
|
201
213
|
|
202
214
|
-v|--version)
|
203
|
-
if [[ -z "$
|
215
|
+
if [[ -z "$next_token" ]] ; then
|
204
216
|
rvm_action="version"
|
205
217
|
else
|
206
|
-
rvm_ruby_version="$
|
218
|
+
rvm_ruby_version="$next_token"
|
207
219
|
shift
|
208
220
|
fi
|
209
221
|
;;
|
@@ -213,7 +225,7 @@ __rvm_parse_args() {
|
|
213
225
|
;;
|
214
226
|
|
215
227
|
--ree-options)
|
216
|
-
if [[ ! -z "$
|
228
|
+
if [[ ! -z "$next_token" ]] ; then
|
217
229
|
export rvm_ree_options="${1//,/ }" ; shift
|
218
230
|
else
|
219
231
|
rvm_action="error"
|
@@ -222,26 +234,26 @@ __rvm_parse_args() {
|
|
222
234
|
;;
|
223
235
|
|
224
236
|
--patches|--patch)
|
225
|
-
rvm_patch_names="$
|
237
|
+
rvm_patch_names="$next_token ${rvm_patch_names:-""}"; shift
|
226
238
|
rvm_patch_original_pwd="$PWD"
|
227
239
|
;;
|
228
240
|
|
229
241
|
--head) rvm_head_flag=1 ;;
|
230
242
|
|
231
243
|
--bin)
|
232
|
-
if [[ "update" = "$rvm_action" ]] ; then
|
244
|
+
if [[ "update" = "${rvm_action:-""}" ]] ; then
|
233
245
|
rvm_bin_flag=1
|
234
246
|
else
|
235
|
-
rvm_bin_path="$
|
247
|
+
rvm_bin_path="$next_token" ; shift
|
236
248
|
fi
|
237
249
|
;;
|
238
250
|
|
239
251
|
-r|--require)
|
240
|
-
if [[ -z "$
|
252
|
+
if [[ -z "$next_token" ]] ; then
|
241
253
|
rvm_action="error"
|
242
254
|
rvm_error_message="-r|--require *must* be followed by a library name."
|
243
255
|
else
|
244
|
-
rvm_ruby_require="$rvm_ruby_require -r$
|
256
|
+
rvm_ruby_require="$rvm_ruby_require -r$next_token"
|
245
257
|
shift
|
246
258
|
fi
|
247
259
|
;;
|
@@ -253,7 +265,7 @@ __rvm_parse_args() {
|
|
253
265
|
|
254
266
|
-f|--file)
|
255
267
|
rvm_action="ruby"
|
256
|
-
rvm_ruby_file="$
|
268
|
+
rvm_ruby_file="$next_token"
|
257
269
|
shift
|
258
270
|
;;
|
259
271
|
|
@@ -275,7 +287,7 @@ __rvm_parse_args() {
|
|
275
287
|
;;
|
276
288
|
|
277
289
|
--alias)
|
278
|
-
if [[ -n "$
|
290
|
+
if [[ -n "$next_token" ]]; then
|
279
291
|
rvm_ruby_aliases="$(echo "${rvm_ruby_aliases//,/ } ${1//,/ }" | __rvm_strip)"
|
280
292
|
shift
|
281
293
|
fi
|
@@ -288,41 +300,59 @@ __rvm_parse_args() {
|
|
288
300
|
|
289
301
|
wrapper)
|
290
302
|
rvm_action="$rvm_token"
|
291
|
-
rvm_ruby_string="$
|
292
|
-
[[ -n "$
|
293
|
-
rvm_wrapper_name="$
|
294
|
-
[[ -n "$
|
303
|
+
rvm_ruby_string="$next_token" ;
|
304
|
+
[[ -n "$next_token" ]] && shift
|
305
|
+
rvm_wrapper_name="$next_token"
|
306
|
+
[[ -n "$next_token" ]] && shift
|
295
307
|
rvm_ruby_args="$@" # list of binaries, or none
|
296
308
|
rvm_parse_break=1
|
297
309
|
;;
|
298
310
|
|
299
|
-
-G) path_variable="rvm_gems_path" ; __rvm_set_path_variable "$
|
300
|
-
--source) path_variable="rvm_src_path" ; __rvm_set_path_variable "$
|
301
|
-
--archives) path_variable="rvm_archives_path" ; __rvm_set_path_variable "$
|
311
|
+
-G) path_variable="rvm_gems_path" ; __rvm_set_path_variable "$next_token"; shift ;;
|
312
|
+
--source) path_variable="rvm_src_path" ; __rvm_set_path_variable "$next_token"; shift ;;
|
313
|
+
--archives) path_variable="rvm_archives_path" ; __rvm_set_path_variable "$next_token"; shift ;;
|
302
314
|
-h|--help|usage) rvm_action=help ;;
|
303
|
-
--make) rvm_ruby_make="$
|
304
|
-
--make-install) rvm_ruby_make_install="$
|
305
|
-
--nice) rvm_niceness="$
|
306
|
-
-l|--level) rvm_ruby_patch_level="p$
|
307
|
-
# TODO: handle this below better (if $
|
308
|
-
--sdk) rvm_sdk="$
|
309
|
-
--archflags) rvm_archflags="$
|
315
|
+
--make) rvm_ruby_make="$next_token" ; shift ;;
|
316
|
+
--make-install) rvm_ruby_make_install="$next_token" ; shift ;;
|
317
|
+
--nice) rvm_niceness="$next_token" ; shift ;;
|
318
|
+
-l|--level) rvm_ruby_patch_level="p$next_token" ; shift ;;
|
319
|
+
# TODO: handle this below better (if $next_token is null)
|
320
|
+
--sdk) rvm_sdk="$next_token" ; shift ;;
|
321
|
+
--archflags) rvm_archflags="$next_token" ; shift ;;
|
310
322
|
--install) rvm_install_on_use_flag=1 ;;
|
311
|
-
--trace)
|
323
|
+
--trace)
|
324
|
+
rvm_trace_flag=1
|
325
|
+
if [[ -z "${ZSH_VERSION:-""}" ]] ; then
|
326
|
+
local option="" ;
|
327
|
+
for option in verbose xtrace errexit errtrace noclobber nounset pipefail ; do
|
328
|
+
set -o $option
|
329
|
+
done
|
330
|
+
export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'
|
331
|
+
else
|
332
|
+
set -x
|
333
|
+
fi
|
334
|
+
;;
|
335
|
+
--debug)
|
336
|
+
rvm_debug_flag=1
|
337
|
+
local option="" ;
|
338
|
+
for option in verbose errtrace ; do
|
339
|
+
set -o $option
|
340
|
+
done
|
341
|
+
;;
|
312
342
|
-q|--quiet) rvm_quiet_flag=1 ;;
|
313
343
|
-s|--silent) rvm_silent_flag=1 ;;
|
314
|
-
--proxy) rvm_proxy="$
|
344
|
+
--proxy) rvm_proxy="$next_token" ; shift ;;
|
315
345
|
--disable-llvm|--disable-jit) rvm_llvm_flag=0 ;;
|
316
346
|
--enable-llvm|--enable-jit) rvm_llvm_flag=1 ;;
|
317
347
|
|
318
348
|
reboot|damnit|wtf|argh|BOOM|boom|wth) $rvm_action="reboot" ;;
|
319
349
|
|
320
|
-
--self|--gem|--rubygems|--reconfigure|--default|--
|
350
|
+
--self|--gem|--rubygems|--reconfigure|--default|--force|--export|--summary|--latest|--yaml|--json|--archive|--shebang|--env|--path|--tail|--delete|--verbose|--import|--rvmrc|--sticky|--create|--gems|--docs)
|
321
351
|
export "rvm_${rvm_token//-/}_flag"=1
|
322
352
|
;;
|
323
353
|
|
324
354
|
--dump-environment)
|
325
|
-
export rvm_dump_environment_flag="$
|
355
|
+
export rvm_dump_environment_flag="$next_token"; shift
|
326
356
|
;;
|
327
357
|
|
328
358
|
--clang)
|
@@ -332,8 +362,8 @@ __rvm_parse_args() {
|
|
332
362
|
;;
|
333
363
|
|
334
364
|
-j)
|
335
|
-
if [[ ! -z "$
|
336
|
-
rvm_make_flags="$rvm_make_flags -j$
|
365
|
+
if [[ ! -z "$next_token" ]] ; then
|
366
|
+
rvm_make_flags="$rvm_make_flags -j$next_token"
|
337
367
|
shift
|
338
368
|
else
|
339
369
|
rvm_action="error"
|
@@ -342,13 +372,13 @@ __rvm_parse_args() {
|
|
342
372
|
;;
|
343
373
|
|
344
374
|
--with-rubies)
|
345
|
-
rvm_ruby_strings="$
|
375
|
+
rvm_ruby_strings="$next_token"
|
346
376
|
shift
|
347
377
|
;;
|
348
378
|
|
349
379
|
-C|--configure)
|
350
|
-
if [[ ! -z "$
|
351
|
-
rvm_ruby_configure_flags="$(echo $
|
380
|
+
if [[ ! -z "$next_token" ]] ; then
|
381
|
+
rvm_ruby_configure_flags="$(echo $next_token | sed -e 's#,--# --#g')"
|
352
382
|
shift
|
353
383
|
else
|
354
384
|
rvm_action="error"
|
@@ -362,11 +392,11 @@ __rvm_parse_args() {
|
|
362
392
|
--disable-*) rvm_ruby_configure_flags="$rvm_ruby_configure_flags $rvm_token" ;;
|
363
393
|
|
364
394
|
-I|--include)
|
365
|
-
if [[ -z "$
|
395
|
+
if [[ -z "$next_token" ]] ; then
|
366
396
|
rvm_action="error"
|
367
397
|
rvm_error_message="-I|--include *must* be followed by a path."
|
368
398
|
else
|
369
|
-
rvm_ruby_load_path="$rvm_ruby_load_path:$
|
399
|
+
rvm_ruby_load_path="$rvm_ruby_load_path:$next_token"
|
370
400
|
shift
|
371
401
|
fi
|
372
402
|
;;
|
@@ -379,6 +409,7 @@ __rvm_parse_args() {
|
|
379
409
|
if "$rvm_scripts_path/match" "$rvm_token" "^.+${rvm_gemset_separator}.+$" ; then
|
380
410
|
rvm_gemset_name="${rvm_token/*${rvm_gemset_separator}/}"
|
381
411
|
rvm_ruby_string="${rvm_token/${rvm_gemset_separator}*/}"
|
412
|
+
|
382
413
|
elif echo "$rvm_token" | \grep -q '.gems$' ; then
|
383
414
|
rvm_file_name="${rvm_token/.gems/}.gems" # Account for possible .gems.gems
|
384
415
|
# elif [[ ! -z "$(echo "$rvm_token" | awk '/\.gems$/')" ]] ; then
|
@@ -386,45 +417,53 @@ __rvm_parse_args() {
|
|
386
417
|
rvm_gemset_name="${rvm_token/.gems/}"
|
387
418
|
rvm_file_name="$rvm_gemset_name.gems"
|
388
419
|
fi
|
420
|
+
|
389
421
|
elif echo "$rvm_token" | \grep -q ',' ; then
|
390
422
|
rvm_ruby_strings="$rvm_token"
|
391
|
-
if [[ -z "$rvm_action" ]] ; then
|
423
|
+
if [[ -z "${rvm_action:-""}" ]] ; then
|
392
424
|
rvm_action="ruby" # Not sure if we really want to do this but we'll try it out.
|
393
425
|
fi
|
426
|
+
|
394
427
|
elif "$rvm_scripts_path/match" "$rvm_token" "^${rvm_gemset_separator}" ; then
|
395
|
-
rvm_action="use"
|
396
|
-
rvm_gemset_name="$(echo "$rvm_token" | awk -F${rvm_gemset_separator} '{print $2}')"
|
428
|
+
rvm_action="${rvm_action:-use}"
|
397
429
|
rvm_gemset_name="${rvm_token/*${rvm_gemset_separator}/}"
|
398
|
-
rvm_ruby_string="$
|
430
|
+
rvm_ruby_string="${rvm_ruby_string:-""}"
|
399
431
|
rvm_ruby_strings="${rvm_ruby_string}${rvm_gemset_separator}${rvm_gemset_name}"
|
432
|
+
|
400
433
|
elif "$rvm_scripts_path/match" "$rvm_token" "^.+${rvm_gemset_separator}.+$" ; then
|
401
|
-
|
402
|
-
rvm_ruby_string="$
|
434
|
+
gemset_name="${rvm_token/*${rvm_gemset_separator}/}"
|
435
|
+
rvm_ruby_string="$rvm_token"
|
403
436
|
rvm_ruby_strings="$rvm_token"
|
437
|
+
|
404
438
|
elif "$rvm_scripts_path/match" "$rvm_token" "^.+\\+.+$" ; then
|
405
439
|
rvm_ruby_alias="${rvm_token/*+/}"
|
406
440
|
rvm_ruby_string="${rvm_token/+*/}"
|
407
441
|
rvm_ruby_strings="$rvm_ruby_string"
|
442
|
+
|
408
443
|
elif "$rvm_scripts_path/match" "$rvm_token" "-" ; then
|
409
444
|
rvm_ruby_string="$rvm_token"
|
410
445
|
rvm_ruby_strings="$rvm_token"
|
446
|
+
|
411
447
|
elif "$rvm_scripts_path/match" "$rvm_token" "^[0-9].[0-9]" ; then
|
412
448
|
rvm_ruby_string="$rvm_token"
|
413
449
|
rvm_ruby_strings="$rvm_token"
|
414
450
|
rvm_action="${rvm_action:-use}"
|
451
|
+
|
415
452
|
elif "$rvm_scripts_path/match" "$rvm_token" "^ree-" ; then
|
416
453
|
rvm_ruby_string="$rvm_token"
|
417
454
|
rvm_ruby_strings="$rvm_token"
|
418
455
|
rvm_action="${rvm_action:-use}"
|
456
|
+
|
419
457
|
elif [[ -L "$rvm_rubies_path/$rvm_token" ]] ; then # Alias
|
420
458
|
rvm_ruby_string=$rvm_token
|
421
459
|
rvm_ruby_strings="$rvm_token"
|
422
460
|
rvm_action="${rvm_action:-use}"
|
461
|
+
|
423
462
|
else
|
424
463
|
if "$rvm_scripts_path/match" "$rvm_token" ".rb$" ; then # we have a specified ruby script
|
425
464
|
rvm_ruby_args=$rvm_token
|
426
465
|
rvm_ruby_file=$rvm_token
|
427
|
-
if [[ -z "$rvm_action" ]] ; then rvm_action="ruby" ; fi
|
466
|
+
if [[ -z "${rvm_action:-""}" ]] ; then rvm_action="ruby" ; fi
|
428
467
|
else
|
429
468
|
rvm_action="error"
|
430
469
|
rvm_error_message="Unrecognized command line argument: '$rvm_token'"
|
@@ -434,34 +473,47 @@ __rvm_parse_args() {
|
|
434
473
|
rvm_action="error"
|
435
474
|
rvm_error_message="Unrecognized command line argument(s): '$rvm_token $@'"
|
436
475
|
fi
|
437
|
-
|
476
|
+
|
477
|
+
if [[ "error" = "${rvm_action:-""}" ]] ; then
|
438
478
|
break;
|
439
479
|
fi
|
440
480
|
esac
|
441
481
|
|
442
|
-
if [[ -z "$rvm_action"
|
443
|
-
|
482
|
+
if [[ -z "${rvm_action:-""}" && -n "${rvm_ruby_string:-""}" ]] ; then rvm_action="use" ; fi
|
483
|
+
|
484
|
+
if [[ ${rvm_parse_break:-0} -eq 1 || -n "${rvm_error_message:-""}" ]] ; then break ; fi
|
444
485
|
done
|
445
486
|
|
487
|
+
# Empty args list.
|
446
488
|
while [[ $# -gt 0 ]] ; do shift ; done
|
447
489
|
|
448
|
-
if [[
|
490
|
+
if [[ -n "${rvm_error_message:-""}" ]] ; then
|
491
|
+
__rvm_pushpop
|
492
|
+
"$rvm_scripts_path"/log "fail" "$rvm_error_message ( see: 'rvm usage' )"
|
493
|
+
return 1
|
494
|
+
fi
|
495
|
+
|
449
496
|
}
|
450
497
|
|
451
498
|
rvm() {
|
499
|
+
local next_token
|
500
|
+
|
452
501
|
__rvm_setup
|
453
502
|
|
454
|
-
case $- in *i*)
|
455
|
-
*)
|
456
|
-
esac ; export
|
503
|
+
case $- in *i*) rvm_interactive_flag=1 ;;
|
504
|
+
*) rvm_interactive_flag=0 ;;
|
505
|
+
esac ; export rvm_interactive_flag
|
457
506
|
|
458
|
-
if [[ -z "$ZSH_VERSION" ]] ; then
|
507
|
+
if [[ -z "${ZSH_VERSION:-""}" ]] ; then
|
459
508
|
trap '\rm -rf "$rvm_tmp_path/$$" >/dev/null 2>&1' 0 1 2 3 15
|
460
509
|
fi
|
461
510
|
|
462
511
|
# Check that this is the current version.
|
463
512
|
disk_version=$(tail -n 3 < "${rvm_path:-$HOME/.rvm}/lib/VERSION.yml" | sed -e 's/^.*: //g' | \tr "\n" '.' | sed -e 's/\.$//')
|
464
|
-
|
513
|
+
|
514
|
+
if [[ $# -gt 0 ]] ; then next_token="$1" ; else next_token="" ; fi
|
515
|
+
|
516
|
+
if [[ "${rvm_version}" != "${disk_version}" ]] && [[ "reload" != "$next_token" ]]; then
|
465
517
|
printf "\nA RVM version ${disk_version} is installed yet ${rvm_version} is loaded.\n Please do one of the following:\n * 'rvm reload'\n * open a new shell\n * source your shell init scripts"
|
466
518
|
return 1
|
467
519
|
fi
|
@@ -471,7 +523,12 @@ rvm() {
|
|
471
523
|
__rvm_initialize
|
472
524
|
__rvm_parse_args "$@"
|
473
525
|
|
474
|
-
|
526
|
+
rvm_reload_flag=${rvm_reload_flag:-0}
|
527
|
+
rvm_use_flag=${rvm_reload_flag:-0}
|
528
|
+
rvm_delete_flag=${rvm_delete_flag:-0}
|
529
|
+
rvm_action="${rvm_action:-usage}"
|
530
|
+
|
531
|
+
export BUNDLE_PATH GEM_HOME GEM_PATH rvm_ruby_string rvm_action rvm_bin_flag rvm_debug_flag rvm_delete_flag rvm_docs_type rvm_file_name rvm_gemset_name rvm_head_flag rvm_install_on_use_flag rvm_interactive_flag rvm_llvm_flag rvm_make_flags rvm_proxy rvm_remove_flag rvm_ruby_args rvm_ruby_configure_flags rvm_ruby_file rvm_ruby_gem_home rvm_ruby_interpreter rvm_ruby_name rvm_ruby_version rvm_system_flag rvm_trace_flag rvm_use_flag rvm_user_flag rvm_verbose_flag rvm_patch_names rvm_patch_original_pwd rvm_clang_flag rvm_install_arguments
|
475
532
|
export rvm_path rvm_rubies_path rvm_scripts_path rvm_archives_path rvm_src_path rvm_patches_path rvm_patches_path rvm_patchsets_path rvm_log_path rvm_bin_path rvm_gems_path rvm_config_path rvm_tmp_path rvm_hooks_path rvm_gems_cache_path rvm_gemset_separator rvm_ruby_aliases rvm_quiet_flag rvm_silent_flag
|
476
533
|
|
477
534
|
result=0
|
@@ -491,16 +548,13 @@ rvm() {
|
|
491
548
|
|
492
549
|
list) "$rvm_scripts_path"/list $rvm_ruby_args ; result=$? ;;
|
493
550
|
# TODO: Make debug run in the current environment.
|
494
|
-
debug) "$rvm_scripts_path
|
495
|
-
help) "$rvm_scripts_path
|
496
|
-
env) "$rvm_scripts_path
|
551
|
+
debug) "$rvm_scripts_path/info" '' debug ; result=$? ;;
|
552
|
+
help) "$rvm_scripts_path/help" $rvm_ruby_args ; result=$? ;;
|
553
|
+
env) "$rvm_scripts_path/env" "$rvm_ruby_string" ; result=$? ;;
|
497
554
|
info)
|
498
|
-
if [[ "$1" =
|
499
|
-
if [[
|
500
|
-
|
501
|
-
else
|
502
|
-
"$rvm_scripts_path/info" $rvm_ruby_args
|
503
|
-
fi
|
555
|
+
if [[ $# -gt 0 ]] ; then next_token="$1" ; else next_token="" ; fi
|
556
|
+
if [[ "$next_token" = "info" ]]; then shift; fi
|
557
|
+
"$rvm_scripts_path/info" $rvm_ruby_args
|
504
558
|
result=$?
|
505
559
|
;;
|
506
560
|
|
@@ -531,7 +585,7 @@ rvm() {
|
|
531
585
|
__rvm_run_script "$rvm_action" ; result=$?
|
532
586
|
;;
|
533
587
|
|
534
|
-
rvmrc) eval "__rvm_rvmrc_tools $rvm_ruby_args" ; result
|
588
|
+
rvmrc) eval "__rvm_rvmrc_tools $rvm_ruby_args" ; result=$? ;;
|
535
589
|
|
536
590
|
gemset)
|
537
591
|
#if "$rvm_scripts_path/match" $rvm_ruby_args use ; then
|
@@ -542,11 +596,11 @@ rvm() {
|
|
542
596
|
fi
|
543
597
|
else
|
544
598
|
export rvm_ruby_strings
|
545
|
-
"$rvm_scripts_path
|
546
|
-
|
599
|
+
"$rvm_scripts_path/gemsets" $rvm_ruby_args ; result=$?
|
600
|
+
rvm_ruby_strings=""
|
547
601
|
|
548
602
|
# Clear the gemset.
|
549
|
-
if [[
|
603
|
+
if [[ $rvm_delete_flag -eq 1 ]] ; then
|
550
604
|
gem_prefix="$(echo $GEM_HOME | sed 's/'${rvm_gemset_separator}'.*$//')"
|
551
605
|
if [[ "$GEM_HOME" = "${gem_prefix}${rvm_gemset_separator}${rvm_gemset_name}" ]] ; then
|
552
606
|
rvm_ruby_gem_home="$gem_prefix"
|
@@ -565,10 +619,10 @@ rvm() {
|
|
565
619
|
"$rvm_scripts_path"/monitor ; result=$?
|
566
620
|
;;
|
567
621
|
|
568
|
-
notes) "$rvm_scripts_path
|
569
|
-
reload)
|
622
|
+
notes) "$rvm_scripts_path/notes" ; result=$? ;;
|
623
|
+
reload) rvm_loaded_flag=0 ; rvm_reload_flag=1 ;;
|
570
624
|
tests|specs) rvm_action="rake" ; __rvm_do ; result=$? ;;
|
571
|
-
package) "$rvm_scripts_path
|
625
|
+
package) "$rvm_scripts_path/package" $rvm_ruby_args ; result=$? ;;
|
572
626
|
|
573
627
|
fetch|install|uninstall|remove)
|
574
628
|
if [[ -n "$rvm_ruby_strings" ]]; then
|
@@ -580,13 +634,12 @@ rvm() {
|
|
580
634
|
;;
|
581
635
|
|
582
636
|
error)
|
583
|
-
"$rvm_scripts_path"/log "fail" "$rvm_error_message ( see: 'rvm usage' )"
|
584
637
|
__rvm_pushpop
|
585
638
|
result=1
|
586
639
|
;;
|
587
640
|
|
588
641
|
*)
|
589
|
-
if [[
|
642
|
+
if [[ -n "${rvm_action:-""}" ]] ; then
|
590
643
|
"$rvm_scripts_path/log" "fail" "unknown action '$rvm_action'"
|
591
644
|
else
|
592
645
|
__rvm_usage
|
@@ -600,10 +653,13 @@ rvm() {
|
|
600
653
|
__rvm_project_rvmrc
|
601
654
|
fi
|
602
655
|
|
603
|
-
if [[ ! -z "$rvm_trace_flag" ]] ; then set +x ; unset rvm_trace_flag ; fi
|
604
|
-
|
605
656
|
__rvm_teardown
|
606
657
|
|
658
|
+
if [[ $rvm_trace_flag -eq 1 ]] ; then
|
659
|
+
set +x
|
660
|
+
rvm_trace_flag=0
|
661
|
+
fi
|
662
|
+
|
607
663
|
return $result
|
608
664
|
}
|
609
665
|
|