Merge branch 'dougbu/update.dnvm' into dev
This commit is contained in:
commit
580fe5b651
119
build/dnvm.ps1
119
build/dnvm.ps1
|
|
@ -67,7 +67,7 @@ function _WriteOut {
|
|||
|
||||
### Constants
|
||||
$ProductVersion="1.0.0"
|
||||
$BuildVersion="beta8-15518"
|
||||
$BuildVersion="rc1-15523"
|
||||
$Authors="Microsoft Open Technologies, Inc."
|
||||
|
||||
# If the Version hasn't been replaced...
|
||||
|
|
@ -438,13 +438,13 @@ function Get-RuntimeAliasOrRuntimeInfo(
|
|||
filter List-Parts {
|
||||
param($aliases, $items)
|
||||
|
||||
$location = ""
|
||||
$location = ""
|
||||
|
||||
$binDir = Join-Path $_.FullName "bin"
|
||||
if ((Test-Path $binDir)) {
|
||||
$binDir = Join-Path $_.FullName "bin"
|
||||
if ((Test-Path $binDir)) {
|
||||
$location = $_.Parent.FullName
|
||||
}
|
||||
$active = IsOnPath $binDir
|
||||
$active = IsOnPath $binDir
|
||||
|
||||
$fullAlias=""
|
||||
$delim=""
|
||||
|
|
@ -1012,10 +1012,10 @@ filter ColorActive {
|
|||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Displays the DNVM version.
|
||||
Displays the DNVM version.
|
||||
#>
|
||||
function dnvm-version {
|
||||
_WriteOut "$FullVersion"
|
||||
_WriteOut "$FullVersion"
|
||||
}
|
||||
|
||||
<#
|
||||
|
|
@ -1044,9 +1044,9 @@ function dnvm-list {
|
|||
}
|
||||
}
|
||||
|
||||
$aliases | Where-Object {$_.Orphan} | ForEach-Object {
|
||||
$items += $_ | Select-Object @{label='Name';expression={$_.Name}}, @{label='FullName';expression={Join-Path $RuntimesDir $_.Name}} | List-Parts $aliases
|
||||
}
|
||||
$aliases | Where-Object {$_.Orphan} | ForEach-Object {
|
||||
$items += $_ | Select-Object @{label='Name';expression={$_.Name}}, @{label='FullName';expression={Join-Path $RuntimesDir $_.Name}} | List-Parts $aliases
|
||||
}
|
||||
|
||||
if($PassThru) {
|
||||
$items
|
||||
|
|
@ -1106,12 +1106,12 @@ function dnvm-alias {
|
|||
[Parameter(Position=1)]
|
||||
[string]$Version,
|
||||
|
||||
[Alias("arch")]
|
||||
[Alias("arch", "a")]
|
||||
[ValidateSet("", "x86", "x64", "arm")]
|
||||
[string]$Architecture = "",
|
||||
|
||||
[Alias("r")]
|
||||
[ValidateSet("", "clr","coreclr", "mono")]
|
||||
[ValidateSet("", "clr", "coreclr", "mono")]
|
||||
[Parameter(ParameterSetName="Write")]
|
||||
[string]$Runtime = "",
|
||||
|
||||
|
|
@ -1174,17 +1174,16 @@ function dnvm-unalias {
|
|||
#>
|
||||
function dnvm-upgrade {
|
||||
param(
|
||||
[Alias("a")]
|
||||
[Parameter(Mandatory=$false, Position=0)]
|
||||
[string]$Alias = "default",
|
||||
|
||||
[Alias("arch")]
|
||||
[Alias("arch", "a")]
|
||||
[ValidateSet("", "x86", "x64", "arm")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[string]$Architecture = "",
|
||||
|
||||
[Alias("r")]
|
||||
[ValidateSet("", "clr", "coreclr")]
|
||||
[ValidateSet("", "clr", "coreclr", "mono")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[string]$Runtime = "",
|
||||
|
||||
|
|
@ -1205,9 +1204,11 @@ function dnvm-upgrade {
|
|||
[Parameter(Mandatory=$false)]
|
||||
[switch]$Ngen,
|
||||
|
||||
[Alias("u")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[switch]$Unstable,
|
||||
|
||||
[Alias("g")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[switch]$Global)
|
||||
|
||||
|
|
@ -1259,13 +1260,13 @@ function dnvm-install {
|
|||
[Parameter(Mandatory=$false, Position=0)]
|
||||
[string]$VersionNuPkgOrAlias,
|
||||
|
||||
[Alias("arch")]
|
||||
[Alias("arch", "a")]
|
||||
[ValidateSet("", "x86", "x64", "arm")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[string]$Architecture = "",
|
||||
|
||||
[Alias("r")]
|
||||
[ValidateSet("", "clr","coreclr","mono")]
|
||||
[ValidateSet("", "clr", "coreclr", "mono")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[string]$Runtime = "",
|
||||
|
||||
|
|
@ -1273,7 +1274,6 @@ function dnvm-install {
|
|||
[Parameter(Mandatory=$false)]
|
||||
[string]$OS = "",
|
||||
|
||||
[Alias("a")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[string]$Alias,
|
||||
|
||||
|
|
@ -1290,12 +1290,15 @@ function dnvm-install {
|
|||
[Parameter(Mandatory=$false)]
|
||||
[switch]$Ngen,
|
||||
|
||||
[Alias("p")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[switch]$Persistent,
|
||||
|
||||
[Alias("u")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[switch]$Unstable,
|
||||
|
||||
[Alias("g")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[switch]$Global)
|
||||
|
||||
|
|
@ -1352,7 +1355,7 @@ function dnvm-install {
|
|||
if([String]::IsNullOrEmpty($Version)) {
|
||||
$Version = Get-PackageVersion $BaseName
|
||||
}
|
||||
|
||||
|
||||
if([String]::IsNullOrEmpty($OS)) {
|
||||
$OS = Get-PackageOS $BaseName
|
||||
}
|
||||
|
|
@ -1525,6 +1528,70 @@ function dnvm-install {
|
|||
Write-Progress -Status "Done" -Activity "Install complete" -Id 1 -Complete
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Uninstalls a version of the runtime
|
||||
.PARAMETER VersionOrAlias
|
||||
The version to uninstall from the current channel or an alias value to uninstall an alternate
|
||||
runtime or architecture flavor of the specified alias.
|
||||
.PARAMETER Architecture
|
||||
The processor architecture of the runtime to uninstall (default: x86)
|
||||
.PARAMETER Runtime
|
||||
The runtime flavor to uninstall (default: clr)
|
||||
.PARAMETER OS
|
||||
The operating system that the runtime targets (default: win)
|
||||
#>
|
||||
function dnvm-uninstall {
|
||||
param(
|
||||
[Parameter(Mandatory=$true, Position=0)]
|
||||
[string]$VersionOrAlias,
|
||||
|
||||
[Alias("arch", "a")]
|
||||
[ValidateSet("", "x86", "x64", "arm")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[string]$Architecture = "",
|
||||
|
||||
[Alias("r")]
|
||||
[ValidateSet("", "clr", "coreclr", "mono")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[string]$Runtime = "",
|
||||
|
||||
[ValidateSet("", "win", "osx", "darwin", "linux")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[string]$OS = "")
|
||||
|
||||
$aliasPath = Join-Path $AliasesDir "$VersionOrAlias$AliasExtension"
|
||||
|
||||
if(Test-Path $aliasPath) {
|
||||
$BaseName = Get-Content $aliasPath
|
||||
} else {
|
||||
$Version = $VersionOrAlias
|
||||
$runtimeInfo = GetRuntimeInfo $Architecture $Runtime $OS $Version
|
||||
$BaseName = $runtimeInfo.RuntimeName
|
||||
}
|
||||
|
||||
$runtimeFolder=""
|
||||
if(Test-Path (Join-Path $RuntimesDir $BaseName)) {
|
||||
$runtimeFolder = Join-Path $RuntimesDir $BaseName
|
||||
}
|
||||
if(Test-Path (Join-Path $GlobalRuntimesDir $BaseName)) {
|
||||
$runtimeFolder = Join-Path $GlobalRuntimesDir $BaseName
|
||||
}
|
||||
|
||||
if($runtimeFolder -ne "") {
|
||||
Remove-Item -literalPath $runtimeFolder -Force -Recurse
|
||||
_WriteOut "Removed '$($runtimeFolder)'"
|
||||
} else {
|
||||
_WriteOut "'$($BaseName)' is not installed"
|
||||
}
|
||||
|
||||
$aliases = Get-RuntimeAlias
|
||||
|
||||
$result = @($aliases | Where-Object { $_.Name.EndsWith($BaseName) })
|
||||
foreach($alias in $result) {
|
||||
dnvm-alias -Delete -Name $alias.Alias
|
||||
}
|
||||
}
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
|
|
@ -1545,7 +1612,7 @@ function dnvm-use {
|
|||
[Parameter(Mandatory=$true, Position=0)]
|
||||
[string]$VersionOrAlias,
|
||||
|
||||
[Alias("arch")]
|
||||
[Alias("arch", "a")]
|
||||
[ValidateSet("", "x86", "x64", "arm")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[string]$Architecture = "",
|
||||
|
|
@ -1599,6 +1666,10 @@ function dnvm-use {
|
|||
Locates the dnx.exe for the specified version or alias and executes it, providing the remaining arguments to dnx.exe
|
||||
.PARAMETER VersionOrAlias
|
||||
The version of alias of the runtime to execute
|
||||
.PARAMETER Architecture
|
||||
The processor architecture of the runtime to use (default: x86, or whatever the alias specifies in the case of running an alias)
|
||||
.PARAMETER Runtime
|
||||
The runtime flavor of the runtime to use (default: clr, or whatever the alias specifies in the case of running an alias)
|
||||
.PARAMETER DnxArguments
|
||||
The arguments to pass to dnx.exe
|
||||
#>
|
||||
|
|
@ -1607,7 +1678,7 @@ function dnvm-run {
|
|||
[Parameter(Mandatory=$true, Position=0)]
|
||||
[string]$VersionOrAlias,
|
||||
|
||||
[Alias("arch")]
|
||||
[Alias("arch", "a")]
|
||||
[ValidateSet("", "x86", "x64", "arm")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[string]$Architecture = "",
|
||||
|
|
@ -1640,6 +1711,10 @@ function dnvm-run {
|
|||
Executes the specified command in a sub-shell where the PATH has been augmented to include the specified DNX
|
||||
.PARAMETER VersionOrAlias
|
||||
The version of alias of the runtime to make active in the sub-shell
|
||||
.PARAMETER Architecture
|
||||
The processor architecture of the runtime to use (default: x86, or whatever the alias specifies in the case of exec-ing an alias)
|
||||
.PARAMETER Runtime
|
||||
The runtime flavor of the runtime to use (default: clr, or whatever the alias specifies in the case of exec-ing an alias)
|
||||
.PARAMETER Command
|
||||
The command to execute in the sub-shell
|
||||
#>
|
||||
|
|
@ -1650,7 +1725,7 @@ function dnvm-exec {
|
|||
[Parameter(Mandatory=$false, Position=1)]
|
||||
[string]$Command,
|
||||
|
||||
[Alias("arch")]
|
||||
[Alias("arch", "a")]
|
||||
[ValidateSet("", "x86", "x64", "arm")]
|
||||
[Parameter(Mandatory=$false)]
|
||||
[string]$Architecture = "",
|
||||
|
|
|
|||
158
build/dnvm.sh
158
build/dnvm.sh
|
|
@ -2,7 +2,7 @@
|
|||
# Source this file from your .bash-profile or script to use
|
||||
|
||||
# "Constants"
|
||||
_DNVM_BUILDNUMBER="beta8-15518"
|
||||
_DNVM_BUILDNUMBER="rc1-15523"
|
||||
_DNVM_AUTHORS="Microsoft Open Technologies, Inc."
|
||||
_DNVM_RUNTIME_PACKAGE_NAME="dnx"
|
||||
_DNVM_RUNTIME_FRIENDLY_NAME=".NET Execution Environment"
|
||||
|
|
@ -220,10 +220,11 @@ __dnvm_update_self() {
|
|||
|
||||
__dnvm_promptSudo() {
|
||||
local acceptSudo="$1"
|
||||
local sudoMsg="$2"
|
||||
|
||||
local answer=
|
||||
if [ "$acceptSudo" == "0" ]; then
|
||||
echo "In order to install dnx globally, dnvm will have to temporarily run as root."
|
||||
echo $2
|
||||
read -p "You may be prompted for your password via 'sudo' during this process. Is this Ok? (y/N) " answer
|
||||
else
|
||||
answer="y"
|
||||
|
|
@ -264,7 +265,7 @@ __dnvm_download() {
|
|||
local useSudo=
|
||||
mkdir -p "$runtimeFolder" > /dev/null 2>&1
|
||||
if [ ! -d $runtimeFolder ]; then
|
||||
if ! __dnvm_promptSudo $acceptSudo ; then
|
||||
if ! __dnvm_promptSudo $acceptSudo "In order to install dnx globally, dnvm will have to temporarily run as root." ; then
|
||||
useSudo=sudo
|
||||
sudo mkdir -p "$runtimeFolder" > /dev/null 2>&1 || return 1
|
||||
else
|
||||
|
|
@ -418,33 +419,41 @@ __dnvm_help() {
|
|||
echo " install latest $_DNVM_RUNTIME_SHORT_NAME from feed"
|
||||
echo " adds $_DNVM_RUNTIME_SHORT_NAME bin to path of current command line"
|
||||
echo " set installed version as default"
|
||||
echo " -f|forces force upgrade. Overwrite existing version of $_DNVM_RUNTIME_SHORT_NAME if already installed"
|
||||
echo " -u|unstable use unstable feed. Installs the $_DNVM_RUNTIME_SHORT_NAME from the unstable feed"
|
||||
echo " -r|runtime The runtime flavor to install [clr or coreclr] (default: clr)"
|
||||
echo " -g|global Installs the latest $_DNVM_RUNTIME_SHORT_NAME in the configured global $_DNVM_RUNTIME_SHORT_NAME file location (default: /usr/local/lib/dnx current: $DNX_GLOBAL_HOME)"
|
||||
echo " -y Assume Yes to all queries and do not prompt"
|
||||
echo " -f|-force force upgrade. Overwrite existing version of $_DNVM_RUNTIME_SHORT_NAME if already installed"
|
||||
echo " -u|-unstable use unstable feed. Installs the $_DNVM_RUNTIME_SHORT_NAME from the unstable feed"
|
||||
echo " -r|-runtime <runtime> runtime flavor to install [mono or coreclr] (default: mono)"
|
||||
echo " -g|-global Installs the latest $_DNVM_RUNTIME_SHORT_NAME in the configured global $_DNVM_RUNTIME_SHORT_NAME file location (default: /usr/local/lib/dnx current: $DNX_GLOBAL_HOME)"
|
||||
echo " -y Assume Yes to all queries and do not prompt"
|
||||
echo ""
|
||||
printf "%b\n" "${Yel}$_DNVM_COMMAND_NAME install <semver>|<alias>|<nupkg>|latest [-r <runtime>] [-OS <OS>] [-a|-alias <alias>] [-p|-persistent] [-f|-force] [-u|-unstable] [-g|-global] [-y]${RCol}"
|
||||
echo " <semver>|<alias> install requested $_DNVM_RUNTIME_SHORT_NAME from feed"
|
||||
echo " <nupkg> install requested $_DNVM_RUNTIME_SHORT_NAME from local package on filesystem"
|
||||
echo " latest install latest version of $_DNVM_RUNTIME_SHORT_NAME from feed"
|
||||
echo " -OS the operating system that the runtime targets (default:$(__dnvm_current_os)"
|
||||
echo " -a|-alias <alias> set alias <alias> for requested $_DNVM_RUNTIME_SHORT_NAME on install"
|
||||
echo " -p|-persistent set installed version as default"
|
||||
echo " -f|force force install. Overwrite existing version of $_DNVM_RUNTIME_SHORT_NAME if already installed"
|
||||
echo " -u|unstable use unstable feed. Installs the $_DNVM_RUNTIME_SHORT_NAME from the unstable feed"
|
||||
echo " -r|runtime The runtime flavor to install [mono or coreclr] (default: mono)"
|
||||
echo " -g|global Installs to the configured global $_DNVM_RUNTIME_SHORT_NAME file location (default: /usr/local/lib/dnx current: $DNX_GLOBAL_HOME)"
|
||||
echo " -y Assume Yes to all queries and do not prompt"
|
||||
printf "%b\n" "${Yel}$_DNVM_COMMAND_NAME install <semver>|<alias>|<nupkg>|latest [-r <runtime>] [-OS <OS>] [-alias <alias>] [-a|-arch <architecture>] [-p|-persistent] [-f|-force] [-u|-unstable] [-g|-global] [-y]${RCol}"
|
||||
echo " <semver>|<alias> install requested $_DNVM_RUNTIME_SHORT_NAME from feed"
|
||||
echo " <nupkg> install requested $_DNVM_RUNTIME_SHORT_NAME from local package on filesystem"
|
||||
echo " latest install latest version of $_DNVM_RUNTIME_SHORT_NAME from feed"
|
||||
echo " -OS <operating system> the operating system that the runtime targets (default:$(__dnvm_current_os))"
|
||||
echo " -alias <alias> set alias <alias> for requested $_DNVM_RUNTIME_SHORT_NAME on install"
|
||||
echo " -a|-arch <architecture> architecture to use (x64)"
|
||||
echo " -p|-persistent set installed version as default"
|
||||
echo " -f|-force force install. Overwrite existing version of $_DNVM_RUNTIME_SHORT_NAME if already installed"
|
||||
echo " -u|-unstable use unstable feed. Installs the $_DNVM_RUNTIME_SHORT_NAME from the unstable feed"
|
||||
echo " -r|-runtime <runtime> runtime flavor to install [mono or coreclr] (default: mono)"
|
||||
echo " -g|-global Installs to the configured global $_DNVM_RUNTIME_SHORT_NAME file location (default: /usr/local/lib/dnx current: $DNX_GLOBAL_HOME)"
|
||||
echo " -y Assume Yes to all queries and do not prompt"
|
||||
echo ""
|
||||
echo " adds $_DNVM_RUNTIME_SHORT_NAME bin to path of current command line"
|
||||
echo ""
|
||||
printf "%b\n" "${Yel}$_DNVM_COMMAND_NAME uninstall <semver> [-r|-runtime <runtime>] [-a|-arch <architecture>] [-OS <OS>]${RCol}"
|
||||
echo " <semver> the version to uninstall"
|
||||
echo " -r|-runtime <runtime> runtime flavor to uninstall [mono or coreclr] (default: mono)"
|
||||
echo " -a|-arch <architecture> architecture to use (x64)"
|
||||
echo " -OS <operating system> the operating system that the runtime targets (default:$(__dnvm_current_os))"
|
||||
echo " -y Assume Yes to all queries and do not prompt"
|
||||
echo ""
|
||||
printf "%b\n" "${Yel}$_DNVM_COMMAND_NAME use <semver>|<alias>|<package>|none [-p|-persistent] [-r|-runtime <runtime>] [-a|-arch <architecture>] ${RCol}"
|
||||
echo " <semver>|<alias>|<package> add $_DNVM_RUNTIME_SHORT_NAME bin to path of current command line "
|
||||
echo " none remove $_DNVM_RUNTIME_SHORT_NAME bin from path of current command line"
|
||||
echo " -p|-persistent set selected version as default"
|
||||
echo " -r|-runtime runtime to use (mono, coreclr)"
|
||||
echo " -a|-arch architecture to use (x64)"
|
||||
echo " -r|-runtime <runtime> runtime flavor to use [mono or coreclr] (default: mono)"
|
||||
echo " -a|-arch <architecture> architecture to use (x64)"
|
||||
echo ""
|
||||
printf "%b\n" "${Yel}$_DNVM_COMMAND_NAME run <semver>|<alias> <args...> ${RCol}"
|
||||
echo " <semver>|<alias> the version or alias to run"
|
||||
|
|
@ -472,10 +481,10 @@ __dnvm_help() {
|
|||
echo " display value of the specified alias"
|
||||
echo ""
|
||||
printf "%b\n" "${Yel}$_DNVM_COMMAND_NAME alias <alias> <semver>|<alias>|<package> ${RCol}"
|
||||
echo " <alias> the name of the alias to set"
|
||||
echo " <semver>|<alias>|<package> the $_DNVM_RUNTIME_SHORT_NAME version to set the alias to. Alternatively use the version of the specified alias"
|
||||
echo " <alias> the name of the alias to set"
|
||||
echo " <semver>|<alias>|<package> the $_DNVM_RUNTIME_SHORT_NAME version to set the alias to. Alternatively use the version of the specified alias"
|
||||
echo ""
|
||||
printf "%b\n" "${Yel}$_DNVM_COMMAND_NAME unalias <alias> ${RCol}"
|
||||
printf "%b\n" "${Yel}$_DNVM_COMMAND_NAME alias [-d|-delete] <alias> ${RCol}"
|
||||
echo " remove the specified alias"
|
||||
echo ""
|
||||
printf "%b\n" "${Yel}$_DNVM_COMMAND_NAME [help|-h|-help|--help] ${RCol}"
|
||||
|
|
@ -533,7 +542,7 @@ dnvm()
|
|||
do
|
||||
if [[ $1 == "-p" || $1 == "-persistent" ]]; then
|
||||
local persistent="-p"
|
||||
elif [[ $1 == "-a" || $1 == "-alias" ]]; then
|
||||
elif [[ $1 == "-alias" ]]; then
|
||||
local alias=$2
|
||||
shift
|
||||
elif [[ $1 == "-f" || $1 == "-force" ]]; then
|
||||
|
|
@ -546,9 +555,9 @@ dnvm()
|
|||
elif [[ $1 == "-OS" ]]; then
|
||||
local os=$2
|
||||
shift
|
||||
elif [[ $1 == "-y" ]]; then
|
||||
elif [[ $1 == "-y" ]]; then
|
||||
local acceptSudo=1
|
||||
elif [[ $1 == "-arch" ]]; then
|
||||
elif [[ $1 == "-a" || $1 == "-arch" ]]; then
|
||||
local arch=$2
|
||||
shift
|
||||
|
||||
|
|
@ -660,7 +669,7 @@ dnvm()
|
|||
local useSudo=
|
||||
mkdir -p "$runtimeFolder" > /dev/null 2>&1
|
||||
if [ ! -d $runtimeFolder ]; then
|
||||
if ! __dnvm_promptSudo $acceptSudo ; then
|
||||
if ! __dnvm_promptSudo $acceptSudo "In order to install dnx globally, dnvm will have to temporarily run as root." ; then
|
||||
useSudo=sudo
|
||||
sudo mkdir -p "$runtimeFolder" > /dev/null 2>&1 || return 1
|
||||
else
|
||||
|
|
@ -676,6 +685,79 @@ dnvm()
|
|||
fi
|
||||
;;
|
||||
|
||||
"uninstall" )
|
||||
[[ $# -lt 2 ]] && __dnvm_help && return
|
||||
shift
|
||||
|
||||
local versionOrAlias=
|
||||
local runtime=
|
||||
local architecture=
|
||||
local os=
|
||||
local acceptSudo=0
|
||||
while [ $# -ne 0 ]
|
||||
do
|
||||
if [[ $1 == "-r" || $1 == "-runtime" ]]; then
|
||||
local runtime=$2
|
||||
shift
|
||||
elif [[ $1 == "-a" || $1 == "-arch" ]]; then
|
||||
local architecture=$2
|
||||
shift
|
||||
elif [[ $1 == "-OS" ]]; then
|
||||
local os=$2
|
||||
shift
|
||||
elif [[ $1 == "-y" ]]; then
|
||||
local acceptSudo=1
|
||||
elif [[ -n $1 ]]; then
|
||||
local versionOrAlias=$1
|
||||
fi
|
||||
|
||||
shift
|
||||
done
|
||||
|
||||
if [[ -z $os ]]; then
|
||||
os=$(__dnvm_current_os)
|
||||
elif [[ $os == "osx" ]]; then
|
||||
os="darwin"
|
||||
fi
|
||||
|
||||
if [[ -z $runtime ]]; then
|
||||
runtime=$(__dnvm_os_runtime_defaults "$os")
|
||||
fi
|
||||
|
||||
if [[ -z $architecture ]]; then
|
||||
architecture=$(__dnvm_runtime_bitness_defaults "$runtime")
|
||||
fi
|
||||
|
||||
# dnx-coreclr-linux-x64.1.0.0-beta7-12290
|
||||
local runtimeFullName=$(__dnvm_requested_version_or_alias "$versionOrAlias" "$runtime" "$architecture" "$os")
|
||||
|
||||
for folder in `echo $DNX_HOME | tr ":" "\n"`; do
|
||||
if [ -e "$folder/runtimes/$runtimeFullName" ]; then
|
||||
local runtimeFolder="$folder/runtimes/$runtimeFullName"
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ -e $runtimeFolder ]]; then
|
||||
if [[ $runtimeFolder == *"$DNX_GLOBAL_HOME"* ]] ; then
|
||||
if ! __dnvm_promptSudo $acceptSudo "In order to uninstall a global dnx, dnvm will have to temporarily run as root." ; then
|
||||
local useSudo=sudo
|
||||
fi
|
||||
fi
|
||||
$useSudo rm -r $runtimeFolder
|
||||
echo "Removed $runtimeFolder"
|
||||
else
|
||||
echo "$runtimeFolder is not installed"
|
||||
fi
|
||||
|
||||
if [ -d "$_DNVM_ALIAS_DIR" ]; then
|
||||
for __dnvm_file in $(find "$_DNVM_ALIAS_DIR" -name *.alias); do
|
||||
if [ $(cat $__dnvm_file) == "$runtimeFullName" ]; then
|
||||
rm $__dnvm_file
|
||||
fi
|
||||
done
|
||||
fi
|
||||
;;
|
||||
|
||||
"use"|"run"|"exec" )
|
||||
[[ $1 == "use" && $# -lt 2 ]] && __dnvm_help && return
|
||||
|
||||
|
|
@ -795,6 +877,16 @@ dnvm()
|
|||
return
|
||||
fi
|
||||
shift
|
||||
|
||||
if [[ $1 == "-d" || $1 == "-delete" ]]; then
|
||||
local name=$2
|
||||
local aliasPath="$_DNVM_ALIAS_DIR/$name.alias"
|
||||
[[ ! -e "$aliasPath" ]] && echo "Cannot remove alias, '$name' is not a valid alias name" && return 1
|
||||
echo "Removing alias $name"
|
||||
rm "$aliasPath" >> /dev/null 2>&1
|
||||
return
|
||||
fi
|
||||
|
||||
local name="$1"
|
||||
|
||||
if [[ $# == 1 ]]; then
|
||||
|
|
@ -836,10 +928,9 @@ dnvm()
|
|||
[[ $# -ne 2 ]] && __dnvm_help && return
|
||||
|
||||
local name=$2
|
||||
local aliasPath="$_DNVM_ALIAS_DIR/$name.alias"
|
||||
[[ ! -e "$aliasPath" ]] && echo "Cannot remove alias, '$name' is not a valid alias name" && return 1
|
||||
echo "Removing alias $name"
|
||||
rm "$aliasPath" >> /dev/null 2>&1
|
||||
echo "This command has been deprecated. Use '$_DNVM_COMMAND_NAME alias -d' instead"
|
||||
$_DNVM_COMMAND_NAME alias -d $name
|
||||
return $?
|
||||
;;
|
||||
|
||||
"list" )
|
||||
|
|
@ -871,7 +962,6 @@ dnvm()
|
|||
|
||||
# Z shell array-index starts at one.
|
||||
local i=1
|
||||
local format="%-20s %s\n"
|
||||
if [ -d "$_DNVM_ALIAS_DIR" ]; then
|
||||
for __dnvm_file in $(find "$_DNVM_ALIAS_DIR" -name *.alias); do
|
||||
if [ ! -d "$_DNVM_USER_PACKAGES/$(cat $__dnvm_file)" ] && [ ! -d "$_DNVM_GLOBAL_PACKAGES/$(cat $__dnvm_file)" ]; then
|
||||
|
|
|
|||
Loading…
Reference in New Issue