rvm 0.0.53 → 0.0.54

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 0
4
- :patch: 53
4
+ :patch: 54
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rvm}
8
- s.version = "0.0.53"
8
+ s.version = "0.0.54"
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{2009-10-01}
12
+ s.date = %q{2009-10-03}
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}
@@ -107,10 +107,15 @@ function __rvm_parse-args {
107
107
  while [ $# -gt 0 ] ; do
108
108
  rvm_token="$1" ; shift
109
109
  case "$rvm_token" in
110
- install|uninstall|path|info|setup|version|srcdir|list|reset|debug|reload|implode|update|readline|iconv|use|gemsync|gemset)
110
+ install|uninstall|path|info|setup|version|srcdir|list|reset|debug|reload|implode|update|readline|iconv|gemsync)
111
111
  rvm_action=$rvm_token
112
112
  ;;
113
113
 
114
+ use)
115
+ rvm_action=$rvm_token
116
+ if [ "$1" = "ruby" ] ; then shift ; fi
117
+ ;;
118
+
114
119
  inspect)
115
120
  rvm_action=$rvm_token
116
121
  rvm_ruby_args=$*
@@ -131,29 +136,40 @@ function __rvm_parse-args {
131
136
  rvm_action="${rvm_action:-use}"
132
137
  ;;
133
138
 
134
- gemdir)
139
+ gemset)
140
+ set +x
135
141
  rvm_action=$rvm_token
142
+ if [ "$1" = "delete" ] ; then
143
+ rvm_delete_flag=1
144
+ shift
145
+ if [ -z "$1" -a -z "$rvm_gem_set_name" ] ; then
146
+ rvm_action="error"
147
+ rvm_error_message="A gem set name must be specified with 'gemset delete'"
148
+ else
149
+ rvm_gem_set_name="$1"
150
+ shift
151
+ fi
152
+ fi
153
+ set -x
154
+ ;;
136
155
 
156
+ gemdir)
157
+ rvm_action=$rvm_token
137
158
  if [ "$1" = "system" ] ; then rvm_ruby_interpreter="system" ; shift ; fi
138
159
  if [ "$1" = "user" ] ; then rvm_ruby_interpreter="user" ; shift ; fi
139
-
140
160
  rvm_ruby_interpreter="${rvm_ruby_interpreter:-current}"
141
161
  ;;
142
162
 
143
163
  --load|load|dump)
164
+ rvm_action=gemset
144
165
  eval "rvm_${rvm_token}_flag=1"
145
166
  if [ ! -z "$1" ] ; then
146
- if [ ! -z "$(echo $1 | awk '/\.gemset$/')" ] ; then
147
- rvm_gem_set_name=$(echo $1 | sed 's/\.gemset//')
148
- else
149
- rvm_gem_set_name=$1
150
- fi
167
+ rvm_gem_set_name=$(echo $1 | sed 's/\.gemset//' | xargs basename)
168
+ rvm_file_name="$(echo $1 | sed 's/\.gemset//').gemset"
151
169
  shift
152
170
  else
153
- rvm_gem_set_name="default"
171
+ rvm_file_name="$rvm_gem_set_name.gemset"
154
172
  fi
155
- rvm_file_name="$rvm_gem_set_name.gemset"
156
- rvm_action=$rvm_token
157
173
  ;;
158
174
 
159
175
  gemdup)
@@ -213,9 +229,15 @@ function __rvm_parse-args {
213
229
  rvm_action=${rvm_action:-use}
214
230
  ;;
215
231
 
216
- 1.2.0|1.3.1)
232
+ 1.2.0|1.3|1.3.0|1.3.1|1.4|1.4.0)
233
+ if [ "$rvm_token" = "1.3" ] ; then
234
+ rvm_ruby_version="1.3.1"
235
+ elif [ "$rvm_token" = "1.4" ] ; then
236
+ rvm_ruby_version="1.4.0"
237
+ else
238
+ rvm_ruby_version="$rvm_token"
239
+ fi
217
240
  rvm_ruby_interpreter=${rvm_ruby_interpreter:-jruby}
218
- rvm_ruby_version="$rvm_token"
219
241
  rvm_action=${rvm_action:-use}
220
242
  ;;
221
243
 
