1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #
- # This file must be used by invoking "source activate.sh" from the command line.
- # You cannot run it directly.
- # To exit from the environment this creates, execute the 'deactivate' function.
- _RED="\033[0;31m"
- _MAGENTA="\033[0;95m"
- _YELLOW="\033[0;33m"
- _RESET="\033[0m"
- # This detects if a script was sourced or invoked directly
- # See https://stackoverflow.com/a/28776166/2526265
- sourced=0
- if [ -n "$ZSH_EVAL_CONTEXT" ]; then
- case $ZSH_EVAL_CONTEXT in *:file) sourced=1;; esac
- THIS_SCRIPT="${0:-}"
- elif [ -n "$KSH_VERSION" ]; then
- [ "$(cd $(dirname -- $0) && pwd -P)/$(basename -- $0)" != "$(cd $(dirname -- ${.sh.file}) && pwd -P)/$(basename -- ${.sh.file})" ] && sourced=1
- THIS_SCRIPT="${0:-}"
- elif [ -n "$BASH_VERSION" ]; then
- (return 2>/dev/null) && sourced=1
- THIS_SCRIPT="$BASH_SOURCE"
- else # All other shells: examine $0 for known shell binary filenames
- # Detects `sh` and `dash`; add additional shell filenames as needed.
- case ${0##*/} in sh|dash) sourced=1;; esac
- THIS_SCRIPT="${0:-}"
- fi
- if [ $sourced -eq 0 ]; then
- printf "${_RED}This script cannot be invoked directly.${_RESET}\n"
- printf "${_RED}To function correctly, this script file must be sourced by calling \"source $0\".${_RESET}\n"
- exit 1
- fi
- deactivate () {
- # reset old environment variables
- if [ ! -z "${_OLD_PATH:-}" ] ; then
- export PATH="$_OLD_PATH"
- unset _OLD_PATH
- fi
- if [ ! -z "${_OLD_PS1:-}" ] ; then
- export PS1="$_OLD_PS1"
- unset _OLD_PS1
- fi
- # This should detect bash and zsh, which have a hash command that must
- # be called to get it to forget past commands. Without forgetting
- # past commands the $PATH changes we made may not be respected
- if [ -n "${BASH:-}" ] || [ -n "${ZSH_VERSION:-}" ] ; then
- hash -r 2>/dev/null
- fi
- unset DOTNET_ROOT
- unset DOTNET_MULTILEVEL_LOOKUP
- if [ ! "${1:-}" = "init" ] ; then
- # Remove the deactivate function
- unset -f deactivate
- fi
- }
- # Cleanup the environment
- deactivate init
- DIR="$( cd "$( dirname "$THIS_SCRIPT" )" && pwd )"
- _OLD_PATH="$PATH"
- # Tell dotnet where to find itself
- export DOTNET_ROOT="$DIR/.dotnet"
- # Tell dotnet not to look beyond the DOTNET_ROOT folder for more dotnet things
- export DOTNET_MULTILEVEL_LOOKUP=0
- # Put dotnet first on PATH
- export PATH="$DOTNET_ROOT:$PATH"
- # Set the shell prompt
- if [ -z "${DISABLE_CUSTOM_PROMPT:-}" ] ; then
- _OLD_PS1="$PS1"
- export PS1="(`basename \"$DIR\"`) $PS1"
- fi
- # This should detect bash and zsh, which have a hash command that must
- # be called to get it to forget past commands. Without forgetting
- # past commands the $PATH changes we made may not be respected
- if [ -n "${BASH:-}" ] || [ -n "${ZSH_VERSION:-}" ] ; then
- hash -r 2>/dev/null
- fi
- printf "${_MAGENTA}Enabled the .NET Core environment. Execute 'deactivate' to exit.${_RESET}\n"
- if [ ! -f "$DOTNET_ROOT/dotnet" ]; then
- printf "${_YELLOW}.NET Core has not been installed yet. Run $DIR/restore.sh to install it.${_RESET}\n"
- else
- printf "dotnet = $DOTNET_ROOT/dotnet\n"
- fi
|