rvm 0.1.1 → 0.1.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.
data/config/db CHANGED
@@ -11,9 +11,9 @@ ree_version=1.8.7
11
11
  ree_1.8.6_patch_level=20090610
12
12
  ree_1.8.6_url=http://rubyforge.org/frs/download.php/58677
13
13
  ree_1.8.6_repo_url=git://github.com/FooBarWidget/rubyenterpriseedition.git
14
- ree_1.8.7_url=http://rubyforge.org/frs/download.php/66162
14
+ ree_1.8.7_url=http://rubyforge.org/frs/download.php/68719
15
15
  ree_1.8.7_repo_url=git://github.com/FooBarWidget/rubyenterpriseedition187.git
16
- ree_1.8.7_patch_level=2009.10
16
+ ree_1.8.7_patch_level=2010.01
17
17
  ruby_1.9.1_patch_level=378
18
18
  ruby_1.9.2_patch_level=preview1
19
19
  ruby_1.8.5_patch_level=231
data/install CHANGED
@@ -67,9 +67,7 @@ rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
67
67
  rvm_symlink_path="${rvm_symlink_path:-/usr/local/bin}"
68
68
  rvm_gem_options="${rvm_gem_options:-"--no-rdoc --no-ri"}"
69
69
 
70
- for path in src scripts bin log archives config gem ; do
71
- eval "mkdir -p '\$rvm_${path}_path/'"
72
- done
70
+ mkdir -p $rvm_archives_path $rvm_src_path $rvm_log_path $rvm_bin_path $rvm_gem_path $rvm_rubies_path $rvm_config_path $rvm_hooks_path $rvm_tmp_path $rvm_symlink_path
73
71
 
74
72
  for file in README LICENCE ; do
75
73
  cp -f "$source_path/$file" "$rvm_path/"
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 1
4
- :patch: 1
4
+ :patch: 2
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rvm}
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
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-01-19}
12
+ s.date = %q{2010-01-24}
13
13
  s.default_executable = %q{rvm-install}
14
14
  s.description = %q{Manages Ruby interpreter installations and switching between them.}
15
15
  s.email = %q{wayneeseguin@gmail.com}
@@ -8,7 +8,7 @@ __rvm_parse_args() {
8
8
  while [[ $# -gt 0 ]] ; do
9
9
  rvm_token="$1" ; shift
10
10
  case "$rvm_token" in
11
- fetch|path|info|setup|version|srcdir|list|reset|debug|reload|implode|readline|update|iconv|curl|openssl|ncurses|zlib|readline|monitor|notes)
11
+ fetch|path|info|setup|version|srcdir|list|rubies|reset|debug|reload|implode|readline|update|iconv|curl|openssl|ncurses|zlib|readline|monitor|notes)
12
12
  rvm_action=$rvm_token
13
13
  ;;
14
14
 
@@ -379,6 +379,7 @@ rvm() {
379
379
  use) __rvm_use ; result=$? ;;
380
380
  srcdir) __rvm_source_dir ; result=$? ;;
381
381
  list) __rvm_list ; result=$? ;;
382
+ rubies) __rvm_rubies ; result=$? ;;
382
383
  version) __rvm_version ; result=$? ;;
383
384
  reset) __rvm_reset ; result=$? ;;
384
385
  implode) __rvm_implode ; result=$? ;;
@@ -171,6 +171,7 @@ __rvm_parse_gem_line() {
171
171
  fi
172
172
  }
173
173
 