@@ -228,6 +250,10 @@ function __rvm_parse-args {
228
250
  fi
229
251
  ;;
230
252
 
253
+ --repository|--repo|--url)
254
+ rvm_ruby_repo_url=$rvm_token
255
+ ;;
256
+
231
257
  -t|--tag)
232
258
  rvm_ruby_tag="$1";
233
259
  rvm_action="${rvm_action:-use}"
@@ -332,7 +358,7 @@ function __rvm_parse-args {
332
358
  --rm-gem-set) rvm_gem_set_name_rm="$1" ; shift ;;
333
359
  tests|specs) rvm_action="tests" ;;
334
360
 
335
- --self|--gem|--rubygems|--reconfigure|--default|--debug|--force|--all|--dump|--summary|--jit|--latest|--yaml|--json|--archive|--shebang|--env|--path|--tail|--trace)
361
+ --self|--gem|--rubygems|--reconfigure|--default|--debug|--force|--all|--dump|--summary|--jit|--latest|--yaml|--json|--archive|--shebang|--env|--path|--tail|--trace|--delete)
336
362
  eval "rvm_$(echo $rvm_token | sed 's/-//g')_flag=1"
337
363
  ;;
338
364
 
@@ -410,8 +436,17 @@ function rvm {
410
436
  result=$?
411
437
  ;;
412
438
 
413
- load|dump)
414
- __rvm_gemset_${rvm_action}
439
+ gemset)
440
+ if [ ! -z "$rvm_load_flag" ] ; then
441
+ __rvm_gemset_load
442
+ elif [ ! -z "$rvm_dump_flag" ] ; then
443
+ __rvm_gemset_load
444
+ elif [ ! -z "$rvm_delete_flag" ] ; then
445
+ __rvm_gemset_delete
446
+ else
447
+ rvm_action="error"
448
+ rvm_error_message="At least one of load, dump, or delete must be specified with 'gemset'."
449
+ fi
415
450
  ;;
416
451
 
417
452
  gemsync)
@@ -267,10 +267,6 @@ RubyWrapper
267
267
  ;;
268
268
 
269
269
  jruby)
270
- rvm_package_file="$rvm_ruby_interpreter-bin-$rvm_ruby_version"
271
- rvm_url="http://dist.codehaus.org/$rvm_ruby_interpreter/$rvm_ruby_version/$rvm_package_file.zip"
272
- rvm_jruby_repo_url="${rvm_jruby_repo_url:-"git://kenai.com/jruby~main"}"
273
-
274
270
  mkdir -p $rvm_ruby_log_path
275
271
  __rvm_pushpop $rvm_source_path
276
272
 
@@ -289,11 +285,9 @@ RubyWrapper
289
285
  __rvm_log "info" "Downloading $rvm_package_file, this may take a while depending on your connection..."
290
286
  __rvm_fetch $rvm_url
291
287
  fi
292
- rvm_unzip=`which unzip`
293
- if [ $? -ne 0 ] ; then
294
- __rvm_log "error" "'unzip' was not found in your PATH. jRuby official release comes as a .zip file, hence 'unzip' is required to extract it. Please install 'unzip' and try again."
295
- else
296
- __rvm_run "extract" "unzip -q $rvm_archives_path/$rvm_package_file.zip -d $rvm_source_path" "Extracting $rvm_package_file..."
288
+ __rvm_run "extract" "tar zxf $rvm_archives_path/$rvm_package_file.tar.gz -C $rvm_source_path" "Extracting $rvm_package_file..."
289
+ if [ "$rvm_package_file" != "$rvm_ruby_string" ] ; then
290
+ mv $rvm_source_path/$rvm_package_file $rvm_source_path/$rvm_ruby_string
297
291
  fi
298
292
  cd $rvm_ruby_src_path
299
293
  fi
