gemrage 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/Gemfile +2 -0
- data/Gemfile.lock +5 -0
- data/VERSION +1 -1
- data/gemrage.gemspec +148 -3
- data/lib/rubygems/commands/scan_command.rb +77 -4
- data/vendor/ruby/1.8/bin/rvm-install +19 -0
- data/vendor/ruby/1.8/cache/macaddr-1.0.0.gem +0 -0
- data/vendor/ruby/1.8/cache/rvm-1.0.14.gem +0 -0
- data/vendor/ruby/1.8/gems/macaddr-1.0.0/README +33 -0
- data/vendor/ruby/1.8/gems/macaddr-1.0.0/gemspec.rb +27 -0
- data/vendor/ruby/1.8/gems/macaddr-1.0.0/install.rb +210 -0
- data/vendor/ruby/1.8/gems/macaddr-1.0.0/lib/macaddr.rb +69 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/LICENCE +18 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/README +127 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/bin/rvm-install +5 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/binscripts/rvm +76 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/binscripts/rvm-auto-ruby +24 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/binscripts/rvm-prompt +204 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/binscripts/rvm-shell +35 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/binscripts/rvm-update-head +35 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/binscripts/rvm-update-latest +27 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/binscripts/rvmsudo +24 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/config/db +71 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/config/known +55 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/config/md5 +87 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/contrib/gemset_snapshot +25 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/contrib/install-system-wide +191 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/contrib/r +44 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/examples/rvmrc +47 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/gemsets/default.gems +1 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/gemsets/global.gems +1 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/alias +46 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/benchmark +17 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/cleanup +23 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/debug +8 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/disk-usage +15 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/docs +22 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/exec +33 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/fetch +5 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/gem +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/gemdir +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/gemset +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/implode +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/info +64 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/install +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/list +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/migrate +15 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/monitor +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/notes +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/package +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/rake +14 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/remove +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/repair +23 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/reset +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/ruby +84 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/rubygems +11 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/rvmrc +34 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/snapshot +15 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/specs +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/srcdir +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/tests +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/tools +22 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/uninstall +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/update +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/upgrade +18 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/use +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/help/wrapper +41 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/install +631 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/VERSION.yml +4 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/capistrano.rb +45 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/environment/alias.rb +69 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/environment/cleanup.rb +54 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/environment/configuration.rb +60 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/environment/env.rb +52 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/environment/gemset.rb +222 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/environment/info.rb +13 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/environment/list.rb +124 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/environment/rubies.rb +50 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/environment/sets.rb +123 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/environment/tools.rb +68 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/environment/utility.rb +173 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/environment/wrapper.rb +23 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/environment.rb +64 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/errors.rb +31 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/install_command_dumper.rb +51 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/shell/abstract_wrapper.rb +145 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/shell/calculate_rvm_path.sh +26 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/shell/result.rb +42 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/shell/shell_wrapper.sh +10 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/shell/single_shot_wrapper.rb +56 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/shell/utility.rb +37 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/shell.rb +25 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm/version.rb +19 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/lib/rvm.rb +156 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/man/man1/rvm.1 +385 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/man/man1/rvm.1.gz +0 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/rvm.gemspec +184 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/alias +225 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/aliases +4 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/array +32 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/base +49 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/cd +87 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/cleanup +58 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/cli +781 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/color +49 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/completion +151 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/db +87 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/default +64 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/disk-usage +60 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/docs +115 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/env +46 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/environment-convertor +74 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/fetch +229 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/gemsets +950 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/hash +37 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/help +46 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/hook +23 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/info +214 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/initialize +29 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/install +631 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/irbrc +9 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/irbrc.rb +63 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/list +315 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/log +38 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/maglev +193 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/manage +2094 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/match +6 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/md5 +22 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/migrate +175 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/monitor +105 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/notes +121 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/override_gem +14 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/package +301 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/patches +64 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/patchsets +87 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/repair +199 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/rubygems +157 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/rvm +120 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/rvm-install +631 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/selector +818 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/set +301 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/snapshot +262 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/tools +58 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/update +631 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/upgrade +144 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/utility +1557 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/version +17 -0
- data/vendor/ruby/1.8/gems/rvm-1.0.14/scripts/wrapper +210 -0
- data/vendor/ruby/1.8/specifications/macaddr-1.0.0.gemspec +27 -0
- data/vendor/ruby/1.8/specifications/rvm-1.0.14.gemspec +42 -0
- metadata +149 -4
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
if [[ "$rvm_trace_flag" -eq 2 ]] ; then set -x ; export rvm_trace_flag ; fi
|
|
4
|
+
|
|
5
|
+
args=($*)
|
|
6
|
+
file="${args[0]}"
|
|
7
|
+
md5="${args[1]}"
|
|
8
|
+
args="$(echo ${args[@]:2}) " # Strip trailing / leading / extra spacing.
|
|
9
|
+
|
|
10
|
+
if [[ "Linux" = "$(uname)" ]] ; then
|
|
11
|
+
command="md5sum"
|
|
12
|
+
elif [[ "Darwin" = "$(uname)" ]] ; then
|
|
13
|
+
command="/sbin/md5 -q"
|
|
14
|
+
fi
|
|
15
|
+
|
|
16
|
+
file_md5=$($command "$file" | awk '{print $1}')
|
|
17
|
+
|
|
18
|
+
if [[ "$file_md5" = "$md5" ]] ; then
|
|
19
|
+
exit 0
|
|
20
|
+
else
|
|
21
|
+
exit 1
|
|
22
|
+
fi
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
unset GREP_OPTIONS
|
|
4
|
+
|
|
5
|
+
source "$rvm_path/scripts/base"
|
|
6
|
+
|
|
7
|
+
usage()
|
|
8
|
+
{
|
|
9
|
+
printf "
|
|
10
|
+
|
|
11
|
+
Usage:
|
|
12
|
+
|
|
13
|
+
rvm migrate {source-ruby} {destination-ruby}
|
|
14
|
+
|
|
15
|
+
Description:
|
|
16
|
+
|
|
17
|
+
Moves all gemsets from {source-ruby} ruby to {destination-ruby}.
|
|
18
|
+
|
|
19
|
+
" >&2
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
confirm()
|
|
23
|
+
{
|
|
24
|
+
local confirmation_response
|
|
25
|
+
|
|
26
|
+
printf "$1 (Y/n): "
|
|
27
|
+
|
|
28
|
+
read -r confirmation_response
|
|
29
|
+
|
|
30
|
+
[[ -z "$confirmation_response" ]] || echo "$confirmation_response" | \grep -qi '^y'
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
die_with_error()
|
|
34
|
+
{
|
|
35
|
+
"$rvm_path/scripts/log" "fail" "$1"
|
|
36
|
+
|
|
37
|
+
exit "${2:-1}"
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
expand_ruby_name()
|
|
41
|
+
{
|
|
42
|
+
"$rvm_path/scripts/tools" strings "$1" | awk -F"${rvm_gemset_separator:-"@"}" '{print $1}'
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
migrate_rubies()
|
|
46
|
+
{
|
|
47
|
+
local origin_gemset destination_gemset gemset_name migrate_ruby_name migrate_alias_name migrate_new_alias_name binaries origin_wrappers_path full_bin_path expanded_symlink linked_binary_name new_wrapper_destination
|
|
48
|
+
|
|
49
|
+
expanded_source="$(expand_ruby_name "$source_ruby")"
|
|
50
|
+
expanded_destination="$(expand_ruby_name "$destination_ruby")"
|
|
51
|
+
|
|
52
|
+
if [[ -z "$expanded_source" ]]; then
|
|
53
|
+
die_with_error "Could not expand source ruby '$source_ruby'"
|
|
54
|
+
|
|
55
|
+
elif [[ -z "$expanded_destination" ]]; then
|
|
56
|
+
die_with_error "Could not expand destination ruby '$destination_ruby'"
|
|
57
|
+
|
|
58
|
+
elif [[ "$expanded_destination" = "$expanded_source" ]]; then
|
|
59
|
+
die_with_error "Source and Destination Ruby are the same ($expanded_destination)"
|
|
60
|
+
|
|
61
|
+
elif [[ ! -d "$rvm_path/rubies/$expanded_source" ]]; then
|
|
62
|
+
die_with_error "Ruby '$expanded_source' is not installed - please install it first."
|
|
63
|
+
|
|
64
|
+
elif [[ ! -d "$rvm_path/rubies/$expanded_destination" ]]; then
|
|
65
|
+
die_with_error "Ruby '$expanded_destination' is not installed - please install it first."
|
|
66
|
+
fi
|
|
67
|
+
|
|
68
|
+
echo "Are you sure you wish to MOVE gems from $expanded_source to $expanded_destination?"
|
|
69
|
+
|
|
70
|
+
confirm "This will overwrite existing gems in $expanded_destination and remove them from $expanded_source" || return 1
|
|
71
|
+
|
|
72
|
+
echo "Moving gemsets..."
|
|
73
|
+
|
|
74
|
+
while read -r origin_gemset; do
|
|
75
|
+
[[ "$origin_gemset" = "$expanded_source" || "$origin_gemset" = "${expanded_source}${rvm_gemset_separator:-"@"}"* ]] || continue
|
|
76
|
+
|
|
77
|
+
gemset_name="${origin_gemset/*${rvm_gemset_separator:-"@"}/}"
|
|
78
|
+
|
|
79
|
+
destination_gemset="$expanded_destination"
|
|
80
|
+
|
|
81
|
+
if [[ -n "$gemset_name" ]]; then
|
|
82
|
+
destination_gemset="${destination_gemset}${rvm_gemset_separator:-"@"}${gemset_name}"
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
echo "Moving $origin_gemset to $destination_gemset"
|
|
86
|
+
|
|
87
|
+
rm -rf "${rvm_gems_path:-"$rvm_path/gems"}/$destination_gemset"
|
|
88
|
+
result="$?"
|
|
89
|
+
|
|
90
|
+
[[ $result -gt 0 ]] && die_with_error "Unable to remove gem directory '${rvm_gems_path:-"$rvm_path/gems"}/$destination_gemset'" "$result"
|
|
91
|
+
|
|
92
|
+
mv "${rvm_gems_path:-"$rvm_path/gems"}/$origin_gemset" "${rvm_gems_path:-"$rvm_path/gems"}/$destination_gemset"
|
|
93
|
+
result="$?"
|
|
94
|
+
|
|
95
|
+
[[ $result -gt 0 ]] && die_with_error "Unable to move '${rvm_gems_path:-"$rvm_path/gems"}/$origin_gemset' to '${rvm_gems_path:-"$rvm_path/gems"}/$destination_gemset'" "$result"
|
|
96
|
+
|
|
97
|
+
echo "Making gemset $destination_gemset pristine."
|
|
98
|
+
|
|
99
|
+
__rvm_run_with_env "gemset.pristine" "$destination_gemset" "rvm gemset pristine"
|
|
100
|
+
|
|
101
|
+
done < <("$rvm_path/scripts/list" gemsets strings | \grep "^$expanded_source")
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
if confirm 'Do you wish to move over aliases?' ; then
|
|
105
|
+
|
|
106
|
+
while read -r alias_pair; do
|
|
107
|
+
|
|
108
|
+
migrate_ruby_name="${alias_pair/*=/}"
|
|
109
|
+
|
|
110
|
+
migrate_alias_name="${alias_pair/=*/}"
|
|
111
|
+
|
|
112
|
+
if [[ "$migrate_ruby_name" = "$expanded_source" || "$migrate_ruby_name" = "${expanded_source}${rvm_gemset_separator:-"@"}"* ]]; then
|
|
113
|
+
|
|
114
|
+
migrate_new_alias_name="${migrate_ruby_name/$expanded_source/$expanded_destination}"
|
|
115
|
+
|
|
116
|
+
echo "Updating alias $migrate_alias_name to point to $migrate_new_alias_name"
|
|
117
|
+
|
|
118
|
+
"$rvm_path/scripts/alias" delete "$migrate_alias_name" >/dev/null 2>&1
|
|
119
|
+
|
|
120
|
+
"$rvm_path/scripts/alias" create "$migrate_alias_name" "$migrate_new_alias_name" >/dev/null 2>&1
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
done < "$rvm_path/config/alias"
|
|
124
|
+
|
|
125
|
+
fi
|
|
126
|
+
|
|
127
|
+
if confirm "Do you wish to move over wrappers?" ; then
|
|
128
|
+
|
|
129
|
+
origin_wrappers_path="$rvm_path/wrappers/$expanded_source"
|
|
130
|
+
|
|
131
|
+
binaries=($(cd "${rvm_bin_path:-"$rvm_path/bin"}" ; find . -maxdepth 1 -mindepth 1 -type f))
|
|
132
|
+
|
|
133
|
+
for binary_name in "${binaries[@]//.\/}" ; do
|
|
134
|
+
|
|
135
|
+
full_bin_path="${rvm_bin_path:-"$rvm_path/bin"}/$binary_name"
|
|
136
|
+
|
|
137
|
+
[[ ! -L "$full_bin_path" ]] && continue
|
|
138
|
+
|
|
139
|
+
expanded_symlink="$(readlink "$full_bin_path")"
|
|
140
|
+
|
|
141
|
+
[[ "$expanded_symlink" != "$origin_wrappers_path/"* ]] && continue
|
|
142
|
+
|
|
143
|
+
linked_binary_name="$(basename "$expanded_symlink")"
|
|
144
|
+
|
|
145
|
+
[[ "$binary_name" = "$linked_binary_name-$expanded_source" || "$binary_name" = "$expanded_source" ]] && continue
|
|
146
|
+
|
|
147
|
+
new_wrapper_destination="${expanded_symlink/$expanded_source/$expanded_destination}"
|
|
148
|
+
|
|
149
|
+
ln -sf "$new_wrapper_destination" "$full_bin_path"
|
|
150
|
+
done
|
|
151
|
+
fi
|
|
152
|
+
|
|
153
|
+
if confirm "Do you also wish to completely remove $expanded_source (inc. archive)?" ; then
|
|
154
|
+
|
|
155
|
+
__rvm_run_with_env "rvm.remove" "$expanded_source" "rvm remove $expanded_source --archive --gems"
|
|
156
|
+
|
|
157
|
+
fi
|
|
158
|
+
|
|
159
|
+
echo "Successfully migrated $expanded_source to $expanded_destination"
|
|
160
|
+
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
args=($*)
|
|
164
|
+
source_ruby="${args[0]}"
|
|
165
|
+
destination_ruby="${args[1]}"
|
|
166
|
+
args="$(echo ${args[@]:2}) " # Strip trailing / leading / extra spacing.
|
|
167
|
+
|
|
168
|
+
if [[ -z "$source_ruby" || -z "$destination_ruby" ]]; then
|
|
169
|
+
usage ; exit 1
|
|
170
|
+
fi
|
|
171
|
+
|
|
172
|
+
source_ruby="$1"; shift
|
|
173
|
+
destination_ruby="$1"; shift
|
|
174
|
+
|
|
175
|
+
migrate_rubies
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
original_ruby_strings=$rvm_ruby_strings
|
|
4
|
+
original_ruby_string=$rvm_ruby_string
|
|
5
|
+
|
|
6
|
+
source "$rvm_path/scripts/base"
|
|
7
|
+
|
|
8
|
+
rvm_monitor_sleep="${rvm_monitor_sleep:-2}"
|
|
9
|
+
|
|
10
|
+
timestamp()
|
|
11
|
+
{
|
|
12
|
+
if [[ "Darwin" = "$(uname)" ]] ; then
|
|
13
|
+
echo $(stat -f "%m" $1)
|
|
14
|
+
else
|
|
15
|
+
echo $(stat -c "%Y" $1)
|
|
16
|
+
fi
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
push_if_timestamp_changed()
|
|
20
|
+
{
|
|
21
|
+
local file=$1
|
|
22
|
+
|
|
23
|
+
local file_timestamp=$(timestamp "$file")
|
|
24
|
+
|
|
25
|
+
eval "time=\$${framework}_timestamp"
|
|
26
|
+
|
|
27
|
+
if [[ "$file_timestamp" -gt $time ]] ; then
|
|
28
|
+
|
|
29
|
+
array_push "changed_${framework}_files" $file
|
|
30
|
+
|
|
31
|
+
fi
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
update_timestamp()
|
|
35
|
+
{
|
|
36
|
+
if [[ -d "${1}/" ]] ; then
|
|
37
|
+
|
|
38
|
+
\touch "$rvm_path/${$}_${1}_timestamp"
|
|
39
|
+
|
|
40
|
+
eval "${1}_timestamp=\$(timestamp \"$rvm_path/${$}_${1}_timestamp\")"
|
|
41
|
+
|
|
42
|
+
fi
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
update_timestamp "test"
|
|
46
|
+
update_timestamp "spec"
|
|
47
|
+
|
|
48
|
+
while : ; do
|
|
49
|
+
changed_test_files=() ; changed_spec_files=() ; changed_code_files=()
|
|
50
|
+
|
|
51
|
+
for file in lib/**/*.rb lib/*.rb app/**/*.rb app/*.rb ; do
|
|
52
|
+
if [[ -f "$file" ]] ; then push_if_timestamp_changed $file "code" ; fi
|
|
53
|
+
done
|
|
54
|
+
|
|
55
|
+
for framework in test spec ; do
|
|
56
|
+
|
|
57
|
+
if [[ -d "$framework/" ]] ; then
|
|
58
|
+
|
|
59
|
+
for file in ${framework}/**/*_${framework}.rb ${framework}/*_${framework}.rb ; do
|
|
60
|
+
if [[ -f "$file" ]] ; then
|
|
61
|
+
push_if_timestamp_changed $file $framework
|
|
62
|
+
fi
|
|
63
|
+
done
|
|
64
|
+
|
|
65
|
+
if [[ "$(array_length "changed_${framework}_files")" -gt 0 ]] ; then
|
|
66
|
+
rvm_ruby_strings=$original_ruby_strings
|
|
67
|
+
rvm_ruby_string=$original_ruby_string
|
|
68
|
+
if [[ "spec" = "$framework" ]] ; then
|
|
69
|
+
rvm_action="spec"
|
|
70
|
+
rvm_ruby_args="spec/spec_helper.rb ${changed_spec_files[*]}"
|
|
71
|
+
"$rvm_path/scripts/set" $rvm_action $rvm_ruby_args
|
|
72
|
+
elif [[ "test" = "$framework" ]] ; then
|
|
73
|
+
rvm_action="ruby"
|
|
74
|
+
rvm_ruby_args=" -r$(echo "${changed_test_files[*]}" | sed 's/ / -r/g') test/test_helper.rb"
|
|
75
|
+
"$rvm_path/scripts/set" $rvm_action $rvm_ruby_args
|
|
76
|
+
fi
|
|
77
|
+
update=1
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
if [[ "$(array_length "changed_code_files")" -gt 0 ]] ; then
|
|
81
|
+
rvm_ruby_strings=$original_ruby_strings
|
|
82
|
+
rvm_ruby_string=$original_ruby_string
|
|
83
|
+
if [[ "spec" = "$framework" ]] ; then
|
|
84
|
+
rvm_action="spec"
|
|
85
|
+
rvm_ruby_args="spec/"
|
|
86
|
+
"$rvm_path/scripts/set" $rvm_action $rvm_ruby_args
|
|
87
|
+
elif [[ "test" = "$framework" ]] ; then
|
|
88
|
+
rvm_action="rake"
|
|
89
|
+
rvm_ruby_args="test"
|
|
90
|
+
"$rvm_path/scripts/set" "$rvm_action" $rvm_ruby_args
|
|
91
|
+
fi
|
|
92
|
+
update=1
|
|
93
|
+
fi
|
|
94
|
+
fi
|
|
95
|
+
|
|
96
|
+
if [[ "$update" -eq 1 ]] ; then
|
|
97
|
+
update_timestamp $framework
|
|
98
|
+
fi
|
|
99
|
+
done
|
|
100
|
+
|
|
101
|
+
unset update changed_test_files changed_spec_files
|
|
102
|
+
|
|
103
|
+
sleep $rvm_monitor_sleep
|
|
104
|
+
done
|
|
105
|
+
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
system="$(uname)"
|
|
4
|
+
|
|
5
|
+
if [[ "Linux" = "$system" ]] ; then
|
|
6
|
+
for file in /etc/*-release ; do
|
|
7
|
+
release="( $(cat $file) )" ; break
|
|
8
|
+
done
|
|
9
|
+
printf "\n\nNotes for ${system} $release\n"
|
|
10
|
+
|
|
11
|
+
rvm_aptitude_binary="$(command -v aptitude || command -v apt-get)"
|
|
12
|
+
rvm_emerge_binary="$(command -v emerge)"
|
|
13
|
+
rvm_pacman_binary="$(command -v pacman)"
|
|
14
|
+
rvm_yum_binary="$(command -v yum)"
|
|
15
|
+
|
|
16
|
+
printf "
|
|
17
|
+
# NOTE: MRI stands for Matz's Ruby Interpreter (1.8.X, 1.9.X), ree stands for Ruby Enterprise Edition and rbx stands for Rubinius.
|
|
18
|
+
# curl is required.
|
|
19
|
+
# git is required.
|
|
20
|
+
# patch is required (for ree, some ruby head's).
|
|
21
|
+
# If you wish to install rbx and/or any MRI head (eg. 1.9.2-head) then you must install and use rvm 1.8.7 first.
|
|
22
|
+
# If you wish to have the 'pretty colors' again, set 'export rvm_pretty_print_flag=1' in ~/.rvmrc.
|
|
23
|
+
"
|
|
24
|
+
|
|
25
|
+
if [[ ! -z "$rvm_aptitude_binary" ]] ; then
|
|
26
|
+
printf "
|
|
27
|
+
dependencies:
|
|
28
|
+
# For RVM
|
|
29
|
+
rvm: bash curl git-core
|
|
30
|
+
|
|
31
|
+
# For JRuby (if you wish to use it) you will need:
|
|
32
|
+
jruby: aptitude install curl sun-java6-bin sun-java6-jre sun-java6-jdk
|
|
33
|
+
|
|
34
|
+
# For MRI & ree (if you wish to use it) you will need (depending on what you are installing):
|
|
35
|
+
ruby: aptitude install build-essential bison openssl libreadline5 libreadline-dev curl git-core zlib1g zlib1g-dev libssl-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev
|
|
36
|
+
ruby-head: git subversion autoconf
|
|
37
|
+
|
|
38
|
+
# For IronRuby (if you wish to use it) you will need:
|
|
39
|
+
ironruby: aptitude install curl mono-2.0-devel
|
|
40
|
+
"
|
|
41
|
+
|
|
42
|
+
elif [[ ! -z "$rvm_emerge_binary" ]] ; then
|
|
43
|
+
printf "
|
|
44
|
+
dependencies:
|
|
45
|
+
# For RVM
|
|
46
|
+
rvm: bash curl git
|
|
47
|
+
|
|
48
|
+
# For MRI based rubies you will need:
|
|
49
|
+
ruby: # TODO: tell Wayne what goes here :)
|
|
50
|
+
ruby-head: # TODO: tell Wayne what goes here :)
|
|
51
|
+
|
|
52
|
+
# For JRuby (if you wish to use it) you will need:
|
|
53
|
+
jruby: emerge dev-java/sun-jdk dev-java/sun-jre-bin
|
|
54
|
+
|
|
55
|
+
# For IronRuby (if you wish to use it) you will need:
|
|
56
|
+
ironruby: emerge dev-lang/mono
|
|
57
|
+
"
|
|
58
|
+
|
|
59
|
+
elif [[ ! -z "$rvm_pacman_binary" ]] ; then
|
|
60
|
+
printf "
|
|
61
|
+
dependencies:
|
|
62
|
+
# For RVM itself
|
|
63
|
+
rvm: bash curl git
|
|
64
|
+
|
|
65
|
+
# For MRI based rubies you will need:
|
|
66
|
+
ruby: pacman -Sy --noconfirm patch curl bison zlib readline libxml2 git make
|
|
67
|
+
ruby-head: pacman -Sy --noconfirm subversion autoconf diffutils patch bison make
|
|
68
|
+
|
|
69
|
+
# For JRuby (if you wish to use it) you will need:
|
|
70
|
+
jruby: pacman -Sy --noconfirm jdk jre curl
|
|
71
|
+
|
|
72
|
+
# For IronRuby (if you wish to use it) you will need:
|
|
73
|
+
ironruby: pacman -Sy --noconfirm mono
|
|
74
|
+
"
|
|
75
|
+
|
|
76
|
+
elif [[ ! -z "$rvm_yum_binary" ]] ; then
|
|
77
|
+
printf "
|
|
78
|
+
dependencies:
|
|
79
|
+
# For RVM
|
|
80
|
+
rvm: yum install -y bash curl git
|
|
81
|
+
|
|
82
|
+
# For MRI/ree (if you wish to use it) you will need:
|
|
83
|
+
ruby: yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel ; \\
|
|
84
|
+
yum install -y iconv-devel # NOTE: For centos 5.4 final iconv-devel might not be available :(
|
|
85
|
+
|
|
86
|
+
# For JRuby (if you wish to use it) you will need:
|
|
87
|
+
jruby: yum install -y java
|
|
88
|
+
"
|
|
89
|
+
|
|
90
|
+
else
|
|
91
|
+
printf "
|
|
92
|
+
dependencies:
|
|
93
|
+
# RVM
|
|
94
|
+
rvm: bash curl git
|
|
95
|
+
|
|
96
|
+
# FOR MRI Ruby, recommended system packages are
|
|
97
|
+
ruby: # gcc-c++ patch readline zlib libyaml iconv libxml2 libxslt
|
|
98
|
+
|
|
99
|
+
# For JRuby (if you wish to use it) you will need:
|
|
100
|
+
jruby: #The SUN java runtime environment and development kit.
|
|
101
|
+
|
|
102
|
+
# For IronRuby (if you wish to use it) you will need:
|
|
103
|
+
ironruby: #The Mono Runtime and Development Platform (version 2.6 or greater is recommended).
|
|
104
|
+
"
|
|
105
|
+
fi
|
|
106
|
+
elif [[ "Darwin" = "$system" ]] ; then
|
|
107
|
+
|
|
108
|
+
release="( $(sw_vers -productName) )"
|
|
109
|
+
|
|
110
|
+
printf "
|
|
111
|
+
Notes for ${system} $release
|
|
112
|
+
# For Snow Leopard be sure to have XCode Tools Version 3.2.1 (1613) or later (there were bugs with the dvd release version).
|
|
113
|
+
# You should download the latest XCode tools from developer.apple.com. This is necessary since the dvd install for Snow Leopard has bugs.
|
|
114
|
+
# If you intend on installing MacRuby you must install LLVM first.
|
|
115
|
+
# If you intend on installing JRuby you must install the JDK.
|
|
116
|
+
# If you intend on installing IronRuby you must install Mono (version 2.6 or greater is recommended).
|
|
117
|
+
"
|
|
118
|
+
fi
|
|
119
|
+
|
|
120
|
+
echo
|
|
121
|
+
|