rvm 0.1.32 → 0.1.33
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.
- data/README +4 -0
- data/binscripts/rvm +1 -1
- data/binscripts/rvm-prompt +1 -1
- data/config/db +20 -10
- data/config/md5 +4 -4
- data/gemsets/default.gems +1 -0
- data/gemsets/global.gems +0 -0
- data/help/info +64 -0
- data/help/wrapper +41 -0
- data/install +62 -64
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +39 -30
- data/scripts/alias +103 -0
- data/scripts/cli +64 -23
- data/scripts/db +9 -2
- data/scripts/docs +57 -0
- data/scripts/env +48 -0
- data/scripts/fetch +1 -1
- data/scripts/gemsets +14 -14
- data/scripts/help +30 -0
- data/scripts/info +142 -0
- data/scripts/initialize +4 -2
- data/scripts/install +62 -64
- data/scripts/list +102 -0
- data/scripts/log +12 -12
- data/scripts/manage +71 -38
- data/scripts/notes +35 -34
- data/scripts/package +4 -4
- data/scripts/rvm +5 -9
- data/scripts/rvm-install +62 -64
- data/scripts/selector +44 -63
- data/scripts/set +8 -8
- data/scripts/update +62 -64
- data/scripts/utility +51 -250
- data/scripts/wrapper +66 -0
- metadata +42 -30
- data/scripts/symlink +0 -18
data/scripts/utility
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
+
# ZSH has 1 based array indexing, bash has 0 based.
|
4
|
+
if [[ ! -z "$ZSH_VERSION" ]] ; then __shell_array_start=1 ; else __shell_array_start=0 ; fi
|
5
|
+
|
3
6
|
# Query the rvm key-value database for a specific key
|
4
7
|
# Allow overrides from user specifications in $rvm_config_path/user
|
5
8
|
__rvm_db() {
|
@@ -24,104 +27,10 @@ __rvm_db() {
|
|
24
27
|
|
25
28
|
is_a_function() { type $1 | head -n 1 | grep -q "function" ; }
|
26
29
|
|
27
|
-
# Ouput rvm environment information.
|
28
|
-
__rvm_info() {
|
29
|
-
if [[ ! -z "$rvm_ruby_args" ]] ; then
|
30
|
-
cat < <(rvm_ruby_string="$rvm_ruby_args"; __rvm_select ; __rvm_use ; __rvm_environment_info; echo -e "$environment_info")
|
31
|
-
else
|
32
|
-
__rvm_environment_info
|
33
|
-
echo -e "$environment_info"
|
34
|
-
fi
|
35
|
-
}
|
36
|
-
|
37
|
-
__rvm_environment_info() {
|
38
|
-
environment_info="" ; full_version=""
|
39
|
-
ruby=$(command -v ruby)
|
40
|
-
if [[ $? -eq 0 ]] && [[ -x "$ruby" ]] ; then full_version="$($ruby -v)" ; fi
|
41
|
-
|
42
|
-
environment_info="$environment_info\nsystem:\n uname: \"$(uname -a)\""
|
43
|
-
|
44
|
-
if [[ ! -z "$ZSH_VERSION" ]] ; then
|
45
|
-
environment_info="$environment_info\n shell: \"zsh\"\n version: \"$ZSH_VERSION\""
|
46
|
-
fi
|
47
|
-
if [[ ! -z "$BASH_VERSION" ]] ; then
|
48
|
-
environment_info="$environment_info\n shell: \"bash\"\n version: \"$BASH_VERSION\""
|
49
|
-
fi
|
50
|
-
environment_info="$environment_info\n\nrvm:"
|
51
|
-
environment_info="$environment_info\n type: \"$(head -n 1 < <(type rvm))\""
|
52
|
-
environment_info="$environment_info\n version: \"$(__rvm_version | tr "\n" ' ' | sed 's/^[[:space:]]*//' | sed 's/[[:space:]]*$//')\""
|
53
|
-
environment_info="$environment_info\n\nruby:"
|
54
|
-
environment_info="$environment_info\n interpreter: \"$(echo "${full_version}" | awk '{print $1}')\""
|
55
|
-
environment_info="$environment_info\n version: \"$(echo "${full_version}" | awk '{print $2}')\""
|
56
|
-
environment_info="$environment_info\n date: \"$(echo "${full_version}" | sed 's/^.*(\([0-9]\{4\}\(-[0-9][0-9]\)\{2\}\).*$/\1/')\""
|
57
|
-
environment_info="$environment_info\n platform: \"$(echo "${full_version}" | sed 's/^.*\[//' | sed 's/\].*$//')\""
|
58
|
-
environment_info="$environment_info\n patchlevel: \"$(echo "${full_version}" | sed 's/^.*(//' | sed 's/).*$//')\""
|
59
|
-
environment_info="$environment_info\n full_version: \"${full_version}\""
|
60
|
-
environment_info="$environment_info\n\nhomes:"
|
61
|
-
environment_info="$environment_info\n gem: \"${GEM_HOME:-'not set'}\""
|
62
|
-
environment_info="$environment_info\n ruby: \"${MY_RUBY_HOME:-'not set'}\""
|
63
|
-
environment_info="$environment_info\n\nbinaries:"
|
64
|
-
environment_info="$environment_info\n ruby: \"$(command -v ruby)\""
|
65
|
-
environment_info="$environment_info\n irb: \"$(command -v irb)\""
|
66
|
-
environment_info="$environment_info\n gem: \"$(command -v gem)\""
|
67
|
-
environment_info="$environment_info\n rake: \"$(command -v rake)\""
|
68
|
-
environment_info="$environment_info\n\nenvironment:"
|
69
|
-
environment_info="$environment_info\n GEM_HOME: \"$GEM_HOME\""
|
70
|
-
environment_info="$environment_info\n GEM_PATH: \"$GEM_PATH\""
|
71
|
-
environment_info="$environment_info\n BUNDLE_PATH: \"$BUNDLE_PATH\""
|
72
|
-
environment_info="$environment_info\n MY_RUBY_HOME: \"$MY_RUBY_HOME\""
|
73
|
-
environment_info="$environment_info\n IRBRC: \"$IRBRC\""
|
74
|
-
environment_info="$environment_info\n RUBYOPT: \"$RUBYOPT\""
|
75
|
-
environment_info="$environment_info\n gemset: \"$(echo $GEM_HOME | awk -F${rvm_gemset_separator:-'@'} '{print $2}')\"\n"
|
76
|
-
if [[ ! -z "$MAGLEV_HOME" ]] ; then
|
77
|
-
environment_info="$environment_info\n MAGLEV_HOME: \"$MAGLEV_HOME\""
|
78
|
-
fi
|
79
|
-
unset full_version
|
80
|
-
}
|
81
|
-
|
82
|
-
# Output debugging information that has been found useful to help people identify and resolve issues.
|
83
|
-
__rvm_debug() {
|
84
|
-
__rvm_version
|
85
|
-
__rvm_environment_info
|
86
|
-
$rvm_scripts_path/log "debug" "PATH:\n$(echo $PATH | awk -F":" '{print $1":"$2":"$3":"$4":"$5}')"
|
87
|
-
$rvm_scripts_path/log "debug" "uname -a: $(uname -a)"
|
88
|
-
$rvm_scripts_path/log "debug" "permissions: $(\ls -la $rvm_path{,/rubies})"
|
89
|
-
|
90
|
-
if [[ "Darwin" = "$(uname)" ]] ; then
|
91
|
-
$rvm_scripts_path/log "debug" "uname -r: $(uname -r)"
|
92
|
-
$rvm_scripts_path/log "debug" "uname -m: $(uname -m)"
|
93
|
-
$rvm_scripts_path/log "debug" "sw_vers: $(sw_vers | tr "\n" ',')"
|
94
|
-
$rvm_scripts_path/log "debug" "ARCHFLAGS: $ARCHFLAGS"
|
95
|
-
$rvm_scripts_path/log "debug" "LDFLAGS: $LDFLAGS"
|
96
|
-
$rvm_scripts_path/log "debug" "CFLAGS: $CFLAGS"
|
97
|
-
$rvm_scripts_path/log "debug" "/Developer/SDKs/*:$(/usr/bin/basename -a /Developer/SDKs/* | tr "\n" ',')"
|
98
|
-
fi
|
99
|
-
|
100
|
-
for file_name in $(echo $rc_files) ; do
|
101
|
-
if [[ -s "$file_name" ]] ; then
|
102
|
-
$rvm_scripts_path/log "debug" "$file_name:\n$(grep 'rvm' $file_name 2>/dev/null)"
|
103
|
-
fi
|
104
|
-
done
|
105
|
-
|
106
|
-
if [[ "root" = "$(whoami)" ]] ; then
|
107
|
-
debug_files="$rvm_config_path/default $rvm_config_path/system $rvm_config_path/db /etc/rvmrc /etc/gemrc"
|
108
|
-
else
|
109
|
-
debug_files="$rvm_config_path/default $rvm_config_path/system $rvm_config_path/db $HOME/.rvmrc $HOME/.gemrc"
|
110
|
-
fi
|
111
|
-
|
112
|
-
for file_name in $(echo $debug_files); do
|
113
|
-
if [[ -f "$file_name" ]] && [[ -s "$file_name" ]] ; then
|
114
|
-
$rvm_scripts_path/log "debug" "$file_name \(filtered\):\n$(cat $file_name | awk '!/assword|_key/')\n"
|
115
|
-
fi
|
116
|
-
done
|
117
|
-
|
118
|
-
$rvm_scripts_path/log "debug" "gem sources:\n$(gem sources | awk '/gems/')"
|
119
|
-
}
|
120
|
-
|
121
30
|
__rvm_strings() {
|
122
31
|
unset results
|
123
32
|
for rvm_ruby_string in $(echo $rvm_ruby_args) ; do
|
124
|
-
__rvm_ruby_string
|
33
|
+
#__rvm_ruby_string
|
125
34
|
if [[ $? -gt 0 ]] ; then
|
126
35
|
return 1
|
127
36
|
else
|
@@ -133,9 +42,6 @@ __rvm_strings() {
|
|
133
42
|
return 0
|
134
43
|
}
|
135
44
|
|
136
|
-
# ZSH has 1 based array indexing, bash has 0 based.
|
137
|
-
if [[ ! -z "$ZSH_VERSION" ]] ; then __shell_array_start=1 ; else __shell_array_start=0 ; fi
|
138
|
-
|
139
45
|
# Push an item onto a given array.
|
140
46
|
__rvm_push() {
|
141
47
|
array=$1 ; shift ; item=$2
|
@@ -185,12 +91,12 @@ __rvm_cleanup_variables() {
|
|
185
91
|
|
186
92
|
if [[ "$rvm_sticky_flag" = "1" ]] ; then export rvm_gemset_name ; else unset rvm_gemset_name ; fi
|
187
93
|
|
188
|
-
unset rvm_action rvm_irbrc_file rvm_command rvm_error_message rvm_url rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_import_flag rvm_export_flag rvm_self_flag rvm_gem_flag rvm_rubygems_flag rvm_debug_flag rvm_delete_flag rvm_summary_flag rvm_test_flag _rvm_spec_flag rvm_json_flag rvm_yaml_flag rvm_shebang_flag rvm_env_flag rvm_tail_flag rvm_use_flag rvm_dir_flag rvm_list_flag rvm_empty_flag rvm_file_name rvm_benchmark_flag rvm_clear_flag rvm_name_flag rvm_verbose_flag rvm_user_flag rvm_system_flag rvm_ruby_configure_flags rvm_uninstall_flag rvm_install_flag rvm_llvm_flag rvm_ruby_bits rvm_ruby_patch rvm_sticky_flagrvm_rvmrc_flag rvm_gems_flag
|
94
|
+
unset rvm_action rvm_irbrc_file rvm_command rvm_error_message rvm_url rvm_force_flag rvm_all_flag rvm_reconfigure_flag rvm_make_flags rvm_bin_flag rvm_import_flag rvm_export_flag rvm_self_flag rvm_gem_flag rvm_rubygems_flag rvm_debug_flag rvm_delete_flag rvm_summary_flag rvm_test_flag _rvm_spec_flag rvm_json_flag rvm_yaml_flag rvm_shebang_flag rvm_env_flag rvm_tail_flag rvm_use_flag rvm_dir_flag rvm_list_flag rvm_empty_flag rvm_file_name rvm_benchmark_flag rvm_clear_flag rvm_name_flag rvm_verbose_flag rvm_user_flag rvm_system_flag rvm_ruby_configure_flags rvm_uninstall_flag rvm_install_flag rvm_llvm_flag rvm_ruby_bits rvm_ruby_patch rvm_sticky_flagrvm_rvmrc_flag rvm_gems_flag rvm_only_path_flag
|
189
95
|
}
|
190
96
|
|
191
97
|
# Unset ruby-specific variables
|
192
98
|
__rvm_unset_ruby_variables() {
|
193
|
-
unset rvm_ruby_interpreter rvm_ruby_version rvm_url rvm_ruby_repo_url rvm_ruby_package_name rvm_ruby_patch_level rvm_ruby_make rvm_ruby_make_install rvm_ruby_revision rvm_ruby_tag rvm_major_version rvm_minor_version rvm_ruby_gem_home rvm_ruby_binary rvm_ruby_home rvm_ruby_log_path rvm_ruby_src_path rvm_ruby_irbrc rvm_ruby_selected_flag rvm_ruby_src_path rvm_ruby_repo_url rvm_major_version rvm_minor_version rvm_ruby_gem_home rvm_head_flag rvm_ruby_configure rvm_ruby_mode rvm_ruby_package_file rvm_ruby_package_name rvm_ruby_gem_path rvm_ruby_name rvm_ruby_alias
|
99
|
+
unset rvm_ruby_interpreter rvm_ruby_version rvm_url rvm_ruby_repo_url rvm_ruby_package_name rvm_ruby_patch_level rvm_ruby_make rvm_ruby_make_install rvm_ruby_revision rvm_ruby_tag rvm_release_version rvm_major_version rvm_minor_version rvm_ruby_gem_home rvm_ruby_binary rvm_ruby_home rvm_ruby_log_path rvm_ruby_src_path rvm_ruby_irbrc rvm_ruby_selected_flag rvm_ruby_src_path rvm_ruby_repo_url rvm_major_version rvm_minor_version rvm_ruby_gem_home rvm_head_flag rvm_ruby_configure rvm_ruby_mode rvm_ruby_package_file rvm_ruby_package_name rvm_ruby_gem_path rvm_ruby_name rvm_ruby_alias
|
194
100
|
}
|
195
101
|
|
196
102
|
__rvm_set_rvmrc() {
|
@@ -226,14 +132,14 @@ __rvm_load_rvmrc() {
|
|
226
132
|
# Wrap the specified ruby code file in a Benchmark.bmbm block and execute it.
|
227
133
|
__rvm_benchmark() {
|
228
134
|
code="require \"benchmark\" \n Benchmark.bmbm do |benchmark| \n benchmark.report(\"${rvm_ruby_file}\") do \n"
|
229
|
-
|
135
|
+
printf "\n$code" > "$rvm_tmp_path/$$.rb"
|
230
136
|
unset code
|
231
137
|
cat $rvm_ruby_file >> "$rvm_tmp_path/$$.rb"
|
232
|
-
|
138
|
+
printf "\n end \nend\n" >> "$rvm_tmp_path/$$.rb"
|
233
139
|
rvm_ruby_args="$rvm_tmp_path/$$.rb"
|
234
140
|
rvm_benchmark_flag=1
|
235
141
|
rvm_action="ruby"
|
236
|
-
if [[ ! -z "$rvm_debug_flag" ]] ; then
|
142
|
+
if [[ ! -z "$rvm_debug_flag" ]] ; then printf "\n$rvm_tmp_path/$$.rb:\n$(cat $rvm_tmp_path/$$.rb)" ; fi
|
237
143
|
$rvm_scripts_path/set $rvm_action $rvm_ruby_args
|
238
144
|
}
|
239
145
|
|
@@ -273,45 +179,6 @@ RubyWrapper
|
|
273
179
|
chmod +x $rvm_bin_path/$rvm_ruby_package_name
|
274
180
|
}
|
275
181
|
|
276
|
-
# Load default ruby, if default is not set load system ruby.
|
277
|
-
__rvm_load_defaults() {
|
278
|
-
if [[ ! -s "$rvm_config_path/system" ]] && [[ "root" != "$(whoami)" ]] ; then
|
279
|
-
for variable in RUBY_VERSION GEM_HOME GEM_PATH BUNDLE_PATH MY_RUBY_HOME ; do
|
280
|
-
eval value=\$${variable}
|
281
|
-
if [[ -z "${value/ /}" ]] ; then
|
282
|
-
echo "unset ${variable}" >> $rvm_config_path/system
|
283
|
-
else
|
284
|
-
eval "export $variable"
|
285
|
-
eval value=\$${variable}
|
286
|
-
echo "${variable}='$value' ; export ${variable}" >> $rvm_config_path/system
|
287
|
-
fi
|
288
|
-
done
|
289
|
-
fi
|
290
|
-
|
291
|
-
__rvm_db "system_ruby" "rvm_system_ruby"
|
292
|
-
if [[ ! -z "$rvm_system_ruby" ]] ; then
|
293
|
-
rvm_system_ruby=$(command -v ruby)
|
294
|
-
if [[ $? -ne 0 ]] ; then
|
295
|
-
$rvm_scripts_path/log "info" "System ruby not found, no system default will be stored."
|
296
|
-
else
|
297
|
-
$rvm_scripts_path/db "$rvm_config_path/user" "system_ruby" "$rvm_system_ruby"
|
298
|
-
# Now store system system & user gem paths
|
299
|
-
if [[ ! -z "$(command -v gem)" ]] ; then
|
300
|
-
__rvm_db "system_user_gem_path" "rvm_system_user_gem_path"
|
301
|
-
if [[ -z "$rvm_system_user_gem_path" ]] ; then
|
302
|
-
rvm_system_user_gem_path=$( rvm system ; gem env gemdir user; )
|
303
|
-
$rvm_scripts_path/db "$rvm_config_path/user" "system_user_gem_path" "$rvm_system_user_gem_path"
|
304
|
-
fi
|
305
|
-
__rvm_db "system_gem_path" "rvm_system_gem_path"
|
306
|
-
if [[ -z "$rvm_system_gem_path" ]] ; then
|
307
|
-
rvm_system_gem_path=$( rvm system ; gem env gemdir; )
|
308
|
-
$rvm_scripts_path/db "$rvm_config_path/user" "system_gem_path" "$rvm_system_gem_path"
|
309
|
-
fi
|
310
|
-
fi
|
311
|
-
fi
|
312
|
-
fi
|
313
|
-
}
|
314
|
-
|
315
182
|
# Reset any rvm gathered information about the system and its state.
|
316
183
|
# rvm will refresh the stored information the next time it is called after reset.
|
317
184
|
__rvm_reset() {
|
@@ -371,110 +238,6 @@ __rvm_source_dir() {
|
|
371
238
|
fi
|
372
239
|
}
|
373
240
|
|
374
|
-
# Query for valid rvm ruby strings
|
375
|
-
# This is meant to be used with scripting.
|
376
|
-
__rvm_list_strings() {
|
377
|
-
echo $(\ls $rvm_rubies_path)
|
378
|
-
}
|
379
|
-
|
380
|
-
# List all rvm installed rubies, default ruby and system ruby.
|
381
|
-
# Display the rubies, indicate their architecture and indicate which is currently used.
|
382
|
-
# This is not meant to be used with scripting. This is for interactive mode usage only.
|
383
|
-
__rvm_list() {
|
384
|
-
action="$(echo $rvm_ruby_args | awk '{print $1}')"
|
385
|
-
|
386
|
-
if [[ "known" = "$action" ]] ; then
|
387
|
-
__rvm_list_known
|
388
|
-
elif [[ "default" = "$action" ]] ; then
|
389
|
-
__rvm_list_default
|
390
|
-
elif [[ -z "$action" ]] || [[ "rubies" = "$action" ]] ; then
|
391
|
-
__rvm_list_rubies
|
392
|
-
elif [[ "strings" = "$action" ]] ; then
|
393
|
-
__rvm_list_strings
|
394
|
-
else # help
|
395
|
-
echo -e "Usage: rvm list {known,default,rubies,strings}"
|
396
|
-
fi
|
397
|
-
}
|
398
|
-
|
399
|
-
__rvm_list_default() {
|
400
|
-
strings="$(echo $rvm_ruby_args | awk '{print $2}')"
|
401
|
-
if [[ "$strings" = "string" ]] ; then
|
402
|
-
echo $(grep 'MY_RUBY_HOME' $rvm_config_path/default | awk -F"'" '{print $2}' | xargs basename)
|
403
|
-
else
|
404
|
-
if [[ -f "$rvm_config_path/default" ]] && [[ -s $rvm_config_path/default ]] ; then
|
405
|
-
version=$(grep 'MY_RUBY_HOME' $rvm_config_path/default | awk -F"'" '{print $2}' | xargs basename)
|
406
|
-
if [[ ! -z "$version" ]] ; then
|
407
|
-
echo -e "\nDefault Ruby (for new shells)\n"
|
408
|
-
string="[ $(file $rvm_rubies_path/$version/bin/ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
409
|
-
echo -e " $(tput setaf 2)$version$(tput sgr0) $string\n"
|
410
|
-
fi ; unset version
|
411
|
-
fi
|
412
|
-
fi
|
413
|
-
}
|
414
|
-
|
415
|
-
__rvm_list_known() {
|
416
|
-
while read -r tag
|
417
|
-
do
|
418
|
-
prefix="$(echo ${tag/\//} | sed 's#^v1_##' | awk -F'_' '{print "(ruby-)1."$1"."$2}' | sed 's#p$##')"
|
419
|
-
echo "${prefix}-t${tag/\//}"
|
420
|
-
unset prefix tag
|
421
|
-
done < <(svn list http://svn.ruby-lang.org/repos/ruby/tags/ | awk '/^v1_[8|9]/')
|
422
|
-
echo -e "(ruby-)1.8.6(-p399)\n(ruby-)1.8.6-head\n(ruby-)1.8.7(-p249)\n(ruby-)1.8.7-head\n(ruby-)1.9.1(-p243)\n(ruby-)1.9.1(-p376)\n(ruby-)1.9.1-head\n(ruby-)1.9.2-preview1\n(ruby-)1.9.2-head\nruby-head\n"
|
423
|
-
echo -e "jruby-1.2.0\njruby-1.3.1\njruby-1.4.0\njruby(-1.5.0) # the default\njruby-head"
|
424
|
-
echo -e "rbx(-prc5) # default\nrbx-head"
|
425
|
-
echo -e "ree-1.8.6\nree(-1.8.7) # the default\nree-1.8.6-head\nree-1.8.7-head"
|
426
|
-
echo -e "maglev(-23464)\nmaglev-head"
|
427
|
-
echo -e "mput(-head) # shyouhei head, the default mput"
|
428
|
-
echo -e "ironruby-0.9.3\nironruby-1.0-rc2\nironruby-head"
|
429
|
-
if [[ "Darwin" = "$(uname)" ]] ; then
|
430
|
-
echo -e "macruby(-nightly) # the default macruby\nmacruby-head # Build from the macruby git repository"
|
431
|
-
fi
|
432
|
-
}
|
433
|
-
|
434
|
-
__rvm_list_rubies() {
|
435
|
-
echo
|
436
|
-
ruby=$(command -v ruby) ; current_ruby=""
|
437
|
-
if [[ ! -z "$ruby" ]] && [[ ! -z "$(echo $ruby | awk '/rvm/')" ]] ; then
|
438
|
-
current_ruby="$(echo $ruby | xargs dirname | xargs dirname | xargs basename 2> /dev/null)"
|
439
|
-
fi
|
440
|
-
|
441
|
-
echo -e "rvm Rubies\n"
|
442
|
-
for version in $(\ls $rvm_rubies_path/ 2> /dev/null | awk '/[a-z]*-.*/ {print $NF}') ; do
|
443
|
-
if [[ ! -z "$(echo $version | awk '/^jruby-/')" ]] ; then
|
444
|
-
string="[ $($rvm_rubies_path/$version/bin/ruby -v | awk '{print $NF}') ]"
|
445
|
-
elif [[ ! -z "$(echo $version | awk '/^maglev-|^macruby-/')" ]] ; then
|
446
|
-
string="[ x86_64 ]"
|
447
|
-
else
|
448
|
-
string="[ $(file $rvm_rubies_path/$version/bin/ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
449
|
-
fi
|
450
|
-
if [[ "$version" = "$current_ruby" ]] ; then echo -n "=> " ; else echo -n " " ; fi
|
451
|
-
echo -e "$(tput setaf 2)$version$(tput sgr0) $string"
|
452
|
-
done ; unset version
|
453
|
-
|
454
|
-
if [[ -f "$rvm_config_path/default" ]] && [[ -s $rvm_config_path/default ]] ; then
|
455
|
-
version=$(grep 'MY_RUBY_HOME' $rvm_config_path/default | awk -F"'" '{print $2}' | xargs basename)
|
456
|
-
if [[ ! -z "$version" ]] ; then
|
457
|
-
echo -e "\nDefault Ruby (for new shells)\n"
|
458
|
-
string="[ $(file $rvm_rubies_path/$version/bin/ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
459
|
-
echo -e " $(tput setaf 2)$version$(tput sgr0) $string"
|
460
|
-
fi ; unset version
|
461
|
-
fi
|
462
|
-
|
463
|
-
system_ruby="$(rvm system ; command -v ruby)"
|
464
|
-
if [[ ! -z "$system_ruby" ]] && [[ -x "$system_ruby" ]] ; then
|
465
|
-
echo -e "\nSystem Ruby\n"
|
466
|
-
system_version=$($system_ruby -v)
|
467
|
-
binary=$(\ls -l "$system_ruby" | awk '{print $NF}') # Account for symbolic links.
|
468
|
-
string="[ $(file $binary | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
|
469
|
-
|
470
|
-
if [[ ! -z "$system_ruby" ]] && [[ "$current_ruby" = "$system_version" ]] ; then echo -n "=> " ; else echo -n " " ; fi
|
471
|
-
echo -e "$(tput setaf 2)system$(tput sgr0) $string"
|
472
|
-
fi
|
473
|
-
|
474
|
-
unset current_ruby version selected system_ruby system_version string binary
|
475
|
-
echo
|
476
|
-
}
|
477
|
-
|
478
241
|
# Initialize rvm, ensuring that the path and directories are as expected.
|
479
242
|
__rvm_initialize() {
|
480
243
|
rvm_ruby_load_path="."
|
@@ -777,14 +540,52 @@ __rvm_mono_env() {
|
|
777
540
|
PATH="$rvm_usr_path/bin:$PATH"
|
778
541
|
}
|
779
542
|
|
543
|
+
__rvm_environment_identifier() {
|
544
|
+
rvm_environment_identifier="${rvm_ruby_string}"
|
545
|
+
if [[ -n "${rvm_gemset_name}" ]]; then
|
546
|
+
rvm_environment_identifier="${rvm_environment_identifier}${rvm_gemset_separator}${rvm_gemset_name}"
|
547
|
+
fi
|
548
|
+
echo "$rvm_environment_identifier"
|
549
|
+
unset rvm_environment_identifier
|
550
|
+
}
|
551
|
+
|
552
|
+
__rvm_ensure_has_enviroment_files() {
|
553
|
+
local environment_identifier="$(__rvm_environment_identifier)"
|
554
|
+
file_name="${rvm_environments_path}/$environment_identifier"
|
555
|
+
if [[ ! -s "$file_name" ]] ; then
|
556
|
+
mkdir -p "${rvm_environments_path}"
|
557
|
+
echo "export PATH=\"${rvm_ruby_gem_home}/bin:${rvm_ruby_global_gems_path}/bin:${rvm_ruby_home}/bin:${rvm_bin_path}:\$PATH\"" > $file_name
|
558
|
+
for variable in RUBY_VERSION GEM_HOME GEM_PATH BUNDLE_PATH MY_RUBY_HOME IRBRC rvm_ruby_string rvm_gemset_name MAGLEV_HOME ; do
|
559
|
+
eval "export $variable"
|
560
|
+
eval value=\$${variable}
|
561
|
+
if [[ ! -z "$value" ]] ; then
|
562
|
+
echo "export ${variable}='$value'" >> $file_name
|
563
|
+
else
|
564
|
+
echo "unset ${variable}" >> $file_name
|
565
|
+
fi
|
566
|
+
done ; unset variable value
|
567
|
+
fi ; unset file_name
|
568
|
+
# Next, ensure we have default wrapper files. Also, prevent it from recursing.
|
569
|
+
if [[ -z "$rvm_creating_default_wrappers" ]]; then
|
570
|
+
rvm_creating_default_wrappers=1
|
571
|
+
directory_name="$rvm_wrappers_path/$environment_identifier"
|
572
|
+
if [[ ! -L "$directory_name" && ! -d "$directory_name" ]]; then
|
573
|
+
mkdir -p "$directory_name"
|
574
|
+
# Install the default wrappers.
|
575
|
+
$rvm_scripts_path/wrapper "$environment_identifier" &> /dev/null
|
576
|
+
fi
|
577
|
+
unset rvm_creating_default_wrappers directory_name
|
578
|
+
fi
|
579
|
+
}
|
580
|
+
|
780
581
|
__rvm_Answer_to_the_Ultimate_Question_of_Life_the_Universe_and_Everything() {
|
781
582
|
for index in {1..750} ; do perl -e 'sleep 0.2'; echo -n '.' ; done ; printf "%d" 0x2A ; echo
|
782
583
|
}
|
783
584
|
|
784
585
|
__rvm_ultimate_question() {
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
586
|
+
printf "\nI do not know the Ultimate Question, "
|
587
|
+
printf "\nhowever I can help you build a more "
|
588
|
+
printf "\npowerful Ruby which can compute the "
|
589
|
+
printf "\nUltimate Question."
|
789
590
|
}
|
790
591
|
|
data/scripts/wrapper
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
# Recursive loops, oh my!
|
4
|
+
unset rvm_default_flag
|
5
|
+
|
6
|
+
source $rvm_scripts_path/initialize
|
7
|
+
source $rvm_scripts_path/utility
|
8
|
+
source $rvm_scripts_path/selector
|
9
|
+
|
10
|
+
if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
|
11
|
+
|
12
|
+
trap "if [[ -d $rvm_tmp_path/ ]] && [[ -s $rvm_tmp_path/$$ ]] ; then rm -f $rvm_tmp_path/$$ > /dev/null 2>&1 ; fi ; exit" 0 1 2 3 15
|
13
|
+
|
14
|
+
wrap() {
|
15
|
+
mkdir -p "$(dirname "$file_name")"
|
16
|
+
printf "#!/usr/bin/env sh\n" > "$file_name"
|
17
|
+
printf ". \"${rvm_environments_path}/${environment_identifier}\"\n" >> "$file_name"
|
18
|
+
printf "exec $binary_name \"\$@\"\n" >> "$file_name"
|
19
|
+
if [[ -f $file_name ]] ; then chmod +x $file_name ; fi
|
20
|
+
}
|
21
|
+
|
22
|
+
usage() {
|
23
|
+
printf "Usage: 'rvm wrapper [ruby_string] [wrapper_prefix] [binary[ binary[ ...]]]'\n"
|
24
|
+
printf " Where binary defaults to ruby, gem, rake, irb, rdoc, ri, testrb\n"
|
25
|
+
printf " For more information, see 'rvm help wrapper'\n"
|
26
|
+
}
|
27
|
+
|
28
|
+
args="$*"
|
29
|
+
ruby_string="$(echo "$args" | awk '{print $1}')"
|
30
|
+
prefix="$(echo "$args" | awk '{print $2}')"
|
31
|
+
binaries=$(echo "$args" | awk '{$1="" ; $2=""; print}' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
32
|
+
|
33
|
+
if [[ -z "$ruby_string" ]]; then
|
34
|
+
usage ; exit 1
|
35
|
+
fi
|
36
|
+
|
37
|
+
if [[ -z "$binaries" ]] ; then
|
38
|
+
# TODO: Extract out into a rvm_ variable.
|
39
|
+
binaries="ruby gem irb ri rdoc rake erb testrb"
|
40
|
+
fi
|
41
|
+
|
42
|
+
rvm_ruby_string="${ruby_string}"
|
43
|
+
__rvm_select &>/dev/null
|
44
|
+
__rvm_use &> /dev/null
|
45
|
+
|
46
|
+
environment_identifier="$(__rvm_environment_identifier)"
|
47
|
+
|
48
|
+
for binary_name in $(echo $binaries); do
|
49
|
+
if [[ -z "$prefix" ]] ; then
|
50
|
+
file_name="${rvm_wrappers_path}/${environment_identifier}/${binary_name}"
|
51
|
+
else
|
52
|
+
file_name="${rvm_bin_path}/${prefix}_${binary_name}"
|
53
|
+
fi
|
54
|
+
|
55
|
+
if command -v $binary_name > /dev/null; then
|
56
|
+
wrap
|
57
|
+
else
|
58
|
+
$rvm_scripts_path/log "error" "Binary '$binary_name' not found in path."
|
59
|
+
fi
|
60
|
+
unset file_name
|
61
|
+
done
|
62
|
+
|
63
|
+
unset rvm_ruby_string args ruby_string prefix binaries environment_identifier
|
64
|
+
__rvm_unset_ruby_variables
|
65
|
+
|
66
|
+
exit $?
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rvm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 89
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
9
|
+
- 33
|
10
|
+
version: 0.1.33
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Wayne E. Seguin
|
@@ -14,11 +15,11 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-05-
|
18
|
+
date: 2010-05-27 00:00:00 -04:00
|
18
19
|
default_executable: rvm-install
|
19
20
|
dependencies: []
|
20
21
|
|
21
|
-
description: Manages Ruby
|
22
|
+
description: Manages Ruby interpreter environments and switching between them.
|
22
23
|
email: wayneeseguin@gmail.com
|
23
24
|
executables:
|
24
25
|
- rvm-install
|
@@ -37,6 +38,34 @@ files:
|
|
37
38
|
- config/db
|
38
39
|
- config/md5
|
39
40
|
- examples/rvmrc
|
41
|
+
- gemsets/default.gems
|
42
|
+
- gemsets/global.gems
|
43
|
+
- help/alias
|
44
|
+
- help/benchmark
|
45
|
+
- help/debug
|
46
|
+
- help/fetch
|
47
|
+
- help/gem
|
48
|
+
- help/gemdir
|
49
|
+
- help/gemset
|
50
|
+
- help/implode
|
51
|
+
- help/info
|
52
|
+
- help/install
|
53
|
+
- help/list
|
54
|
+
- help/monitor
|
55
|
+
- help/notes
|
56
|
+
- help/package
|
57
|
+
- help/rake
|
58
|
+
- help/remove
|
59
|
+
- help/reset
|
60
|
+
- help/ruby
|
61
|
+
- help/rvmrc
|
62
|
+
- help/specs
|
63
|
+
- help/srcdir
|
64
|
+
- help/tests
|
65
|
+
- help/uninstall
|
66
|
+
- help/update
|
67
|
+
- help/use
|
68
|
+
- help/wrapper
|
40
69
|
- install
|
41
70
|
- lib/VERSION.yml
|
42
71
|
- lib/rvm.rb
|
@@ -45,6 +74,7 @@ files:
|
|
45
74
|
- lib/rvm/shell.rb
|
46
75
|
- lib/rvm/version.rb
|
47
76
|
- rvm.gemspec
|
77
|
+
- scripts/alias
|
48
78
|
- scripts/aliases
|
49
79
|
- scripts/array
|
50
80
|
- scripts/cd
|
@@ -52,14 +82,19 @@ files:
|
|
52
82
|
- scripts/color
|
53
83
|
- scripts/completion
|
54
84
|
- scripts/db
|
85
|
+
- scripts/docs
|
86
|
+
- scripts/env
|
55
87
|
- scripts/fetch
|
56
88
|
- scripts/gemsets
|
57
89
|
- scripts/hash
|
90
|
+
- scripts/help
|
58
91
|
- scripts/hook
|
92
|
+
- scripts/info
|
59
93
|
- scripts/initialize
|
60
94
|
- scripts/install
|
61
95
|
- scripts/irbrc
|
62
96
|
- scripts/irbrc.rb
|
97
|
+
- scripts/list
|
63
98
|
- scripts/log
|
64
99
|
- scripts/maglev
|
65
100
|
- scripts/manage
|
@@ -72,35 +107,10 @@ files:
|
|
72
107
|
- scripts/rvm-install
|
73
108
|
- scripts/selector
|
74
109
|
- scripts/set
|
75
|
-
- scripts/symlink
|
76
110
|
- scripts/update
|
77
111
|
- scripts/utility
|
78
112
|
- scripts/version
|
79
|
-
-
|
80
|
-
- help/benchmark
|
81
|
-
- help/debug
|
82
|
-
- help/fetch
|
83
|
-
- help/gem
|
84
|
-
- help/gemdir
|
85
|
-
- help/gemset
|
86
|
-
- help/implode
|
87
|
-
- help/info
|
88
|
-
- help/install
|
89
|
-
- help/list
|
90
|
-
- help/monitor
|
91
|
-
- help/notes
|
92
|
-
- help/package
|
93
|
-
- help/rake
|
94
|
-
- help/remove
|
95
|
-
- help/reset
|
96
|
-
- help/ruby
|
97
|
-
- help/rvmrc
|
98
|
-
- help/specs
|
99
|
-
- help/srcdir
|
100
|
-
- help/tests
|
101
|
-
- help/uninstall
|
102
|
-
- help/update
|
103
|
-
- help/use
|
113
|
+
- scripts/wrapper
|
104
114
|
- bin/rvm-install
|
105
115
|
has_rdoc: true
|
106
116
|
homepage: http://github.com/wayneeseguin/rvm
|
@@ -127,6 +137,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
127
137
|
requirements:
|
128
138
|
- - ">="
|
129
139
|
- !ruby/object:Gem::Version
|
140
|
+
hash: 3
|
130
141
|
segments:
|
131
142
|
- 0
|
132
143
|
version: "0"
|
@@ -135,6 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
146
|
requirements:
|
136
147
|
- - ">="
|
137
148
|
- !ruby/object:Gem::Version
|
149
|
+
hash: 3
|
138
150
|
segments:
|
139
151
|
- 0
|
140
152
|
version: "0"
|