@@ -43,7 +43,7 @@ function __rvm_select {
43
43
  rvm_ruby_version="head"
44
44
  unset rvm_ruby_patch_level
45
45
  rvm_ruby_interpreter="rubinius"
46
- rvm_ruby_repo_url=`__rvm_db "rubinius_repo_url"`
46
+ rvm_ruby_repo_url=${rvm_rbx_repo_url:-`__rvm_db "rubinius_repo_url"`}
47
47
  rvm_url=$rvm_ruby_repo_url
48
48
  rvm_ruby_configure=""
49
49
  rvm_ruby_make="build"
@@ -53,8 +53,16 @@ function __rvm_select {
53
53
 
54
54
  jruby)
55
55
  rvm_ruby_version="${rvm_ruby_version:-`__rvm_db "jruby_version"`}"
56
+ rvm_jruby_repo_url="${rvm_jruby_repo_url:-"git://kenai.com/jruby~main"}"
57
+ if [ ! -z "$(echo $rvm_ruby_version | awk '/^1.4/')" ] ; then
58
+ rvm_ruby_version="1.4.0RC1"
59
+ rvm_package_file="$rvm_ruby_interpreter-bin-${rvm_ruby_version}"
60
+ else
61
+ rvm_package_file="$rvm_ruby_interpreter-bin-$rvm_ruby_version"
62
+ fi
63
+ rvm_url="http://dist.codehaus.org/$rvm_ruby_interpreter/$rvm_ruby_version/$rvm_package_file.tar.gz"
56
64
  unset rvm_ruby_patch_level
57
- if [ -z "$(echo $rvm_ruby_version | awk '/^1\.2\.0/')" -a -z "$(echo $rvm_ruby_version | awk '/^1\.3\.[0-3]/')" ] ; then
65
+ if [ -z "$(echo $rvm_ruby_version | awk '/^1\.[2-4]/')" ] ; then
58
66
  __rvm_log "fail" "Unknown jRuby version: $rvm_ruby_version"
59
67
  fi
60
68
  alias jruby_ng="jruby --ng"
@@ -109,6 +117,15 @@ function __rvm_select {
109
117
  fi
110
118
  fi
111
119
 
120
+ if [ -z "$rvm_gem_set_name" ] ; then
121
+ gemset=$(gem env gemdir | xargs basename | sed "s/${rvm_ruby_version}-//")
122
+ if [ "$gemset" != "$rvm_ruby_version" ] ; then
123
+ rvm_gem_set_name="$gemset"
124
+ else
125
+ unset rvm_gem_set_name
126
+ fi ; unset gemset
127
+ fi
128
+
112
129
  if [ ! -z "$rvm_ruby_interpreter" -a ! -z "$rvm_ruby_version" -a "$rvm_ruby_interpreter" != "system" ] ; then
113
130
  rvm_major_version=$(echo $rvm_ruby_version | awk -F'.' '{ print $2 }')
114
131
  rvm_minor_version=$(echo $rvm_ruby_version | awk -F'.' '{ print $3 }')
@@ -139,11 +156,11 @@ function __rvm_select {
139
156
  rvm_ruby_package_name="${rvm_ruby_package_name:-"$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level"}"
140
157
  rvm_ruby_home="${rvm_ruby_home:-"$rvm_path/$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level"}"
141
158
  fi
159
+ rvm_ruby_string="$rvm_ruby_package_name"
142
160
  rvm_ruby_log_path="$rvm_log_path/$rvm_ruby_package_name"
143
- rvm_ruby_src_path="$rvm_source_path/$rvm_ruby_package_name"
161
+ rvm_ruby_src_path="$rvm_source_path/$rvm_ruby_string"
144
162
  rvm_ruby_binary="$rvm_ruby_home/bin/ruby"
145
163
  rvm_ruby_irbrc="$rvm_ruby_home/.irbrc"
146
- rvm_ruby_string="$rvm_ruby_package_name"
147
164
  rvm_selected=1
148
165
 
149
166
  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_make rvm_ruby_make_install rvm_ruby_rev rvm_ruby_tag rvm_major_version rvm_minor_version rvm_gem_set_name rvm_gem_path rvm_gem_home rvm_path rvm_source_path rvm_bin_path rvm_ruby_binary rvm_ruby_home rvm_log_path rvm_ruby_log_path rvm_source_path rvm_ruby_src_path rvm_ruby_irbrc rvm_selected rvm_ruby_string
@@ -173,10 +190,8 @@ function __rvm_use {
173
190
  elif [ "$rvm_ruby_interpreter" = "system" ] ; then
174
191
 
175
192
  unset GEM_HOME GEM_PATH MY_RUBY_HOME RUBY_VERSION IRBRC
176
-
177
193
  PATH=$(echo $PATH | tr ':' '\n' | awk '$0 !~ /rvm/' | paste -sd : -)
178
194
  PATH=$rvm_bin_path:$PATH ; export PATH
179
-
180
195
  if [ -s $rvm_path/system ] ; then
181
196
  grep "^MY_RUBY_HOME='$rvm_path" "$rvm_path/system" > /dev/null
182
197
  if [ $? -eq 0 ] ; then
@@ -46,9 +46,12 @@ function __rvm_debug {
46
46
  fi
47
47
  done
48
48
 
49
+ __rvm_log "debug" "gem sources:\n$(gem sources | awk '/gems/')"
50
+
49
51
  if [ -f $rvm_path/bin/rvm ] ; then
50
52
  __rvm_log "error" "rvm script in bin! \n$(ls -laht $rvm_path/bin/rvm)"
51
53
  fi
54
+
52
55
  }
53
56
 
54
57
  # Logging functions based on level
@@ -158,6 +161,7 @@ function __rvm_fetch {
158
161
  __rvm_log "debug" "No archive or no MD5, downloading"
159
162
  download=1
160
163
  fi
164
+
161
165
  if [ $download -gt 0 ] ; then
162
166
  eval $rvm_fetch "$1"
163
167
  result=$?
@@ -167,13 +171,18 @@ function __rvm_fetch {
167
171
  elif [ $result -eq 33 ] ; then
168
172
  __rvm_log "debug" "Server does not support 'range' command, removing '$archive'"
169
173
  rm -f $archive
170
- __rvm_fetch "$1"
174
+ eval $rvm_fetch "$1"
175
+ result=$?
176
+ if [ $result -gt 0 ] ; then
177
+ __rvm_log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log"
178
+ fi
171
179
  else
172
180
  __rvm_log "error" "There was an error, please check $rvm_ruby_log_path/*.error.log"
173
181
  fi
174
182
  fi
175
183
  __rvm_pushpop
176
184
  fi
185
+
177
186
  unset archive
178
187
  unset download
179
188
  return $result
@@ -345,9 +354,9 @@ function __rvm_db {
345
354
  function __rvm_list {
346
355
  if [ "$rvm_all_flag" ] ; then
347
356
  svn list http://svn.ruby-lang.org/repos/ruby/tags/ | grep 'v1_[8|9]' | sed 's/^v1_//' | sed 's/\/$//' | awk -F'_' '{print "1."$1"."$2 " -l "$3}' | sed 's/p$//'
348
- echo -e "jruby 1.2.0\njruby 1.3.0\njruby 1.3.1\njruby --head"
349
- echo -e "rbx head (rubinius head)\nrbx head --jit"
350
- echo -e "ree 20090610\nree --head\nree 1.8.7 --head"
357
+ echo -e "jruby 1.2.0\njruby 1.3.0\njruby (1.3.1, the default)\njruby 1.4.1\njruby --head"
358
+ echo -e "rbx head (rubinius head, the default)\nrbx head --jit"
359
+ echo -e "ree 1.8.6 --head\nree (1.8.7, the default)"
351
360
  else
352
361
  current_ruby=`which ruby | xargs dirname | xargs dirname | xargs basename 2> /dev/null`
353
362
  echo -e "\nruby:\n"
@@ -594,16 +603,15 @@ function __rvm_do {
594
603
 
595
604
  function __rvm_summary {
596
605
  export successes errors statuses
597
- summary="\nSummary:\n"
598
- summary="$summary \033[0;32m${#successes[*]} successful: $(echo "${successes[*]}" | sed 's/ /, /g')\033[0m\n"
599
- summary="$summary \033[0;31m${#errors[*]} errors: $(echo "${errors[*]}" | sed 's/ /, /g')\033[0m\n"
606
+ summary="\nSummary:\n\n"
607
+ if [ ${#successes[*]} -gt 0 ] ; then
608
+ summary="$summary \033[0;32m${#successes[*]} successful: $(echo "${successes[*]}" | sed 's/ /, /g')\033[0m\n"
609
+ fi
610
+ if [ ${#errors[*]} -gt 0 ] ; then
611
+ summary="$summary \033[0;31m${#errors[*]} errors: $(echo "${errors[*]}" | sed 's/ /, /g')\033[0m\n"
612
+ fi
600
613
  total=${#rubies[*]}
601
614
  if [ ! -z "$ZSH_VERSION" ] ; then array_start=1 ; else array_start=0 ; fi
602
- for (( index = $array_start ; index < $total + $array_start ; index++ )) ; do
603
- __rvm_log "debug" "${rubies[$index]} returned ${statuses[$index]}"
604
- summary="$summary ${rubies[$index]} returned ${statuses[$index]}"
605
- if (( $index + 1 < $total + $array_start )) ; then summary="$summary\n" ; fi
606
- done ; unset index array_start
607
615
  echo -e "$summary" | tee -a log/summary.log
608
616
  return ${#errors[*]}
609
617
  }
@@ -670,13 +678,36 @@ RubyCode
670
678
  __rvm_do
671
679
  }
672
680
 
673
- function __rvm_gemset_dump {
681
+ __rvm_gemset_delete () {
674
682
  if [ -z "$rvm_selected" ] ; then __rvm_select $* ; fi
675
- rvm_file_name=${rvm_file_name:-'default'}
683
+
684
+ if [ ! -z $rvm_gem_set_name ] ; then
685
+ gemdir="$rvm_gem_path/$rvm_ruby_interpreter/$rvm_ruby_version-$rvm_gem_set_name"
686
+ if [ -d $gemdir ] ; then
687
+ __rvm_log "warn" "Are you SURE you wish to remove the installed gemset '$rvm_gem_set_name ' ($gemdir)?"
688
+ echo -n "(anything other than 'yes' will cancel) > "
689
+ read response
690
+ if [ "$response" = "yes" ] ; then
691
+ rm -rf $gemdir
692
+ else
693
+ __rvm_log "info" "Not doing anything, phew... close call that one eh?"
694
+ fi
695
+ else
696
+ __rvm_log "info" "$gemdir does not exist, dirtywork alredy done."
697
+ fi
698
+ unset gemdir
699
+ else
700
+ __rvm_log "error" "A gemset name must be specified in order to delete a gemset."
701
+ fi
702
+ }
703
+
704
+ function __rvm_gemset_dump {
705
+ rvm_gem_set_name=${rvm_gem_set_name:-"default"}
706
+ rvm_file_name=${rvm_file_name:-$rvm_gem_set_name}
676
707
 
677
708
  echo "# $rvm_gem_set_name.gemset generated gem dump file. Note that any env variable settings will be missing. Append these after using a ';' field separator" > $rvm_gem_set_name.gemset
678
709
 
679
- for gem in `gem list | sed 's/[\(|\)]//g' | sed 's/, /,/g' | tr ' ' ';'` ; do
710
+ for gem in $(gem list | sed 's/[\(|\)]//g' | sed 's/, /,/g' | tr ' ' ';') ; do
680
711
  name=`echo $gem | awk -F';' '{print $1}'`
681
712
  if [ -z "$rvm_latest_flag" ] ; then
682
713
  versions=`echo $gem | awk -F';' '{print $2}' | sed 's/,/ /g'`
@@ -690,8 +721,10 @@ function __rvm_gemset_dump {
690
721
  }
691
722
 
692
723
  function __rvm_gemset_load {
693
- if [ -z "$rvm_selected" ] ; then __rvm_select $* ; fi
694
- echo "Loading $rvm_file file..."
724
+ rvm_gem_set_name=${rvm_gem_set_name:-"default"}
725
+ rvm_file_name=${rvm_file_name:-$rvm_gem_set_name}
726
+
727
+ echo "Loading $rvm_file_name file..."
695
728
  rvm_ruby_gem_list=`/bin/ls $rvm_gem_home/specifications/ 2> /dev/null | sed 's/\.gemspec$//' 2> /dev/null`
696
729
  while read line
697
730
  do # Keep this on 2nd line :( bash fail.
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.0.53
4
+ version: 0.0.54
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: 2009-10-01 00:00:00 -04:00
12
+ date: 2009-10-03 00:00:00 -04:00
13
13
  default_executable: rvm-install
14
14
  dependencies: []
15
15