rvm 0.0.62 → 0.0.63
Sign up to get free protection for your applications and to get access to all the features.
- data/config/db +3 -2
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +2 -2
- data/scripts/cli +21 -22
- data/scripts/completion +1 -1
- data/scripts/gems +4 -4
- data/scripts/ruby-installer +65 -4
- data/scripts/rvm-prompt +49 -5
- data/scripts/selector +143 -103
- data/scripts/utility +83 -22
- metadata +2 -2
data/config/db
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
niceness=0
|
2
2
|
ruby_repo_url=http://svn.ruby-lang.org/repos/ruby
|
3
3
|
rubinius_repo_url=git://github.com/evanphx/rubinius.git
|
4
|
+
shyouhei_repo_url=git://github.com/shyouhei/ruby.git
|
4
5
|
macruby_repo_url=git://git.macruby.org/macruby/MacRuby.git
|
5
6
|
macruby_nightly_url=http://macruby.icoretech.org/latest
|
6
7
|
jruby_repo_url=git://kenai.com/jruby~main
|
@@ -13,9 +14,9 @@ ree_version=1.8.7
|
|
13
14
|
ree_1.8.6_patch_level=20090610
|
14
15
|
ree_1.8.6_url=http://rubyforge.org/frs/download.php/58677
|
15
16
|
ree_1.8.6_repo_url=git://github.com/FooBarWidget/rubyenterpriseedition.git
|
16
|
-
ree_1.8.7_url=http://rubyforge.org/frs/download.php/
|
17
|
+
ree_1.8.7_url=http://rubyforge.org/frs/download.php/66162
|
17
18
|
ree_1.8.7_repo_url=git://github.com/FooBarWidget/rubyenterpriseedition187.git
|
18
|
-
ree_1.8.7_patch_level=
|
19
|
+
ree_1.8.7_patch_level=2009.10
|
19
20
|
ruby_1.9.1_patch_level=243
|
20
21
|
ruby_1.9.2_patch_level=preview1
|
21
22
|
ruby_1.8.5_patch_level=231
|
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 = "0.0.
|
8
|
+
s.version = "0.0.63"
|
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-
|
12
|
+
s.date = %q{2009-10-26}
|
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}
|
data/scripts/cli
CHANGED
@@ -51,6 +51,7 @@ Implementation
|
|
51
51
|
jruby - jRuby
|
52
52
|
rbx - rubinius
|
53
53
|
ree - ruby Enterprise Edition
|
54
|
+
mput - shyouhei(mput)'s github repository
|
54
55
|
system - use the system ruby (eg. pre-rvm state)
|
55
56
|
default - use rvm set default ruby and system if it hasn't been set.
|
56
57
|
|
@@ -129,13 +130,10 @@ function __rvm_parse_args {
|
|
129
130
|
rvm_ruby_interpreter="$rvm_token"
|
130
131
|
;;
|
131
132
|
|
132
|
-
jruby|ree|macruby|rbx|rubinius|default|all)
|
133
|
+
jruby|ree|macruby|rbx|rubinius|mput|shyouhei|default|all)
|
133
134
|
rvm_ruby_interpreter="$rvm_token"
|
134
135
|
rvm_action="${rvm_action:-use}"
|
135
|
-
|
136
|
-
if [[ ! -z "$1" ]] && [[ "$1" =~ ^[0-9] ]] ; then
|
137
|
-
rvm_ruby_version=$1 ; shift
|
138
|
-
fi
|
136
|
+
if match "$1" "^[0-9]" ; then rvm_ruby_version=$1 ; shift ; fi
|
139
137
|
;;
|
140
138
|
|
141
139
|
gems|gemset)
|
@@ -191,14 +189,14 @@ function __rvm_parse_args {
|
|
191
189
|
rvm_parse_break=1
|
192
190
|
fi
|
193
191
|
else
|
194
|
-
if
|
192
|
+
if match "$1" "^-" ; then
|
195
193
|
unset rvm_ruby_version
|
196
194
|
else
|
197
|
-
if
|
195
|
+
if match "$1" "^[0-9]" ; then
|
198
196
|
rvm_ruby_version=$(echo "$1" | tr ',' ' ') ; shift
|
199
197
|
unset rvm_ruby_interpreter
|
200
198
|
else
|
201
|
-
if [[ "jruby" = "$1" ]] || [[ "rbx" = "$1" ]] || [[ "rubinius" = "$1" ]] || [[ "macruby" = "$1" ]] || [[ "ree" = "$1" ]] || [[ "ruby-enterprise" = "$1" ]] ; then
|
199
|
+
if [[ "jruby" = "$1" ]] || [[ "rbx" = "$1" ]] || [[ "rubinius" = "$1" ]] || [[ "macruby" = "$1" ]] || [[ "ree" = "$1" ]] || [[ "ruby-enterprise" = "$1" ]] || [[ "mput" = "$1" ]] || [[ "shyouhei" = "$1" ]] ; then
|
202
200
|
rvm_ruby_interpreter=$1 ; shift
|
203
201
|
else
|
204
202
|
unset rvm_ruby_interpreter rvm_ruby_version
|
@@ -351,7 +349,7 @@ function __rvm_parse_args {
|
|
351
349
|
--make) rvm_ruby_make="$1" ; shift ;;
|
352
350
|
--make-install) rvm_ruby_make_install="$1"; shift ;;
|
353
351
|
--nice) rvm_niceness="$1" ; shift ;;
|
354
|
-
-l|--level) rvm_ruby_patch_level="$1" ; shift ;;
|
352
|
+
-l|--level) rvm_ruby_patch_level="p$1" ; shift ;;
|
355
353
|
# TODO: handle this below better (if $1 is null)
|
356
354
|
-m|--gem-set) rvm_gem_set_name="$1" ; shift ;;
|
357
355
|
tests|specs) rvm_action="tests" ;;
|
@@ -376,28 +374,29 @@ function __rvm_parse_args {
|
|
376
374
|
*)
|
377
375
|
if [[ ! -z "$rvm_token" ]] ; then
|
378
376
|
if [[ "gems" = "$rvm_action" ]] ; then
|
379
|
-
if [[ ! -z "$(echo $rvm_token | awk '/\.gems$/')" ]] ; then
|
380
|
-
rvm_file_name="$(echo $rvm_token | sed 's#\.gems##g').gems"
|
381
|
-
# elif [[ ! -z "$(echo $rvm_token | awk '/\.gems$/')" ]] ; then
|
377
|
+
if [[ ! -z "$(echo "$rvm_token" | awk '/\.gems$/')" ]] ; then
|
378
|
+
rvm_file_name="$(echo "$rvm_token" | sed 's#\.gems##g').gems"
|
379
|
+
# elif [[ ! -z "$(echo "$rvm_token" | awk '/\.gems$/')" ]] ; then
|
382
380
|
else
|
383
|
-
rvm_gem_set_name="$(echo $rvm_token | sed 's#\.gems##g')"
|
381
|
+
rvm_gem_set_name="$(echo "$rvm_token" | sed 's#\.gems##g')"
|
384
382
|
rvm_file_name="$rvm_gem_set_name.gems"
|
385
383
|
fi
|
386
|
-
elif [[ ! -z "$(echo $rvm_token | awk '/,/')" ]] ; then
|
384
|
+
elif [[ ! -z "$(echo "$rvm_token" | awk '/,/')" ]] ; then
|
387
385
|
rvm_ruby_version="$rvm_token"
|
388
386
|
if [[ -z "$rvm_action" ]] ; then
|
389
387
|
rvm_action="do" # Not sure if we really want to do this but we'll try it out.
|
390
388
|
fi
|
391
|
-
elif
|
392
|
-
rvm_gem_set_name="$(echo $rvm_token | awk -F'%' '{print $2}')"
|
393
|
-
rvm_ruby_string="$(echo $rvm_token | awk -F'%' '{print $1}')"
|
394
|
-
|
395
|
-
|
389
|
+
elif match "$rvm_token" "^.+%.+$" ; then
|
390
|
+
rvm_gem_set_name="$(echo "$rvm_token" | awk -F'%' '{print $2}')"
|
391
|
+
rvm_ruby_string="$(echo "$rvm_token" | awk -F'%' '{print $1}')"
|
392
|
+
elif match "$rvm_token" "^[0-9].[0-9]" ; then
|
393
|
+
rvm_ruby_string="$rvm_token"
|
394
|
+
rvm_action="${rvm_action:-use}"
|
395
|
+
elif match "$rvm_token" "^ree" ; then
|
396
396
|
rvm_ruby_string="$rvm_token"
|
397
|
-
rvm_action="${rvm_action:-
|
397
|
+
rvm_action="${rvm_action:-use}"
|
398
398
|
else
|
399
|
-
if
|
400
|
-
#if [[ ! -z "$rvm_token" ]] && [[ " ! $rvm_token =~ \.rb$ ]] ; then # we have a specified ruby script
|
399
|
+
if match "$rvm_token" "\.rb$" ; then # we have a specified ruby script
|
401
400
|
rvm_ruby_args=$rvm_token
|
402
401
|
rvm_ruby_file=$rvm_token
|
403
402
|
if [[ -z "$rvm_action" ]] ; then
|
data/scripts/completion
CHANGED
@@ -148,7 +148,6 @@ function _rvm {
|
|
148
148
|
version) __rvm_version ; result=$? ;;
|
149
149
|
reset) __rvm_reset ; result=$? ;;
|
150
150
|
# TODO: how can we use bin_path here for reload, default file?
|
151
|
-
reload) __rvm_reload ; result=$? ;;
|
152
151
|
implode) __rvm_implode ; result=$? ;;
|
153
152
|
update) __rvm_update ; result=$? ;;
|
154
153
|
readline) __rvm_readline_install ; result=$? ;;
|
@@ -157,6 +156,7 @@ function _rvm {
|
|
157
156
|
usage|help) __rvm_usage ; result=$? ;;
|
158
157
|
bench|benchmark) __rvm_benchmark ; result=$? ;;
|
159
158
|
rubydo|rakedo|gemdo) __rvm_do ; result=$? ;;
|
159
|
+
reload) source ~/.rvm/scripts/rvm ; result=$? ;;
|
160
160
|
|
161
161
|
gemsync)
|
162
162
|
result=0
|
data/scripts/gems
CHANGED
@@ -34,7 +34,7 @@ __rvm_gems_select() {
|
|
34
34
|
rvm_gem_set_name=$(echo $rvm_ruby_gem_home | xargs basename | awk -F'%' '{print $2}')
|
35
35
|
fi
|
36
36
|
|
37
|
-
if [[ ! -z "$rvm_gem_set_name" ]] &&
|
37
|
+
if [[ ! -z "$rvm_gem_set_name" ]] && ! match "$rvm_gem_set_name" "^[0-9]\.[0-9]" ; then
|
38
38
|
rvm_ruby_gem_home="$rvm_gem_path/$rvm_ruby_interpreter/$rvm_ruby_version%$rvm_gem_set_name"
|
39
39
|
else
|
40
40
|
if [[ ! -z "$rvm_ruby_interpreter" ]] && [[ ! -z "$rvm_ruby_version" ]] && [[ "$rvm_ruby_interpreter" != "system" ]] ; then
|
@@ -156,7 +156,7 @@ __rvm_gems_load() {
|
|
156
156
|
# TODO: Switch to a different field separator than ; to allow for evals
|
157
157
|
gem="$(echo $line | awk -F';' '{print $1}')"
|
158
158
|
gem_prefix="$(echo $line | awk -F';' '{print $2}')"
|
159
|
-
if
|
159
|
+
if match "$gem" "\.gem$" ; then
|
160
160
|
gem_name="$(basename $gem | sed 's#\.gem##' | awk -F'-' '{$NF=NULL;print}')"
|
161
161
|
gem_version="$(basename $gem | sed 's#\.gem##' | awk -F'-' '{print $NF}' )"
|
162
162
|
gem_postfix="$(basename $gem | sed "s#.*\.gem##")"
|
@@ -169,7 +169,7 @@ __rvm_gems_load() {
|
|
169
169
|
if [[ -f "$gem" ]] ; then
|
170
170
|
gem_file_name="$gem"
|
171
171
|
cache_file="$gem"
|
172
|
-
elif
|
172
|
+
elif match "$gem" ".gem$" ]] ; then
|
173
173
|
gem_file_name="$gem"
|
174
174
|
elif [[ -z "${gem_version/ /}" ]] ; then # no version
|
175
175
|
gem_file_name="${gem_name/ /}*.gem"
|
@@ -193,8 +193,8 @@ __rvm_gems_load() {
|
|
193
193
|
else # cached
|
194
194
|
gem_file_name="$(basename "$cache_file")"
|
195
195
|
gem_string="$(echo "$gem_file_name" | sed 's#\.gem$##')"
|
196
|
+
# TODO: Switch this to use match
|
196
197
|
if [[ ! -z "$(echo "$rvm_ruby_gem_list" | awk "/${gem_name/ /} \(.*$gem_version/{print}")" ]] ; then
|
197
|
-
#if [[ ! -z "$rvm_ruby_gem_list" ]] && [[ "$rvm_ruby_gem_list" =~ $gem_string ]] ; then
|
198
198
|
if [[ ! -z "$rvm_force_flag" ]] ; then
|
199
199
|
cp $cache_file $rvm_temp_path/$gem_file_name
|
200
200
|
gem="$rvm_temp_path/$gem_file_name" # install as a named local gem
|
data/scripts/ruby-installer
CHANGED
@@ -56,12 +56,12 @@ function __rvm_install_source {
|
|
56
56
|
if [[ -d "$rvm_ruby_src_path/.svn" ]] ; then
|
57
57
|
cd $rvm_ruby_src_path
|
58
58
|
if [[ -z "$rvm_rev" ]] ; then
|
59
|
-
svn update
|
59
|
+
__rvm_run "svn.update" "svn update"
|
60
60
|
else
|
61
|
-
svn checkout -q $rvm_rev
|
61
|
+
__rvm_run "svn.checkout" "svn checkout -q $rvm_rev"
|
62
62
|
fi
|
63
63
|
else
|
64
|
-
svn checkout -q $rvm_rev --force $rvm_url $rvm_ruby_src_path
|
64
|
+
__rvm_run "svn.checkout" "svn checkout -q $rvm_rev --force $rvm_url $rvm_ruby_src_path"
|
65
65
|
fi
|
66
66
|
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
67
67
|
fi
|
@@ -322,6 +322,67 @@ RubyWrapper
|
|
322
322
|
done ; unset rvm_gem_name
|
323
323
|
;;
|
324
324
|
|
325
|
+
mput|shyouhei)
|
326
|
+
unset GEM_HOME GEM_PATH MY_RUBY_HOME IRBRC
|
327
|
+
PATH=$(echo $PATH | tr ':' '\n' | awk '$0 !~ /rvm/' | paste -sd : -)
|
328
|
+
PATH=$rvm_bin_path:$PATH ; export PATH
|
329
|
+
|
330
|
+
rvm_ruby_repo_url=$rvm_shyouhei_repo_url
|
331
|
+
rvm_ruby_configure=" "
|
332
|
+
rvm_ruby_src_path=$rvm_ruby_home
|
333
|
+
# rvm_ruby_make="rake"
|
334
|
+
# rvm_ruby_make_install="rake install"
|
335
|
+
rvm_ruby_home="$rvm_path/$rvm_ruby_interpreter-$rvm_ruby_version"
|
336
|
+
# rvm_ruby_revision="head"
|
337
|
+
|
338
|
+
if [[ ! -d "$rvm_ruby_src_path" ]] || [[ ! -d "$rvm_ruby_src_path/.git" ]] ; then
|
339
|
+
rm -rf $rvm_ruby_src_path
|
340
|
+
__rvm_run "mput.repo" "git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_src_path" "Cloning $rvm_ruby_repo_url"
|
341
|
+
cd $rvm_ruby_home
|
342
|
+
else
|
343
|
+
cd $rvm_ruby_home
|
344
|
+
__rvm_run "mput.repo" "git pull origin trunk" "Pulling from origin trunk"
|
345
|
+
fi
|
346
|
+
|
347
|
+
if [[ ! -s "$rvm_ruby_src_path/configure" ]] ; then
|
348
|
+
rvm_autoconf="$(which autoconf)"
|
349
|
+
if [[ $? -gt 0 ]] ; then __rvm_log "fail" "rvm expects autoconf" ; result=$? ; return $result ; fi
|
350
|
+
__rvm_run "autoconf" "$rvm_autoconf" "Running autoconf"
|
351
|
+
# if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi # Don't barf on autoconf fail...
|
352
|
+
fi
|
353
|
+
|
354
|
+
if [[ -s ./Makefile ]] && [[ -z "$rvm_reconfigure_flag" ]] ; then
|
355
|
+
__rvm_log "debug" "Skipping configure step, Makefile exists so configure must have already been run."
|
356
|
+
elif [[ -s ./configure ]] ; then
|
357
|
+
__rvm_run "configure" "./configure --prefix=$rvm_ruby_home $rvm_ruby_configure $configure_parameters" "Configuring $rvm_ruby_package_name using $rvm_ruby_configure, this may take a while depending on your cpu(s)..."
|
358
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
359
|
+
unset configure_parameters
|
360
|
+
elif [[ ! -z "rvm_ruby_configure" ]] ; then
|
361
|
+
$rvm_ruby_configure
|
362
|
+
else
|
363
|
+
__rvm_log "error" "Skipping configure step, 'configure' script does not exist, did autoconf not run successfully?"
|
364
|
+
fi
|
365
|
+
|
366
|
+
rvm_ruby_make=${rvm_ruby_make:-"/usr/bin/make"}
|
367
|
+
__rvm_run "make" "$rvm_ruby_make $rvm_make_flags" "Compiling $rvm_ruby_package_name, this may take a while, depending on your cpu(s)..."
|
368
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
369
|
+
|
370
|
+
rvm_ruby_make_install=${rvm_ruby_make_install:-"/usr/bin/make install"}
|
371
|
+
__rvm_run "install" "$rvm_ruby_make_install" "Installing $rvm_ruby_package_name"
|
372
|
+
if [[ $? -gt 0 ]] ; then result=$? ; return $result ; fi
|
373
|
+
|
374
|
+
__rvm_log "info" "Installation of $rvm_ruby_package_name is complete."
|
375
|
+
|
376
|
+
GEM_HOME="$rvm_ruby_gem_home" ; export GEM_HOME
|
377
|
+
GEM_PATH="$rvm_ruby_gem_home" ; export GEM_PATH
|
378
|
+
|
379
|
+
__rvm_rubygems_setup
|
380
|
+
__rvm_bin_script
|
381
|
+
__rvm_run "chmod.bin" "chmod +x $rvm_ruby_home/bin/*"
|
382
|
+
__rvm_post_install
|
383
|
+
__rvm_pushpop
|
384
|
+
;;
|
385
|
+
|
325
386
|
ruby)
|
326
387
|
__rvm_install_source $*
|
327
388
|
;;
|
@@ -451,7 +512,7 @@ function __rvm_post_install {
|
|
451
512
|
}
|
452
513
|
|
453
514
|
function __rvm_rubygems_setup {
|
454
|
-
if [[ ! -z "$(echo $rvm_ruby_version | awk '/^1\.9/')" ]] ; then
|
515
|
+
if [[ ! -z "$(echo $rvm_ruby_version | awk '/^1\.9/')" ]] || [[ ! -z "$(echo $rvm_ruby_interpreter | awk '/^mput/')" ]] ; then
|
455
516
|
# 1.9 has it's own built-in gem command
|
456
517
|
__rvm_inject_ruby_shebang "$rvm_ruby_src_path/bin/gem"
|
457
518
|
__rvm_inject_gem_env "$rvm_ruby_home/bin/gem"
|
data/scripts/rvm-prompt
CHANGED
@@ -1,8 +1,52 @@
|
|
1
1
|
#!/bin/bash
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
|
3
|
+
add(){
|
4
|
+
token="$1"
|
5
|
+
eval "${token}_flag=1" ; shift
|
6
|
+
if [[ ! -z "$format" ]] ; then
|
7
|
+
format="${format}-\$${token}"
|
8
|
+
else
|
9
|
+
format="\$${token}"
|
10
|
+
fi
|
11
|
+
}
|
12
|
+
|
13
|
+
if [[ ! -z "$(which ruby | awk '/rvm/{print}')" ]] ; then
|
14
|
+
unset format
|
15
|
+
while [[ $# -gt 0 ]] ; do
|
16
|
+
token="$1" ; shift
|
17
|
+
case "$token" in
|
18
|
+
i|interpreter) add "interpreter" ;;
|
19
|
+
v|version) add "version" ;;
|
20
|
+
p|patchlevel) add "patchlevel" ;;
|
21
|
+
r|revision) add "revision" ;;
|
22
|
+
a|architecture) add "architecture" ;;
|
23
|
+
*) echo "Unrecognized command line option '$token' for $0" ; exit 1 ;;
|
24
|
+
esac
|
25
|
+
done
|
26
|
+
|
27
|
+
if [[ -z "$format" ]] ; then
|
28
|
+
add "interpreter"
|
29
|
+
add "version"
|
30
|
+
add "patchlevel"
|
31
|
+
fi
|
32
|
+
|
33
|
+
ruby_string=$(dirname "$(which ruby)" | xargs dirname | xargs basename)
|
34
|
+
if [[ ! -z "$interpreter_flag" ]] ; then
|
35
|
+
interpreter="$(echo $ruby_string | awk -F'-' '{print $1}')"
|
36
|
+
fi
|
37
|
+
if [[ ! -z "$version_flag" ]] ; then
|
38
|
+
version="$(echo $ruby_string | awk -F'-' '{print $2}')"
|
39
|
+
fi
|
40
|
+
if [[ ! -z "$patchlevel_flag" ]] ; then
|
41
|
+
patchlevel=$(echo $ruby_string | awk -F'-' '{print $3}')
|
42
|
+
fi
|
43
|
+
if [[ ! -z "$architecture_flag" ]] ; then
|
44
|
+
architecture="$(echo "$(ruby -v)" | sed 's/^.*\[//' | sed 's/\].*$//')"
|
45
|
+
fi
|
46
|
+
|
47
|
+
command="prompt=\"[$format]\""
|
48
|
+
eval "$command"
|
49
|
+
echo "${prompt/-]/]}"
|
7
50
|
fi
|
8
51
|
|
52
|
+
exit 0
|
data/scripts/selector
CHANGED
@@ -2,29 +2,13 @@
|
|
2
2
|
|
3
3
|
# __rvm_select implementation version patch_level
|
4
4
|
function __rvm_select {
|
5
|
-
if [[
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
fi
|
10
|
-
|
11
|
-
if [[ ! -z "$(echo "$rvm_ruby_string" | awk '/^[0-9]/')" ]] ; then
|
12
|
-
rvm_ruby_interpreter="${rvm_ruby_interpreter:-ruby}"
|
13
|
-
rvm_ruby_version=$rvm_ruby_string
|
14
|
-
else
|
15
|
-
rvm_ruby_interpreter="$rvm_ruby_string"
|
16
|
-
unset rvm_ruby_version
|
17
|
-
fi
|
18
|
-
elif [[ ! -z "$rvm_ruby_interpreter" ]] ; then
|
19
|
-
if [[ ! -z "$(echo $rvm_ruby_interpreter | awk '/^[0-9]/')" ]] ; then
|
20
|
-
rvm_ruby_version=$rvm_ruby_interpreter
|
21
|
-
rvm_ruby_interpreter="ruby"
|
22
|
-
else
|
23
|
-
rvm_ruby_interpreter="${rvm_ruby_interpreter:-ruby}" # Default is standard ruby
|
24
|
-
fi
|
5
|
+
if [[ -z "$rvm_ruby_string" ]] ; then
|
6
|
+
rvm_ruby_string="$rvm_ruby_interpreter"
|
7
|
+
if [[ ! -z "$rvm_ruby_version" ]] ; then rvm_ruby_string="$rvm_ruby_string-$rvm_ruby_version" ; fi
|
8
|
+
if [[ ! -z "$rvm_ruby_patch_level" ]] ; then rvm_ruby_string="$rvm_ruby_string-$rvm_ruby_patch_level" ; fi
|
9
|
+
if [[ ! -z "$rvm_ruby_revision" ]] ; then rvm_ruby_string="$rvm_ruby_string-$rvm_ruby_revision" ; fi
|
25
10
|
fi
|
26
|
-
|
27
|
-
if [[ ! -z "$rvm_ruby_string" ]] ; then __rvm_ruby_string ; fi
|
11
|
+
__rvm_ruby_string
|
28
12
|
if [[ "1.8" = "$rvm_ruby_version" ]] ; then rvm_ruby_version="1.8.6" ; fi
|
29
13
|
if [[ "1.9" = "$rvm_ruby_version" ]] ; then rvm_ruby_version="1.9.1" ; fi
|
30
14
|
|
@@ -49,6 +33,7 @@ function __rvm_select {
|
|
49
33
|
#rvm_ruby_revision="head"
|
50
34
|
unset rvm_ruby_patch_level
|
51
35
|
rvm_ruby_repo_url=${rvm_rbx_repo_url:-"$(__rvm_db "rubinius_repo_url")"}
|
36
|
+
rvm_ruby_string="rbx-head"
|
52
37
|
rvm_url=$rvm_ruby_repo_url
|
53
38
|
rvm_ruby_configure=""
|
54
39
|
rvm_ruby_make="build"
|
@@ -56,19 +41,18 @@ function __rvm_select {
|
|
56
41
|
;;
|
57
42
|
|
58
43
|
jruby)
|
59
|
-
rvm_ruby_version="${rvm_ruby_version:-"$(__rvm_db "jruby_version")"}"
|
60
44
|
rvm_jruby_repo_url="${rvm_jruby_repo_url:-"git://kenai.com/jruby~main"}"
|
61
|
-
|
45
|
+
rvm_ruby_version="${rvm_ruby_version:-"$(__rvm_db "jruby_version")"}"
|
46
|
+
unset rvm_ruby_patch_level
|
47
|
+
if match "$rvm_ruby_version" "^1.4" ; then
|
62
48
|
rvm_ruby_version="1.4.0RC1"
|
49
|
+
rvm_ruby_string="jruby-1.4.0RC1"
|
63
50
|
rvm_package_file="$rvm_ruby_interpreter-bin-${rvm_ruby_version}"
|
64
51
|
else
|
65
52
|
rvm_package_file="$rvm_ruby_interpreter-bin-$rvm_ruby_version"
|
53
|
+
rvm_ruby_string="${rvm_ruby_interpreter}-${rvm_ruby_version}"
|
66
54
|
fi
|
67
55
|
rvm_url="http://dist.codehaus.org/$rvm_ruby_interpreter/$rvm_ruby_version/$rvm_package_file.tar.gz"
|
68
|
-
unset rvm_ruby_patch_level
|
69
|
-
if [[ -z "$(echo $rvm_ruby_version | awk '/^1\.[2-4]/')" ]] ; then
|
70
|
-
__rvm_log "fail" "Unknown jRuby version: $rvm_ruby_version"
|
71
|
-
fi
|
72
56
|
alias jruby_ng="jruby --ng"
|
73
57
|
alias jruby_ng_server="jruby --ng-server"
|
74
58
|
;;
|
@@ -76,22 +60,44 @@ function __rvm_select {
|
|
76
60
|
ruby-enterprise|ree)
|
77
61
|
rvm_ruby_interpreter=ree
|
78
62
|
rvm_ruby_version=${rvm_ruby_version:-"$(__rvm_db "ree_version")"}
|
79
|
-
if [[ "$
|
63
|
+
if [[ -z "$rvm_ruby_patch_level" ]] ; then
|
80
64
|
rvm_ruby_patch_level="${rvm_ruby_patch_level:-$(__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_version}_patch_level")}"
|
65
|
+
else
|
66
|
+
rvm_ruby_patch_level="$(echo $rvm_ruby_patch_level | sed 's#^p##')"
|
81
67
|
fi
|
82
|
-
|
83
|
-
|
84
|
-
if [[
|
68
|
+
rvm_ruby_string="${rvm_ruby_interpreter}-${rvm_ruby_version}-${rvm_ruby_patch_level}"
|
69
|
+
|
70
|
+
if [[ "$rvm_ruby_version" != "head" ]] ; then
|
71
|
+
if [[ ! -z "$rvm_ruby_revision" ]] ; then
|
72
|
+
unset rvm_ruby_patch_level rvm_ruby_package_file
|
73
|
+
rvm_ruby_package_name="ree-$rvm_ruby_version-$rvm_ruby_revision"
|
74
|
+
else
|
75
|
+
rvm_ruby_package_file="ruby-enterprise-$rvm_ruby_version-$rvm_ruby_patch_level"
|
76
|
+
rvm_url="${rvm_url:-$(__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_version}_url")}/$rvm_ruby_package_file.tar.gz"
|
77
|
+
fi
|
78
|
+
fi
|
79
|
+
if ! match "$rvm_ruby_version" "^1\.8" ; then
|
85
80
|
__rvm_log "fail" "Unknown Ruby Enterprise Edition version: $rvm_ruby_version"
|
86
81
|
fi
|
87
82
|
;;
|
88
83
|
|
84
|
+
mput|shyouhei)
|
85
|
+
rvm_ruby_interpreter="mput"
|
86
|
+
rvm_ruby_version="head"
|
87
|
+
rvm_ruby_string="mput-head"
|
88
|
+
unset rvm_ruby_patch_level
|
89
|
+
rvm_ruby_repo_url=${rvm_mput_repo_url:-"$(__rvm_db "shyouhei_repo_url")"}
|
90
|
+
rvm_url=$rvm_ruby_repo_url
|
91
|
+
unset rvm_ruby_configure rvm_ruby_make rvm_ruby_make_install
|
92
|
+
;;
|
93
|
+
|
89
94
|
ruby)
|
90
95
|
if [[ ! -z "$rvm_ruby_tag" ]] ; then
|
91
96
|
rvm_ruby_version=$(echo $rvm_ruby_tag | sed 's#^v##' | sed 's#/##' | awk -F'_' '{print 1 "." $2 "." $3 }')
|
92
97
|
# rvm_ruby_patch_level=$rvm_ruby_tag # $(echo $rvm_ruby_tag | sed 's#^v##' | sed 's#/##' | awk -F'_' '{print $4 }')
|
93
|
-
if [[ -z "$rvm_ruby_patch_level" ]] ; then rvm_ruby_patch_level=$
|
98
|
+
if [[ -z "$rvm_ruby_patch_level" ]] ; then rvm_ruby_patch_level=$rvm_ruby_tag ; fi
|
94
99
|
fi
|
100
|
+
if [[ ! -z "$rvm_head_flag" ]] ; then rvm_ruby_repo_url="${rvm_ruby_repo_url:-"$(__rvm_db "ruby_repo_url")"}" ; fi
|
95
101
|
if [[ -z "$rvm_ruby_version" ]] ; then rvm_ruby_version=$(__rvm_db "ruby_version") ; fi
|
96
102
|
if [[ -z "$rvm_ruby_patch_level" ]] ; then rvm_ruby_patch_level="$(__rvm_db "ruby_${rvm_ruby_version/ /}_patch_level")" ; fi
|
97
103
|
if [[ -z "$rvm_ruby_patch_level" ]] ; then unset rvm_ruby_patch_level ; fi
|
@@ -124,26 +130,18 @@ function __rvm_select {
|
|
124
130
|
if [[ ! -z "$rvm_ruby_interpreter" ]] && [[ ! -z "$rvm_ruby_version" ]] && [[ "system" != "$rvm_ruby_interpreter" ]] ; then
|
125
131
|
rvm_major_version=$(echo $rvm_ruby_version | awk -F'.' '{ print $2 }')
|
126
132
|
rvm_minor_version=$(echo $rvm_ruby_version | awk -F'.' '{ print $3 }')
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
rvm_ruby_home="${rvm_ruby_home:-"$rvm_path/$rvm_ruby_interpreter-$rvm_ruby_version"}"
|
131
|
-
else
|
132
|
-
if [[ "$rvm_ruby_interpreter" != "ree" ]] ; then
|
133
|
-
if [[ ! -z "$(echo $rvm_ruby_patch_level | awk '/^[0-9]/')" ]] ; then
|
134
|
-
rvm_ruby_patch_level="p$rvm_ruby_patch_level"
|
135
|
-
fi
|
136
|
-
rvm_ruby_patch_level="$(echo $rvm_ruby_patch_level | sed 's#^pp#p#')" # sanity check, thanks sfpyra
|
137
|
-
fi
|
138
|
-
rvm_ruby_package_name="${rvm_ruby_package_name:-"$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level"}"
|
139
|
-
rvm_ruby_home="${rvm_ruby_home:-"$rvm_path/$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level"}"
|
140
|
-
fi
|
141
|
-
|
142
|
-
rvm_ruby_string="$rvm_ruby_package_name"
|
143
|
-
rvm_ruby_log_path="$rvm_log_path/$rvm_ruby_package_name"
|
133
|
+
rvm_ruby_package_name="$rvm_ruby_string"
|
134
|
+
rvm_ruby_home="$rvm_path/$rvm_ruby_string"
|
135
|
+
rvm_ruby_log_path="$rvm_log_path/$rvm_ruby_string"
|
144
136
|
rvm_ruby_src_path="$rvm_src_path/$rvm_ruby_string"
|
145
137
|
rvm_ruby_binary="$rvm_ruby_home/bin/ruby"
|
146
138
|
rvm_ruby_irbrc="$rvm_ruby_home/.irbrc"
|
139
|
+
if [[ -z "$rvm_gem_set_name" ]] ; then
|
140
|
+
rvm_ruby_gem_home="${rvm_gem_path}/${rvm_ruby_interpreter}/${rvm_ruby_version}"
|
141
|
+
else
|
142
|
+
rvm_ruby_gem_home="${rvm_gem_path}/${rvm_ruby_interpreter}/${rvm_ruby_version}%${rvm_gem_set_name}"
|
143
|
+
fi
|
144
|
+
|
147
145
|
rvm_ruby_selected_flag=1
|
148
146
|
|
149
147
|
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_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
|
@@ -188,7 +186,7 @@ function __rvm_use {
|
|
188
186
|
GEM_HOME=$rvm_ruby_gem_home ; export GEM_HOME
|
189
187
|
GEM_PATH=$rvm_ruby_gem_home ; export GEM_PATH
|
190
188
|
MY_RUBY_HOME=$rvm_ruby_home ; export MY_RUBY_HOME
|
191
|
-
RUBY_VERSION=$
|
189
|
+
RUBY_VERSION=$rvm_ruby_string ; export RUBY_VERSION
|
192
190
|
IRBRC="$rvm_ruby_irbrc" ; export IRBRC
|
193
191
|
if [[ -z "$IRBRC" ]] ; then unset IRBRC ; fi
|
194
192
|
|
@@ -227,10 +225,10 @@ function __rvm_use {
|
|
227
225
|
fi
|
228
226
|
done ; unset variable value
|
229
227
|
|
230
|
-
if [[ -s $rvm_path/bin/$
|
231
|
-
ln -fs $rvm_path/bin/$
|
232
|
-
ln -fs $rvm_path/bin/gem-$
|
233
|
-
ln -fs $rvm_path/bin/irb-$
|
228
|
+
if [[ -s "$rvm_path/bin/$rvm_ruby_string" ]] ; then
|
229
|
+
ln -fs "$rvm_path/bin/$rvm_ruby_string" "$rvm_path/bin/default-ruby" # So that people know what it's for :)
|
230
|
+
ln -fs "$rvm_path/bin/gem-$rvm_ruby_string" "$rvm_path/bin/default-gem"
|
231
|
+
ln -fs "$rvm_path/bin/irb-$rvm_ruby_string" "$rvm_path/bin/default-irb"
|
234
232
|
else
|
235
233
|
rm -f $rvm_path/bin/default*
|
236
234
|
fi
|
@@ -243,65 +241,107 @@ function __rvm_use {
|
|
243
241
|
}
|
244
242
|
|
245
243
|
function __rvm_ruby_string {
|
246
|
-
if [[
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
if [[ ! -z "$(echo "$rvm_ruby_string" | awk -F'%' '{print $2}')" ]] ; then
|
251
|
-
rvm_gem_set_name=$(echo "$rvm_ruby_string" | awk -F'%' '{print $2}')
|
252
|
-
fi
|
253
|
-
set +x
|
254
|
-
ruby_string=$(echo "$rvm_ruby_string" | awk -F'%' '{print $1}')
|
255
|
-
__rvm_unset_ruby_variables
|
256
|
-
|
257
|
-
rvm_ruby_interpreter=$(echo $ruby_string | awk -F'-' '{print $1}')
|
258
|
-
rvm_ruby_version=$(echo $ruby_string | awk -F'-' '{print $2}')
|
259
|
-
if [[ "$rvm_ruby_version" != "head" ]] ; then
|
260
|
-
patch_level=$(echo $ruby_string | awk -F'-' '{print $3}')
|
261
|
-
if [[ ! -z "$patch_level" ]] ; then rvm_ruby_patch_level="$patch_level" ; fi
|
244
|
+
if [[ ! -z "$rvm_ruby_string" ]] ; then
|
245
|
+
if [[ "system" = "$rvm_ruby_string" ]] ; then
|
246
|
+
__rvm_unset_ruby_variables
|
247
|
+
rvm_ruby_interpreter="system"
|
262
248
|
else
|
263
|
-
|
264
|
-
fi
|
249
|
+
ruby_string="${rvm_ruby_string/ruby-enterprise/ree}"
|
265
250
|
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
251
|
+
__rvm_unset_ruby_variables
|
252
|
+
|
253
|
+
if [[ ! -z "$(echo "$ruby_string" | awk -F'%' '{print $2}')" ]] ; then
|
254
|
+
rvm_gem_set_name=$(echo "$ruby_string" | awk -F'%' '{print $2}')
|
255
|
+
fi
|
256
|
+
|
257
|
+
ruby_string=$(echo "$ruby_string" | awk -F'%' '{print $1}')
|
258
|
+
rvm_ruby_interpreter=$(echo $ruby_string | awk -F'-' '{print $1}')
|
259
|
+
rvm_ruby_version=$(echo $ruby_string | awk -F'-' '{print $2}')
|
260
|
+
|
261
|
+
if [[ "$rvm_ruby_version" != "head" ]] ; then
|
262
|
+
patch_level=$(echo $ruby_string | awk -F'-' '{print $3}')
|
263
|
+
if [[ ! -z "$patch_level" ]] ; then rvm_ruby_patch_level="$patch_level" ; fi
|
264
|
+
else
|
265
|
+
unset rvm_ruby_version
|
266
|
+
rvm_head_flag=1
|
267
|
+
rvm_ruby_revision="head"
|
268
|
+
rvm_ruby_patch_level="head"
|
269
|
+
fi
|
270
|
+
|
271
|
+
if match "$rvm_ruby_interpreter" "^1\.[8-9]" ; then
|
272
|
+
rvm_ruby_patch_level=$rvm_ruby_version
|
273
|
+
rvm_ruby_version=$rvm_ruby_interpreter
|
274
|
+
rvm_ruby_interpreter="ruby"
|
275
|
+
if [[ -z "$rvm_ruby_patch_level" ]] ; then
|
276
|
+
if [[ "$rvm_ruby_version" != "head" ]] ; then
|
277
|
+
rvm_ruby_patch_level="p$(__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_version}_patch_level")"
|
278
|
+
else
|
279
|
+
unset rvm_ruby_version
|
280
|
+
rvm_head_flag=1
|
281
|
+
rvm_ruby_revision="head"
|
282
|
+
rvm_ruby_patch_level="head"
|
283
|
+
fi
|
275
284
|
fi
|
285
|
+
elif match "$rvm_ruby_interpreter" "^1\.[3-4]" ; then
|
286
|
+
rvm_ruby_version=$rvm_ruby_interpreter
|
287
|
+
rvm_ruby_interpreter=jruby
|
288
|
+
unset rvm_ruby_patch_level
|
276
289
|
fi
|
277
|
-
elif [[ ! -z "$(echo $rvm_ruby_interpreter | awk '/^1\.[3-4]/')" ]] ; then
|
278
|
-
rvm_ruby_version=$rvm_ruby_interpreter
|
279
|
-
rvm_ruby_interpreter=jruby
|
280
|
-
unset rvm_ruby_patch_level
|
281
|
-
fi
|
282
290
|
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
else
|
288
|
-
revision=$(echo $ruby_string | awk -F'-' '{print $3}')
|
289
|
-
fi
|
291
|
+
if match "$rvm_ruby_patch_level" "^r" ; then
|
292
|
+
rvm_ruby_revision=$rvm_ruby_patch_level
|
293
|
+
unset rvm_ruby_patch_level
|
294
|
+
fi
|
290
295
|
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
+
if [[ "head" = "$rvm_ruby_version" ]] || [[ "head" = "$rvm_ruby_patch_level" ]] || [[ 1 = "$rvm_head_flag" ]] ; then
|
297
|
+
rvm_ruby_patch_level="head"
|
298
|
+
rvm_head_flag=1
|
299
|
+
if [[ "rbx" = "$rvm_ruby_interpreter" ]] ; then unset rvm_ruby_patch_level ; fi
|
300
|
+
if [[ "mput" = "$rvm_ruby_interpreter" ]] ; then unset rvm_ruby_patch_level ; fi
|
296
301
|
else
|
297
|
-
|
298
|
-
|
302
|
+
revision=$(echo $ruby_string | awk -F'-' '{print $3}')
|
303
|
+
if [[ ! -z "$revision" ]] ; then
|
304
|
+
if match "$revision" "^p" ; then
|
305
|
+
rvm_ruby_patch_level="$revision"
|
306
|
+
# if [[ "preview" == "$revision" ]] ; then
|
307
|
+
elif match "$revision" "^[0-9]" ; then
|
308
|
+
if [[ "ree" = "$rvm_ruby_interpreter" ]] ; then
|
309
|
+
rvm_ruby_patch_level="$revision"
|
310
|
+
unset rvm_ruby_revision
|
311
|
+
else
|
312
|
+
rvm_ruby_revision="r$revision"
|
313
|
+
fi
|
314
|
+
elif match "$revision" "^r" ; then
|
315
|
+
rvm_ruby_revision="$revision"
|
316
|
+
elif match "$revision" "^t" ; then
|
317
|
+
rvm_ruby_tag="$revision"
|
318
|
+
else
|
319
|
+
unset rvm_ruby_patch_level rvm_ruby_revision rvm_ruby_tag
|
320
|
+
fi ; unset revision
|
299
321
|
else
|
300
|
-
|
322
|
+
patch_level="$(__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_version}_patch_level")"
|
323
|
+
if [[ ! -z "$patch_level" ]] ; then
|
324
|
+
rvm_ruby_patch_level="p$(__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_version}_patch_level")"
|
325
|
+
else
|
326
|
+
unset rvm_ruby_patch_level
|
327
|
+
fi ; unset patch_level
|
328
|
+
fi
|
329
|
+
fi
|
330
|
+
|
331
|
+
if [[ ! -z "$rvm_ruby_revision" ]] ; then
|
332
|
+
rvm_ruby_string="$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_revision"
|
333
|
+
elif [[ ! -z "$rvm_ruby_patch_level" ]] ; then
|
334
|
+
if match "$rvm_ruby_patch_level" "^[0-9]" ; then
|
335
|
+
rvm_ruby_patch_level="p$rvm_ruby_patch_level"
|
301
336
|
fi
|
337
|
+
rvm_ruby_patch_level="$(echo $rvm_ruby_patch_level | sed 's#^pp#p#')" # sanity check, thanks sfpyra
|
338
|
+
rvm_ruby_string="$rvm_ruby_interpreter-$rvm_ruby_version-$rvm_ruby_patch_level"
|
339
|
+
else
|
340
|
+
rvm_ruby_string="$rvm_ruby_interpreter-$rvm_ruby_version"
|
302
341
|
fi
|
342
|
+
|
343
|
+
unset ruby_string
|
303
344
|
fi
|
304
|
-
unset ruby_string
|
305
345
|
fi
|
306
346
|
return 0
|
307
347
|
}
|
data/scripts/utility
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
|
-
|
3
|
+
__rvm_info() {
|
4
4
|
full_version=$(ruby -v)
|
5
5
|
cat <<Info
|
6
6
|
|
@@ -113,11 +113,11 @@ function __rvm_run {
|
|
113
113
|
|
114
114
|
function __rvm_cleanup_variables {
|
115
115
|
__rvm_unset_ruby_variables
|
116
|
-
unset rvm_ruby_selected_flag rvm_action rvm_irbrc_file rvm_src_path rvm_path rvm_prefix_path rvm_gem_path rvm_command rvm_error_message rvm_gem_set_name rvm_url rvm_config_path rvm_bin_path 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
|
116
|
+
unset rvm_ruby_selected_flag rvm_action rvm_irbrc_file rvm_src_path rvm_path rvm_prefix_path rvm_gem_path rvm_command rvm_error_message rvm_gem_set_name rvm_url rvm_config_path rvm_bin_path 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_log_path rvm_file_name
|
117
117
|
}
|
118
118
|
|
119
119
|
function __rvm_unset_ruby_variables {
|
120
|
-
unset rvm_ruby_interpreter rvm_ruby_version rvm_ruby_repo_url rvm_ruby_package_name rvm_ruby_patch_level rvm_ruby_configure 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
|
120
|
+
unset rvm_ruby_interpreter rvm_ruby_version rvm_ruby_repo_url rvm_ruby_package_name rvm_ruby_patch_level rvm_ruby_configure 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
|
121
121
|
}
|
122
122
|
|
123
123
|
# TODO: root user loadng of /etc/rvmrc
|
@@ -342,7 +342,7 @@ function __rvm_gem_sync {
|
|
342
342
|
fi
|
343
343
|
}
|
344
344
|
|
345
|
-
|
345
|
+
__rvm_db() {
|
346
346
|
rvm_hash_file="$rvm_config_path/db"
|
347
347
|
touch $rvm_hash_file
|
348
348
|
key="$1" ; shift
|
@@ -367,12 +367,13 @@ function __rvm_db {
|
|
367
367
|
fi
|
368
368
|
}
|
369
369
|
|
370
|
-
|
370
|
+
__rvm_list() {
|
371
371
|
if [[ ! -z "$rvm_all_flag" ]] ; then
|
372
372
|
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$##'
|
373
373
|
echo -e "jruby 1.2.0\njruby 1.3.0\njruby (1.3.1, the default)\njruby 1.4.1\njruby --head"
|
374
374
|
echo -e "rbx head (rubinius head, the default)\nrbx head --jit"
|
375
375
|
echo -e "ree 1.8.6 --head\nree (1.8.7, the default)"
|
376
|
+
echo -e "mput head (shyouhei head, the default)"
|
376
377
|
else
|
377
378
|
current_ruby="$(which ruby | xargs dirname | xargs dirname | xargs basename 2> /dev/null)"
|
378
379
|
echo -e "\nruby:\n"
|
@@ -408,6 +409,17 @@ function __rvm_list {
|
|
408
409
|
fi
|
409
410
|
done ; unset version
|
410
411
|
|
412
|
+
echo -e "\nmput:\n"
|
413
|
+
for version in $(/bin/ls $rvm_path/ 2> /dev/null | awk '/mput-.*/ { print $NF }') ; do
|
414
|
+
string="$($rvm_path/$version/bin/ruby -v | tr "\n" ' ' )"
|
415
|
+
if [[ "$version" = "$current_ruby" ]] ; then
|
416
|
+
echo -e "=> $version : $string"
|
417
|
+
selected="1"
|
418
|
+
else
|
419
|
+
echo -e " $version : $string"
|
420
|
+
fi
|
421
|
+
done ; unset version
|
422
|
+
|
411
423
|
if [[ -f "$rvm_path/default" ]] && [[ -s $rvm_path/default ]] ; then
|
412
424
|
version=$(grep '^MY_RUBY_HOME' ~/.rvm/default | awk -F"'" '{print $2}' | xargs basename)
|
413
425
|
if [[ ! -z "$version" ]] ; then
|
@@ -465,6 +477,7 @@ function __rvm_initialize {
|
|
465
477
|
rvm_ruby_repo_url="${rvm_ruby_repo_url:-"http://svn.ruby-lang.org/repos/ruby"}"
|
466
478
|
# Rubinius sha1's will be available after RC1.
|
467
479
|
rvm_rubinius_repo_url="${rvm_rubinius_repo_url:-"git://github.com/evanphx/rubinius.git"}"
|
480
|
+
rvm_shyouhei_repo_url="${rvm_shyouhei_repo_url:-"git://github.com/shyouhei/ruby.git"}"
|
468
481
|
rvm_jruby_repo_url="${rvm_jruby_repo_url:-"git://kenai.com/jruby~main"}"
|
469
482
|
rvm_ruby_load_path="."
|
470
483
|
rvm_ruby_require=""
|
@@ -478,19 +491,18 @@ function __rvm_initialize {
|
|
478
491
|
mkdir -p $rvm_src_path $rvm_bin_path $rvm_archives_path $rvm_gem_path $rvm_temp_path
|
479
492
|
}
|
480
493
|
|
481
|
-
|
494
|
+
__rvm_update() {
|
482
495
|
if [[ "head" = "$rvm_ruby_revision" ]] || [[ ! -z "$rvm_self_flag" ]] || [[ "update" = "$rvm_action" ]] || [[ ! -z "$rvm_update_flag" ]] ; then
|
483
496
|
__rvm_version
|
484
497
|
__rvm_update_rvm
|
485
|
-
__rvm_version
|
486
498
|
fi
|
487
|
-
__rvm_reload
|
488
499
|
if [[ ! -z "$rvm_bin_flag" ]] ; then __rvm_bin_scripts ; fi
|
489
500
|
if [[ ! -z "$rvm_rubygems_flag" ]] ; then __rvm_rubygems_setup ; fi
|
490
501
|
}
|
491
502
|
|
492
|
-
|
493
|
-
mkdir -p $rvm_src_path
|
503
|
+
__rvm_update_rvm() {
|
504
|
+
mkdir -p "$rvm_src_path"
|
505
|
+
__rvm_pushpop "$rvm_src_path"
|
494
506
|
if [[ "head" = "$rvm_ruby_revision" ]] ; then
|
495
507
|
if [[ -d "$rvm_src_path/rvm/.git" ]] ; then
|
496
508
|
cd $rvm_src_path/rvm/ && git pull origin master && ./scripts/install
|
@@ -499,9 +511,9 @@ function __rvm_update_rvm {
|
|
499
511
|
fi
|
500
512
|
else
|
501
513
|
# TODO: rvm_install_path:
|
502
|
-
|
503
|
-
gem install rvm --no-rdoc --no-ri -q && $GEM_HOME/bin/rvm-install && source ~/.rvm/scripts/rvm
|
514
|
+
gem install rvm --no-rdoc --no-ri -q rvm && $(gem env gemdir user)/bin/rvm-install && source ~/.rvm/scripts/rvm
|
504
515
|
fi
|
516
|
+
__rvm_pushpop
|
505
517
|
}
|
506
518
|
|
507
519
|
__rvm_reboot() {
|
@@ -540,10 +552,9 @@ __rvm_ruby_do() {
|
|
540
552
|
if [[ -x "$rvm_ruby_home/bin/$binary" ]] ; then
|
541
553
|
load_path="$rvm_ruby_home/bin:$rvm_ruby_load_path"
|
542
554
|
if [[ "ruby" = "$binary" ]] ; then
|
543
|
-
if
|
544
|
-
#if [[ $rvm_ruby_args =~ '\.rb$' ]] ; then
|
555
|
+
if match "$rvm_ruby_args" "\.rb$" ; then
|
545
556
|
if [[ -z "$prefix" ]] ; then prefix="-S" ; fi
|
546
|
-
if
|
557
|
+
if ! match "$rvm_ruby_args" "$prefix" ; then
|
547
558
|
rvm_ruby_args="$prefix $rvm_ruby_args"
|
548
559
|
fi
|
549
560
|
fi
|
@@ -836,16 +847,41 @@ __rvm_make_flags() {
|
|
836
847
|
fi
|
837
848
|
CFLAGS="-isysroot /Developer/SDKs/$sdk $rvm_archflags" ; export CFLAGS
|
838
849
|
LDFLAGS="-Wl,-syslibroot /Developer/SDKs/$sdk $rvm_archflags" ; export LDFLAGS
|
850
|
+
# CXXFLAGS="-mmacosx-version-min="$(sw_vers -productVersion | awk -F'.' '{print $1"."$2}')" -isysroot /Developer/SDKs/$sdk " ; export CXXFLAGS
|
839
851
|
ARCHFLAGS="$rvm_archflags" ; export ARCHFLAGS
|
840
852
|
fi
|
841
853
|
}
|
842
854
|
|
843
855
|
__rvm_monitor() {
|
844
|
-
if [[ -d "test/" ]] ; then
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
856
|
+
if [[ -d "test/" ]] ; then test_timestamp=$(timestamp "test/") ; fi
|
857
|
+
if [[ -d "spec/" ]] ; then spec_timestamp=$(timestamp "spec/") ; fi
|
858
|
+
while : ; do
|
859
|
+
changed_test_files=() ; changed_spec_files=()
|
860
|
+
|
861
|
+
if [[ -d "test/" ]] ; then
|
862
|
+
test_files=($(/bin/ls test/**/*_test.rb))
|
863
|
+
for file in "${test_files[@]}"; do
|
864
|
+
if [[ $(timestamp $file) -gt $timestamp ]] ; then
|
865
|
+
array_push $changed_test_files
|
866
|
+
fi
|
867
|
+
done
|
868
|
+
fi
|
869
|
+
|
870
|
+
if [[ -d "spec/" ]] ; then
|
871
|
+
spec_files=($(/bin/ls spec/**/*_spec.rb))
|
872
|
+
for file in "${spec_files[@]}"; do
|
873
|
+
if [[ $(timestamp $file) -gt $timestamp ]] ; then
|
874
|
+
array_push $changed_spec_files
|
875
|
+
fi
|
876
|
+
done
|
877
|
+
fi
|
878
|
+
if [[ $(array_length $changed_test_files) -gt 0 ]] ; then
|
879
|
+
testrb "${myarray[*]}"
|
880
|
+
fi
|
881
|
+
if [[ $(array_length $changed_spec_files) -gt 0 ]] ; then
|
882
|
+
spec "${myarray[*]}"
|
883
|
+
fi
|
884
|
+
done
|
849
885
|
}
|
850
886
|
|
851
887
|
#
|
@@ -853,9 +889,9 @@ __rvm_monitor() {
|
|
853
889
|
#
|
854
890
|
timestamp() {
|
855
891
|
if [[ "Darwin" = "$(uname)" ]] ; then
|
856
|
-
echo $(stat -c "%Y" $1)
|
857
|
-
else
|
858
892
|
echo $(stat -f "%m" $1)
|
893
|
+
else
|
894
|
+
echo $(stat -c "%Y" $1)
|
859
895
|
fi
|
860
896
|
}
|
861
897
|
|
@@ -870,3 +906,28 @@ contains() {
|
|
870
906
|
echo -1 ; return 1
|
871
907
|
}
|
872
908
|
|
909
|
+
array_length() {
|
910
|
+
array=$1 ; return "${#array[*]}"
|
911
|
+
}
|
912
|
+
|
913
|
+
array_push() {
|
914
|
+
array=$1 ; shift ; item=$2
|
915
|
+
# TODO: allow loop over more arguments.
|
916
|
+
eval "index=\$((\${#${array}[*]} + $__array_start))"
|
917
|
+
eval "${array}[${index}]=${item}"
|
918
|
+
}
|
919
|
+
|
920
|
+
match() {
|
921
|
+
if [[ ! -z "$BASH_VERSION" ]] && [[ ${BASH_VERSION:0:1} -gt 2 ]] && [[ ${BASH_VERSION:2:1} -ge 1 ]] ; then
|
922
|
+
[[ "$1" =~ $2 ]] ; return $?
|
923
|
+
# elif [[ ! -z "$ZSH_VERSION"]] && [[ ${ZSH_VERSION:0:1} -gt 3 ]] && [[ ${ZSH_VERSION:2:1} -ge 2 ]] && [[ ${ZSH_VERSION:4:1} -ge 4 ]] ; then
|
924
|
+
# return [[ "$1" =~ "$2" ]]
|
925
|
+
else
|
926
|
+
if [ ! -z "$(echo "$1" | awk "/${2}/")" ] ; then
|
927
|
+
return 0
|
928
|
+
else
|
929
|
+
return 1
|
930
|
+
fi
|
931
|
+
fi
|
932
|
+
}
|
933
|
+
|
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.
|
4
|
+
version: 0.0.63
|
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-
|
12
|
+
date: 2009-10-26 00:00:00 -04:00
|
13
13
|
default_executable: rvm-install
|
14
14
|
dependencies: []
|
15
15
|
|