@@ -14,23 +14,19 @@ if [ -z "$KRE_USER_HOME" ]; then
14
14
fi
15
15
16
16
KRE_USER_PACKAGES=" $KRE_USER_HOME /packages"
17
- KRE_MONO45=
18
- KRE_X86=
19
- KRE_X64=
20
17
if [ -z " $KRE_FEED " ]; then
21
18
KRE_FEED=" https://www.myget.org/F/aspnetvnext/api/v2"
22
19
fi
23
20
24
21
_kvm_find_latest () {
25
- local platform=" mono45"
26
- local architecture=" x86"
22
+ local platform=" Mono"
27
23
28
24
if ! _kvm_has " curl" ; then
29
25
echo ' KVM Needs curl to proceed.' >&2 ;
30
26
return 1
31
27
fi
32
28
33
- local url=" $KRE_FEED /GetUpdates()?packageIds=%27KRE-$platform - $architecture %27&versions=%270.0%27&includePrerelease=true&includeAllVersions=false"
29
+ local url=" $KRE_FEED /GetUpdates()?packageIds=%27KRE-$platform %27&versions=%270.0%27&includePrerelease=true&includeAllVersions=false"
34
30
xml=" $( curl $url 2> /dev/null) "
35
31
echo $xml | grep \< [a-zA-Z]:Version\> * >> /dev/null || return 1
36
32
version=" $( echo $xml | sed ' s/.*<[a-zA-Z]:Version>\([^<]*\).*/\1/' ) "
@@ -61,7 +57,7 @@ _kvm_package_name() {
61
57
62
58
_kvm_package_runtime () {
63
59
local kreFullName=" $1 "
64
- echo " $kreFullName " | sed " s/KRE-\([^-]*\).*/\1/"
60
+ echo " $kreFullName " | sed " s/KRE-\([^. -]*\).*/\1/"
65
61
}
66
62
67
63
_kvm_download () {
@@ -93,6 +89,7 @@ _kvm_download() {
93
89
[[ $httpResult != " 302" && $httpResult != " 200" ]] && echo " HTTP Error $httpResult fetching $kreFullName from $KRE_FEED " && return 1
94
90
95
91
_kvm_unpack $kreFile $kreFolder
92
+ return $?
96
93
}
97
94
98
95
_kvm_unpack () {
@@ -119,38 +116,20 @@ _kvm_unpack() {
119
116
-exec sh -c " head -c 11 {} | grep '/bin/bash' > /dev/null" \; -print | xargs chmod 775
120
117
}
121
118
122
- # This is not currently required. Placeholder for the case when we have multiple platforms (ie if we bundle mono)
123
- _kvm_requested_platform () {
124
- local default=$1
125
- [[ -z $KRE_MONO45 ]] && echo " mono45" && return
126
- echo $default
127
- }
128
-
129
- # This is not currently required. Placeholder for the case where we have multiple architectures (ie if we bundle mono)
130
- _kvm_requested_architecture () {
131
- local default=$1
132
-
133
- [[ -n $KRE_X86 && -n $KRE_X64 ]] && echo " This command cannot accept both -x86 and -x64" && return 1
134
- [[ -z $KRE_X86 ]] && echo " x86" && return
135
- [[ -z $KRE_X64 ]] && echo " x64" && return
136
- echo $default
137
- }
138
-
139
119
_kvm_requested_version_or_alias () {
140
120
local versionOrAlias=" $1 "
141
121
142
122
if [ -e " $KRE_USER_HOME /alias/$versionOrAlias .alias" ]; then
143
123
local kreFullName=$( cat " $KRE_USER_HOME /alias/$versionOrAlias .alias" )
144
124
local pkgName=$( echo $kreFullName | sed " s/\([^.]*\).*/\1/" )
145
125
local pkgVersion=$( echo $kreFullName | sed " s/[^.]*.\(.*\)/\1/" )
146
- local pkgPlatform=$( _kvm_requested_platform $( echo " $pkgName " | sed " s/KRE-\([^-]*\).*/\1/" ) )
147
- local pkgArchitecture=$( _kvm_requested_architecture $( echo " $pkgName " | sed " s/.*-.*-\([^-]*\).*/\1/" ) )
126
+ local pkgPlatform=$( echo " $pkgName " | sed " s/KRE-\([^.-]*\).*/\1/" )
148
127
else
149
128
local pkgVersion=$versionOrAlias
150
- local pkgPlatform=$( _kvm_requested_platform " mono45" )
151
- local pkgArchitecture=$( _kvm_requested_architecture " x86" )
129
+ local pkgPlatform=" Mono"
152
130
fi
153
- echo " KRE-$pkgPlatform -$pkgArchitecture .$pkgVersion "
131
+
132
+ echo " KRE-$pkgPlatform .$pkgVersion "
154
133
}
155
134
156
135
# This will be more relevant if we support global installs
@@ -169,7 +148,7 @@ kvm()
169
148
case $1 in
170
149
" help" )
171
150
echo " "
172
- echo " K Runtime Environment Version Manager - Build 10015 "
151
+ echo " K Runtime Environment Version Manager - Build 10017 "
173
152
echo " "
174
153
echo " USAGE: kvm <command> [options]"
175
154
echo " "
@@ -235,7 +214,7 @@ kvm()
235
214
done
236
215
if [[ " $versionOrAlias " == " latest" ]]; then
237
216
echo " Determining latest version"
238
- versionOrAlias=$( _kvm_find_latest mono45 x86 )
217
+ versionOrAlias=$( _kvm_find_latest)
239
218
[[ $? == 1 ]] && echo " Error: Could not find latest version from feed $KRE_FEED " && return 1
240
219
echo " Latest version is $versionOrAlias "
241
220
fi
@@ -251,14 +230,15 @@ kvm()
251
230
mkdir " $kreFolder " > /dev/null 2>&1
252
231
cp -a " $versionOrAlias " " $kreFile "
253
232
_kvm_unpack " $kreFile " " $kreFolder "
233
+ [[ $? == 1 ]] && return 1
254
234
fi
255
235
kvm use " $kreVersion " " $persistent "
256
236
[[ -n $alias ]] && kvm alias " $alias " " $kreVersion "
257
237
else
258
238
local kreFullName=" $( _kvm_requested_version_or_alias $versionOrAlias ) "
259
239
local kreFolder=" $KRE_USER_PACKAGES /$kreFullName "
260
240
_kvm_download " $kreFullName " " $kreFolder "
261
- [[ $? == 1 ]] && return
241
+ [[ $? == 1 ]] && return 1
262
242
kvm use " $versionOrAlias " " $persistent "
263
243
[[ -n $alias ]] && kvm alias " $alias " " $versionOrAlias "
264
244
fi
@@ -379,9 +359,9 @@ kvm()
379
359
let i+=1
380
360
done
381
361
382
- local formatString=" %-6s %-20s %-7s %-12s %- 20s %s\n"
383
- printf " $formatString " " Active" " Version" " Runtime" " Architecture " " Location" " Alias"
384
- printf " $formatString " " ------" " -------" " -------" " ------------ " " -------- " " -----"
362
+ local formatString=" %-6s %-20s %-7s %-20s %s\n"
363
+ printf " $formatString " " Active" " Version" " Runtime" " Location" " Alias"
364
+ printf " $formatString " " ------" " -------" " -------" " --------" " -----"
385
365
386
366
local formattedHome=` (echo $KRE_USER_PACKAGES | sed s=$HOME =~ =g)`
387
367
for f in $( find $KRE_USER_PACKAGES /* -name " $searchGlob " -type d -prune -exec basename {} \; ) ; do
@@ -393,14 +373,15 @@ kvm()
393
373
local alias=" "
394
374
local delim=" "
395
375
for i in " ${arr[@]} " ; do
396
- temp=" KRE-$pkgName -x86.$pkgVersion "
397
- if [[ ${i#*/ } == $temp ]]; then
376
+ temp=" KRE-$pkgName .$pkgVersion "
377
+ temp2=" KRE-$pkgName -x86.$pkgVersion "
378
+ if [[ ${i#*/ } == $temp || ${i#*/ } == $temp2 ]]; then
398
379
alias+=" $delim ${i%/* } "
399
380
delim=" , "
400
381
fi
401
382
done
402
383
403
- printf " $formatString " " $active " " $pkgVersion " " $pkgName " " x86 " " $formattedHome " " $alias "
384
+ printf " $formatString " " $active " " $pkgVersion " " $pkgName " " $formattedHome " " $alias "
404
385
[[ $# == 2 ]] && echo " " && return 0
405
386
done
406
387
0 commit comments