174
+ # Install a gem
174
175
  __rvm_gem_install() {
175
176
  __rvm_parse_gem_line $*
176
177
 
@@ -236,8 +237,8 @@ __rvm_gem_install() {
236
237
  return $result
237
238
  }
238
239
 
240
+ # Output the user's current gem directory.
239
241
  __rvm_gems_gemdir() {
240
-
241
242
  if [[ "$rvm_user_flag" -eq 1 ]] ; then
242
243
  echo $(rvm system ; gem env | grep "\- $HOME" | awk '{print $NF}')
243
244
  elif [[ "$rvm_system_flag" -eq 1 ]] ; then
@@ -67,9 +67,7 @@ rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
67
67
  rvm_symlink_path="${rvm_symlink_path:-/usr/local/bin}"
68
68
  rvm_gem_options="${rvm_gem_options:-"--no-rdoc --no-ri"}"
69
69
 
70
- for path in src scripts bin log archives config gem ; do
71
- eval "mkdir -p '\$rvm_${path}_path/'"
72
- done
70
+ mkdir -p $rvm_archives_path $rvm_src_path $rvm_log_path $rvm_bin_path $rvm_gem_path $rvm_rubies_path $rvm_config_path $rvm_hooks_path $rvm_tmp_path $rvm_symlink_path
73
71
 
74
72
  for file in README LICENCE ; do
75
73
  cp -f "$source_path/$file" "$rvm_path/"
@@ -16,7 +16,6 @@ __rvm_install_source() {
16
16
  if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
17
17
 
18
18
  $rvm_scripts_path/log "info" "Installing Ruby from source to: $rvm_ruby_home"
19
- mkdir -p "$rvm_ruby_log_path"
20
19
  __rvm_pushpop "$rvm_src_path"
21
20
  if [[ ! -z "$rvm_force_flag" ]] ; then rm -rf "$rvm_ruby_home" "$rvm_ruby_src_path" ; fi
22
21
 
@@ -148,11 +147,15 @@ PATH="$rvm_ruby_home/bin:$rvm_ruby_gem_home/bin:\$PATH" ; export PATH
148
147
  exec $macruby_path/mac$binary_name $prefix "\$@"
149
148
  RubyWrapper
150
149
  )
150
+
151
151
  for file_name in "$rvm_ruby_home/bin/$binary_name" "$rvm_bin_path/$binary_name-$rvm_ruby_string" ; do
152
152
  rm -f $file_name
153
153
  echo "$ruby_wrapper" > $file_name
154
154
  if [[ -f $file_name ]] ; then chmod +x $file_name ; fi
155
155
  done
156
+ if [[ "$binary_name" = "ruby" ]] ; then
157
+ echo "$ruby_wrapper" > $rvm_bin_path/$rvm_ruby_string
158
+ fi
156
159
  unset file_name ruby_wrapper binary_name files prefix
157
160
  done
158
161
  __rvm_irbrc
@@ -186,7 +189,6 @@ RubyWrapper
186
189
  fi
187
190
  builtin cd "$rvm_ruby_src_path"
188
191
 
189
- mkdir -p "$rvm_ruby_log_path"
190
192
  mkdir -p "${rvm_ruby_home}/lib/ruby/gems/1.8/gems"
191
193
  if [[ ! -z "$rvm_ruby_configure_flags" ]] ; then
192
194
  rvm_ruby_configure_flags="$(echo $rvm_ruby_configure_flags | sed 's#--#-c --#g')"
@@ -340,7 +342,6 @@ RubyWrapper
340
342
  echo -e "java must be installed and in your path in order to install JRuby." ; return 1
341
343
  fi
342
344
 
343
- mkdir -p "$rvm_ruby_log_path"
344
345
  __rvm_pushpop $rvm_src_path
345
346
  __rvm_fetch_ruby
346
347
  result=$? ; if [[ "$result" -gt 0 ]] ; then
@@ -388,7 +389,6 @@ RubyWrapper
388
389
  $rvm_scripts_path/log "error" "Prerequisite checks have failed. Aborting the installation." ; __rvm_pushpop ; return $result
389
390
  fi
390
391
 
391
- mkdir -p "$rvm_ruby_log_path"
392
392
  __rvm_pushpop $rvm_src_path
393
393
 
394
394
  if [[ ! -d "$rvm_src_path/$rvm_ruby_string" ]] || [[ ! -z "$rvm_force_flag" ]] ; then
@@ -424,8 +424,8 @@ RubyWrapper
424
424
  $rvm_scripts_path/log "error" "There has been an error while trying to extract the gemstone package. Aborting the installation." ; __rvm_pushpop ; return $result
425
425
  fi
426
426
 
427
- mv "$rvm_gemstone_package_file" "gemstone"
428
- chmod -R 777 gemstone # for now.
427
+ chmod -R 777 "$rvm_gemstone_package_file" # for now.
428
+ ln -nfs "$rvm_gemstone_package_file" "gemstone"
429
429
 
430
430
  __rvm_pushpop
431
431
 
@@ -453,14 +453,14 @@ RubyWrapper
453
453
  #ln -fs "$rvm_ruby_home/$(echo $rvm_gemstone_package_file | awk -F'.' '{print $1}')" "$rvm_ruby_home/gemstone"
454
454
 
455
455
  if [[ ! -e ${rvm_ruby_home}/etc/conf.d/maglev.conf ]] ; then
456
- $rvm_scripts_path/log "info" "Creating default 'maglev' repository." ; __rvm_pushpop ; return $result
457
- $rvm_bin_path/rvm 1.8.7 rake "stone:create[maglev]" >/dev/null
456
+ $rvm_scripts_path/log "info" "Creating default 'maglev' repository."
457
+ $rvm_bin_path/rvm 1.8.7 rake "stone:create[maglev]" >/dev/null 2>&1
458
458
  fi
459
459
 
460
- $rvm_scripts_path/log "info" "Generating maglev HTML documentation" ; __rvm_pushpop ; return $result
460
+ $rvm_scripts_path/log "info" "Generating maglev HTML documentation"
461
461
  $rvm_bin_path/rvm 1.8.7 rake rdoc >/dev/null 2>&1
462
462
 
463
- $rvm_scripts_path/log "info" "Generating smalltalk FFI." ; __rvm_pushpop ; return $result
463
+ $rvm_scripts_path/log "info" "Generating smalltalk FFI."
464
464
  $rvm_bin_path/rvm 1.8.7 rake stwrappers >/dev/null 2>&1
465
465
 
466
466
 
@@ -479,9 +479,11 @@ RubyWrapper
479
479
  if [[ "$rvm_head_flag" = 1 ]] ; then
480
480
  mono_version="$(mono -V | head -n 1 | cut -d ' ' -f5)"
481
481
  if $rvm_scripts_path/match "$mono_version" "([0-9]+)\.([0-9]+)\.?([0-9]+)?" ; then
482
- if [[ ${BASH_REMATCH[1]} -lt 2 ]] || ( [[ ${BASH_REMATCH[1]} -eq 2 ]] && [[ ${BASH_REMATCH[2]} -lt 6 ]] ) ; then
482
+ mono_major_ver="$(echo $mono_version | cut -d '.' -f1)"
483
+ mono_minor_ver="$(echo $mono_version | cut -d '.' -f2)"
484
+ if [[ $mono_major_ver -lt 2 ]] || ( [[ $mono_major_ver -eq 2 ]] && [[ $mono_minor_ver -lt 6 ]] ) ; then
483
485
  echo -e "Mono 2.6 (or greater) must be installed and in your path in order to build IronRuby from the repository."
484
- echo -e "Version detected: ${BASH_REMATCH[0]}"
486
+ echo -e "Version detected: ${mono_version}"
485
487
  return 1
486
488
  fi
487
489
  else
@@ -503,8 +505,8 @@ RubyWrapper
503
505
 
504
506
  cp -r $rvm_ruby_src_path/Merlin/Main/Bin/mono_release/* $rvm_ruby_home/bin/
505
507
  cp -r $rvm_ruby_src_path/Merlin/Main/Languages/Ruby/Scripts/bin/* $rvm_ruby_home/bin/
506
- cp -r $rvm_ruby_src_path/Merlin/External.LCA_RESTRICTED/Languages/Ruby/ruby-1.8.6p*/lib/ruby/* $rvm_ruby_home/lib/ruby
507
- cp -r $rvm_ruby_src_path/ruby_home/lib/IronRuby
508
+ cp -r $rvm_ruby_src_path/Merlin/External.LCA_RESTRICTED/Languages/Ruby/redist-libs/ruby/* $rvm_ruby_home/lib/ruby
509
+ cp -r $rvm_ruby_src_path/Merlin/Main/Languages/Ruby/Libs/* $rvm_ruby_home/lib/IronRuby
508
510
  else
509
511
  $rvm_scripts_path/log "info" "Retrieving IronRuby"
510
512
  $rvm_scripts_path/fetch "$rvm_url"
@@ -545,6 +547,9 @@ RubyWrapper
545
547
  echo "$ruby_wrapper" > $file_name
546
548
  if [[ -f $file_name ]] ; then chmod +x $file_name ; fi
547
549
  done
550
+ if [[ "$binary_name" = "ruby" ]] ; then
551
+ echo "$ruby_wrapper" > $rvm_bin_path/$rvm_ruby_string
552
+ fi
548
553
  unset file_name ruby_wrapper binary_name binary_path files prefix
549
554
  done
550
555
  ;;
@@ -67,9 +67,7 @@ rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
67
67
  rvm_symlink_path="${rvm_symlink_path:-/usr/local/bin}"
68
68
  rvm_gem_options="${rvm_gem_options:-"--no-rdoc --no-ri"}"
69
69
 
70
- for path in src scripts bin log archives config gem ; do
71
- eval "mkdir -p '\$rvm_${path}_path/'"
72
- done
70
+ mkdir -p $rvm_archives_path $rvm_src_path $rvm_log_path $rvm_bin_path $rvm_gem_path $rvm_rubies_path $rvm_config_path $rvm_hooks_path $rvm_tmp_path $rvm_symlink_path
73
71
 
74
72
  for file in README LICENCE ; do
75
73
  cp -f "$source_path/$file" "$rvm_path/"
@@ -208,6 +208,8 @@ __rvm_select() {
208
208
 
209
209
  rvm_ruby_selected_flag=1
210
210
 
211
+ mkdir -p $rvm_ruby_log_path
212
+
211
213
  export rvm_ruby_interpreter rvm_ruby_version rvm_ruby_repo_url rvm_ruby_package_name rvm_url rvm_ruby_patch_level rvm_ruby_configure rvm_ruby_configure_flags rvm_ruby_make rvm_ruby_make_install rvm_ruby_revision rvm_ruby_tag rvm_major_version rvm_minor_version rvm_gem_set_name rvm_gem_path rvm_ruby_gem_home rvm_path rvm_src_path rvm_bin_path rvm_ruby_binary rvm_ruby_home rvm_log_path rvm_ruby_log_path rvm_src_path rvm_ruby_src_path rvm_ruby_irbrc rvm_ruby_selected_flag rvm_ruby_string
212
214
  else
213
215
  rvm_ruby_interpreter="${rvm_ruby_interpreter:-system}"
@@ -67,9 +67,7 @@ rvm_tmp_path="${rvm_tmp_path:-"$rvm_path/tmp"}"
67
67
  rvm_symlink_path="${rvm_symlink_path:-/usr/local/bin}"
68
68
  rvm_gem_options="${rvm_gem_options:-"--no-rdoc --no-ri"}"
69
69
 
70
- for path in src scripts bin log archives config gem ; do
71
- eval "mkdir -p '\$rvm_${path}_path/'"
72
- done
70
+ mkdir -p $rvm_archives_path $rvm_src_path $rvm_log_path $rvm_bin_path $rvm_gem_path $rvm_rubies_path $rvm_config_path $rvm_hooks_path $rvm_tmp_path $rvm_symlink_path
73
71
 
74
72
  for file in README LICENCE ; do
75
73
  cp -f "$source_path/$file" "$rvm_path/"
@@ -1,5 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
+ # Query the rvm key-value database for a specific key
4
+ # Allow overrides from user specifications in $rvm_config_path/user
3
5
  __rvm_db() {
4
6
  key=$1 ; variable=$2
5
7
  if [[ -f "$rvm_config_path/user" ]] ; then
@@ -20,6 +22,7 @@ __rvm_db() {
20
22
  unset key value variable
21
23
  }
22
24
 
25
+ # Ouput rvm environment information.
23
26
  __rvm_info() {
24
27
  if [[ ! -z "$(which ruby 2>/dev/null)" ]] ; then full_version=$(ruby -v) ; fi
25
28
 
@@ -51,10 +54,12 @@ environment:
51
54
  MY_RUBY_HOME: "$MY_RUBY_HOME"
52
55
  IRBRC: "$IRBRC"
53
56
  Info
57
+ if [[ ! -z "$MAGLEV_HOME" ]] ; then echo " MAGLEV_HOME: $MAGLEV_HOME" ; fi
54
58
 
55
59
  unset full_version
56
60
  }
57
61
 
62
+ # Output debugging information that has been found useful to help people identify and resolve issues.
58
63
  __rvm_debug() {
59
64
  $rvm_scripts_path/log "debug" "PATH:\n$(echo $PATH | awk -F":" '{print $1":"$2":"$3":"$4":"$5}')"
60
65
  $rvm_scripts_path/log "debug" "uname -a: $(uname -a)"
@@ -90,7 +95,10 @@ __rvm_debug() {
90
95
  $rvm_scripts_path/log "debug" "gem sources:\n$(gem sources | awk '/gems/')"
91
96
  }
92
97
 
98
+ # ZSH has 1 based array indexing, bash has 0 based.
93
99
  if [[ ! -z "$ZSH_VERSION" ]] ; then __shell_array_start=1 ; else __shell_array_start=0 ; fi
100
+
101
+ # Push an item onto a given array.
94
102
  __rvm_push() {
95
103
  array=$1 ; shift ; item=$2
96
104
  # TODO: allow loop over more arguments.
@@ -99,30 +107,29 @@ __rvm_push() {
99
107
  unset array item
100
108
  }
101
109
 
110
+ # Clean all *duplicate* items out of the path. (keep first occurrence of each)
102
111
  __rvm_clean_path() {
103
112
  PATH=$(echo $PATH | tr -s ':' '\n' | awk '!($0 in a){a[$0];print}' | tr -s '\n' ':' | sed 's#:$##')
104
113
  export PATH
105
114
  }
106
115
 
116
+ # Clean all rvm items out of the current working path.
107
117
  __rvm_remove_rvm_from_path() {
108
118
  PATH=$(echo $PATH | tr -s ':' '\n' | grep -v "\.rvm" | tr -s '\n' ':' | sed 's#:$##')
109
119
  export PATH
110
120
  }
111
121
 
112
- __rvm_gi() { gem install $rvm_gem_options $* ; }
113
-
122
+ # Run a specified command and log it.
114
123
  __rvm_run() {
115
124
  log_file_name="$1" ; command="$2" ; message="$3"
116
- rvm_ruby_log_path="${rvm_ruby_log_path:-$rvm_log_path}"
117
- mkdir -p $(dirname "$rvm_ruby_log_path/$log_file_name.log")
118
-
125
+ if [[ -z "$rvm_ruby_log_path" ]] ; then rvm_ruby_log_path="$rvm_log_path" ; fi
119
126
  if [[ ! -z "$message" ]] ; then $rvm_scripts_path/log "info" "$message" ; fi
120
127
  if [[ ! -z "$rvm_debug_flag" ]] ; then
121
128
  $rvm_scripts_path/log "debug" "Executing: $command"
122
129
  fi
123
130
 
124
131
  touch "$rvm_ruby_log_path/$log_file_name.log" "$rvm_ruby_log_path/$log_file_name.error.log" # for zsh :(
125
- echo "[$(date +'%Y-%m-%d %H:%M:%S')] $command" | tee "$rvm_ruby_log_path/$log_file_name.log" > "$rvm_ruby_log_path/$log_file_name.error.log"
132
+ echo "[$(date +'%Y-%m-%d %H:%M:%S')] $command" | tee "$rvm_ruby_log_path/$log_file_name.log" >> "$rvm_ruby_log_path/$log_file_name.error.log"
126
133
  if [[ -z "$rvm_niceness" ]] || [[ "0" = "$rvm_niceness" ]] ; then
127
134
  eval "$command" >> "$rvm_ruby_log_path/$log_file_name.log" 2>> "$rvm_ruby_log_path/$log_file_name.error.log"
128
135
  else
@@ -132,6 +139,8 @@ __rvm_run() {
132
139
  unset log_file command
133
140
  }
134
141
 
142
+ # Unset both rvm variables as well as ruby-specific variables
143
+ # Preserve gemset if 'rvm_sticky_gems' is set (persist gemset unless clear is explicitely called).
135
144
  __rvm_cleanup_variables() {
136
145
  __rvm_unset_ruby_variables
137
146
 
@@ -140,6 +149,7 @@ __rvm_cleanup_variables() {
140
149
  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_load_flag rvm_dump_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
141
150
  }
142
151
 
152
+ # Unset ruby-specific variables
143
153
  __rvm_unset_ruby_variables() {
144
154
  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_string rvm_ruby_string 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_patch rvm_ruby_package_file rvm_ruby_package_name
145
155
  }
@@ -149,6 +159,7 @@ __rvm_load_rvmrc() {
149
159
  if [[ -f "$HOME/.rvmrc" ]] ; then source "$HOME/.rvmrc" ; fi
150
160
  }
151
161
 
162
+ # Loop over the currently installed rubies and refresh their binscripts.
152
163
  __rvm_bin_scripts() {
153
164
  for rvm_ruby_binary in $rvm_rubies_path/*/bin/ruby ; do
154
165
  if [[ -x "$rvm_ruby_binary" ]] ; then
@@ -159,6 +170,8 @@ __rvm_bin_scripts() {
159
170
  done
160
171
  }
161
172
 
173
+ # Write the bin/ wrapper script for currently selected ruby.
174
+ # TODO: Adjust binscript to be able to handle all rubies not just the standard interpreteres.
162
175
  __rvm_bin_script() {
163
176
  if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
164
177
  ruby_wrapper=$(cat <<RubyWrapper
@@ -178,6 +191,7 @@ RubyWrapper
178
191
  chmod +x $rvm_bin_path/$rvm_ruby_package_name
179
192
  }
180
193
 
194
+ # Load default ruby, if default is not set load system ruby.
181
195
  __rvm_load_defaults() {
182
196
  if [[ ! -s "$rvm_config_path/system" ]] ; then
183
197
  for variable in RUBY_VERSION GEM_HOME GEM_PATH MY_RUBY_HOME ; do
@@ -217,6 +231,8 @@ __rvm_load_defaults() {
217
231
  fi
218
232
  }
219
233
 
234
+ # Reset any rvm gathered information about the system and its state.
235
+ # rvm will refresh the stored information the next time it is called after reset.
220
236
  __rvm_reset() {
221
237
  PATH=$(echo $PATH | tr ':' '\n' | awk '$0 !~ /rvm/' | paste -sd : -)
222
238
  PATH=$rvm_bin_path:$PATH ; export PATH
@@ -238,6 +254,7 @@ __rvm_reset() {
238
254
  rm -f $rvm_bin_path/ruby $rvm_bin_path/gem $rvm_bin_path/rake $rvm_bin_path/irb $rvm_bin_path/default*
239
255
  }
240
256
 
257
+ # Implode removes the entire rvm installation under $rvm_path.
241
258
  __rvm_implode() {
242
259
  while : ; do
243
260
  $rvm_scripts_path/log "warn" "Are you SURE you wish for rvm to implode? This will remove $rvm_path ? (type 'yes' or 'no')"
@@ -262,6 +279,7 @@ __rvm_implode() {
262
279
  done
263
280
  }
264
281
 
282
+ # Output the current ruby's rvm source path.
265
283
  __rvm_source_dir() {
266
284
  if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
267
285
  if [[ -z "$rvm_ruby_src_path" ]] ; then
@@ -271,6 +289,15 @@ __rvm_source_dir() {
271
289
  fi
272
290
  }
273
291
 
292
+ # List all rvm installed rubies.
293
+ # This is meant to be used with scripting.
294
+ __rvm_rubies() {
295
+ \ls $rvm_rubies_path
296
+ }
297
+
298
+ # List all rvm installed rubies, default ruby and system ruby.
299
+ # Display the rubies, indicate their architecture and indicate which is currently used.
300
+ # This is not meant to be used with scripting. This is for interactive mode usage only.
274
301
  __rvm_list() {
275
302
  echo
276
303
  if [[ ! -z "$rvm_all_flag" ]] ; then
@@ -298,7 +325,9 @@ __rvm_list() {
298
325
 
299
326
  for version in $(\ls $rvm_rubies_path/ 2> /dev/null | awk '/[a-z]*-.*/ {print $NF}') ; do
300
327
  if [[ ! -z "$(echo $version | awk '/^jruby-/')" ]] ; then
301
- string="$($rvm_rubies_path/$version/bin/ruby -v | awk '{print $NF}')"
328
+ string="[ $($rvm_rubies_path/$version/bin/ruby -v | awk '{print $NF}') ]"
329
+ elif [[ ! -z "$(echo $version | awk '/^maglev-/')" ]] ; then
330
+ string="[ x86_64 ]"
302
331
  else
303
332
  string="[ $(file $rvm_rubies_path/$version/bin/ruby | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]"
304
333
  fi
@@ -342,6 +371,7 @@ __rvm_list() {
342
371
  echo
343
372
  }
344
373
 
374
+ # Initialize rvm, ensuring that the path and directories are as expected.
345
375
  __rvm_initialize() {
346
376
  rvm_ruby_load_path="."
347
377
  rvm_ruby_require=""
@@ -355,6 +385,7 @@ __rvm_initialize() {
355
385
  mkdir -p $rvm_src_path $rvm_bin_path $rvm_archives_path $rvm_gem_path $rvm_tmp_path
356
386
  }
357
387
 
388
+ # Update rubygems or binscripts based on CLI selection.
358
389
  __rvm_update() {
359
390
  __rvm_pushpop $rvm_path
360
391
  if [[ "head" = "$rvm_ruby_revision" ]] || [[ ! -z "$rvm_self_flag" ]] || [[ "update" = "$rvm_action" ]] || [[ ! -z "$rvm_update_flag" ]] ; then
@@ -368,6 +399,8 @@ __rvm_update() {
368
399
  __rvm_pushpop
369
400
  }
370
401
 
402
+ # Update rvm using rubygems
403
+ # If --head was specified, update from git repository master branch.
371
404
  __rvm_update_rvm() {
372
405
  mkdir -p "$rvm_src_path"
373
406
  __rvm_pushpop "$rvm_src_path"
@@ -422,6 +455,7 @@ __rvm_reboot() {
422
455
  fi ; unset response
423
456
  }
424
457
 
458
+ # Perform an action using one of a selected ruby's specified binaries.
425
459
  __rvm_ruby_do() {
426
460
  __rvm_select
427
461
  __rvm_use
@@ -481,6 +515,8 @@ __rvm_ruby_do() {
481
515
  __rvm_unset_ruby_variables
482
516
  }
483
517
 
518
+ # Loop over a set or all rvm installed rubies to perform some action.
519
+ # Record the results and report based on CLI selections.
484
520
  __rvm_do() {
485
521
  __rvm_state
486
522
 
@@ -516,6 +552,7 @@ __rvm_do() {
516
552
  return ${#errors[*]}
517
553
  }
518
554
 
555
+ # Output the summary in a human readable format.
519
556
  __rvm_summary() {
520
557
  export successes errors statuses
521
558
  summary="\nSummary:\n\n"
@@ -531,6 +568,7 @@ __rvm_summary() {
531
568
  return ${#errors[*]}
532
569
  }
533
570
 
571
+ # Output the summary in a yaml format.
534
572
  __rvm_yaml() {
535
573
  export successes errors statuses
536
574
  yaml="totals:\n rubies: ${#rubies[*]}\n successes: ${#successes[*]}\n errors: ${#errors[*]}\nsuccesses:"
@@ -552,6 +590,7 @@ __rvm_yaml() {
552
590
  return ${#errors[*]}
553
591
  }
554
592
 
593
+ # Output the summary in a json format.
555
594
  __rvm_json() {
556
595
  json="{"
557
596
  json="$json\n \"totals\": { \"rubies\": ${#rubies[*]}, \"successes\": ${#successes[*]}, \"errors\": ${#errors[*]}},"
@@ -576,6 +615,7 @@ __rvm_json() {
576
615
  return ${#errors[*]}
577
616
  }
578
617
 
618
+ # Wrap the specified ruby code file in a Benchmark.bmbm block and execute it.
579
619
  __rvm_benchmark() {
580
620
  code="require \"benchmark\" \n Benchmark.bmbm do |benchmark| \n benchmark.report(\"${rvm_ruby_file}\") do \n"
581
621
  echo -e "$code" > "$rvm_tmp_path/$$.rb"
@@ -589,13 +629,14 @@ __rvm_benchmark() {
589
629
  __rvm_do
590
630
  }
591
631
 
632
+ # Create the irbrc for the currently selected ruby installation.
592
633
  __rvm_irbrc() {
593
- # Create the irbrc for the currently selected ruby installation.
594
634
  if [[ -d "$rvm_ruby_home" ]] && [[ ! -s "$rvm_ruby_irbrc" ]] ; then
595
635
  cp $rvm_scripts_path/irbrc $rvm_ruby_irbrc
596
636
  fi
597
637
  }
598
638
 
639
+ # Push or Pop a directory based on zero or one directory argument provided.
599
640
  __rvm_pushpop() {
600
641
  if [[ -z "$1" ]] ; then
601
642
  popd > /dev/null 2>&1
@@ -604,6 +645,8 @@ __rvm_pushpop() {
604
645
  fi
605
646
  }
606
647
 
648
+ # Save or restore the rvm's state. This is a toggle action.
649
+ # Meant for use before and after an operation that might reset the currently selected ruby.
607
650
  __rvm_state() {
608
651
  if [[ -z "$rvm_state" ]] ; then
609
652
  if [[ -z "$(which ruby 2>/dev/null | awk /$(basename $rvm_rubies_path)/)" ]] ; then
@@ -619,6 +662,7 @@ __rvm_state() {
619
662
  fi
620
663
  }
621
664
 
665
+ # Output an inspection of selected 'binary' scripts, based on CLI selection.
622
666
  __rvm_inspect() {
623
667
  for binary in $rvm_ruby_args ; do
624
668
  actual_file="$(which $binary 2>/dev/null)"
@@ -632,6 +676,8 @@ __rvm_inspect() {
632
676
  done
633
677
  }
634
678
 
679
+ # Attempt to override the Darwin build settings for rubies
680
+ # This should only be used in extreme edge cases that will not work via the default way.
635
681
  __rvm_make_flags() {
636
682
  # This is only an issue with Darwin :/
637
683
  if [[ "Darwin" = "$(uname)" ]] ; then
@@ -667,6 +713,8 @@ __rvm_make_flags() {
667
713
  fi
668
714
  }
669
715
 
716
+ # Select a gems(et) based on CLI set options and environment.
717
+ # This only sets 'rvm_ruby_gem_home'
670
718
  __rvm_gems_select() {
671
719
  if [[ -z "$(which gem 2>/dev/null)" ]] ; then return 0 ; fi
672
720
 
@@ -701,6 +749,7 @@ __rvm_gems_select() {
701
749
  fi
702
750
  }
703
751
 
752
+ # Use a gems(et) specified by 'rvm_ruby_gem_home'
704
753
  __rvm_gems_use() {
705
754
  if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
706
755
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rvm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wayne E. Seguin
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-19 00:00:00 -05:00
12
+ date: 2010-01-24 00:00:00 -05:00
13
13
  default_executable: rvm-install
14
14
  dependencies: []
15
15