Merge pull request #265 from mesosphere/dcos-993
[ADD] DCOS-993 Install script functionality to optionally add dcos to path
This commit is contained in:
@@ -4,7 +4,53 @@ set -o errexit -o pipefail
|
|||||||
|
|
||||||
usage()
|
usage()
|
||||||
{ # Show usage information.
|
{ # Show usage information.
|
||||||
echo "$(basename "$(test -L "$0" && readlink "$0" || echo "$0")") <installation-path> <dcos-url>"
|
echo "$(basename "$(test -L "$0" && readlink "$0" || echo "$0")") <installation-path> <dcos-url> [--add-path yes/no]"
|
||||||
|
}
|
||||||
|
|
||||||
|
post_install_message()
|
||||||
|
{
|
||||||
|
echo 'Finished installing and configuring DCOS CLI.'
|
||||||
|
echo ''
|
||||||
|
echo 'Run this command to set up your environment and to get started:'
|
||||||
|
echo "source $1 && dcos help"
|
||||||
|
}
|
||||||
|
|
||||||
|
RC_NAME=""
|
||||||
|
|
||||||
|
write_to_profile()
|
||||||
|
{
|
||||||
|
echo "" >> ~/"$2";
|
||||||
|
echo "# path to the DCOS CLI binary" >> ~/"$2";
|
||||||
|
echo "if [[ \"\$PATH\" != *\"$1\"* ]];" >> ~/"$2";
|
||||||
|
echo " then export PATH=\$PATH:$1;" >> ~/"$2";
|
||||||
|
echo "fi" >> ~/"$2";
|
||||||
|
}
|
||||||
|
|
||||||
|
add_dcos_path_to_profile()
|
||||||
|
{
|
||||||
|
UNAME=`uname`
|
||||||
|
case "$UNAME" in
|
||||||
|
Linux ) RC_NAME=".bashrc";;
|
||||||
|
Darwin ) RC_NAME=".bash_profile";;
|
||||||
|
CYGWIN* ) RC_NAME=".bashrc";;
|
||||||
|
MINGW* ) RC_NAME=".profile";;
|
||||||
|
* ) RC_NAME=".bashrc";;
|
||||||
|
esac
|
||||||
|
write_to_profile "$1" "$RC_NAME"
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt_add_dcos_path_to_profile()
|
||||||
|
{
|
||||||
|
while true; do
|
||||||
|
echo ""
|
||||||
|
read -p "Modify your bash profile to add DCOS to your PATH? [yes/no] " ANSWER
|
||||||
|
echo ""
|
||||||
|
case "$ANSWER" in
|
||||||
|
[Yy]* ) add_dcos_path_to_profile "$1"; break;;
|
||||||
|
[Nn]* ) break;;
|
||||||
|
* ) echo "Please answer yes or no.";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
check_pip_version()
|
check_pip_version()
|
||||||
@@ -70,7 +116,22 @@ dcos config set package.cache ~/.dcos/cache
|
|||||||
dcos config set package.sources '["https://github.com/mesosphere/universe/archive/version-1.x.zip"]'
|
dcos config set package.sources '["https://github.com/mesosphere/universe/archive/version-1.x.zip"]'
|
||||||
dcos package update
|
dcos package update
|
||||||
|
|
||||||
echo 'Finished installing and configuring DCOS CLI.'
|
ADD_PATH=""
|
||||||
echo ''
|
while [ $# -gt 0 ]; do
|
||||||
echo 'Run this command to set up your environment and to get started:'
|
case "$1" in
|
||||||
echo "source $ENV_SETUP && dcos help"
|
--add-path ) ADD_PATH="$2"; break;;
|
||||||
|
* ) shift;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
case "$ADD_PATH" in
|
||||||
|
[Yy]* ) add_dcos_path_to_profile "$VIRTUAL_ENV_PATH/bin";;
|
||||||
|
[Nn]* ) ;;
|
||||||
|
* ) prompt_add_dcos_path_to_profile "$VIRTUAL_ENV_PATH/bin";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -z "$RC_NAME" ]; then
|
||||||
|
post_install_message "$ENV_SETUP"
|
||||||
|
else
|
||||||
|
post_install_message "~/$RC_NAME"
|
||||||
|
fi
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
param([Parameter(Mandatory=$true,ValueFromPipeline=$true)]
|
param([Parameter(Mandatory=$true,ValueFromPipeline=$true)]
|
||||||
[string]
|
[string]
|
||||||
$installation_path,
|
$installation_path,
|
||||||
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
|
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
|
||||||
[string]
|
[string]
|
||||||
$dcos_url
|
$dcos_url,
|
||||||
|
[string]
|
||||||
|
$add_path
|
||||||
)
|
)
|
||||||
|
|
||||||
if (-Not(Get-Command python -errorAction SilentlyContinue))
|
if (-Not(Get-Command python -errorAction SilentlyContinue))
|
||||||
@@ -106,7 +108,40 @@ dcos config set package.sources '[\"https://github.com/mesosphere/universe/archi
|
|||||||
|
|
||||||
dcos package update
|
dcos package update
|
||||||
|
|
||||||
|
$ACTIVATE_PATH="$installation_path\Scripts\activate.ps1"
|
||||||
|
|
||||||
|
function AddToPath ($AddedLocation)
|
||||||
|
{
|
||||||
|
$Reg = "Registry::HKCU\Environment"
|
||||||
|
$OldPath = (Get-ItemProperty -Path "$Reg" -Name PATH).Path
|
||||||
|
$NewPath = $OldPath + ';' + $AddedLocation
|
||||||
|
Set-ItemProperty -Path "$Reg" -Name PATH –Value $NewPath
|
||||||
|
$script:ACTIVATE_PATH="activate.ps1"
|
||||||
|
}
|
||||||
|
|
||||||
|
function PromptAddToPath ($AddedLocation)
|
||||||
|
{
|
||||||
|
$message = "Modify your Environment to add DCOS to your PATH?"
|
||||||
|
$yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", `
|
||||||
|
"Yes, add DCOS to PATH."
|
||||||
|
$no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", `
|
||||||
|
"No, do not add DCOS to PATH."
|
||||||
|
$options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)
|
||||||
|
$result = $host.ui.PromptForChoice("", $message, $options, 0)
|
||||||
|
if ($result -eq 0)
|
||||||
|
{
|
||||||
|
AddToPath "$AddedLocation"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
switch -regex ($add_path)
|
||||||
|
{
|
||||||
|
"[Yy].*" {AddToPath "$installation_path\Scripts"; break}
|
||||||
|
"[Nn].*" {break}
|
||||||
|
default {PromptAddToPath "$installation_path\Scripts"}
|
||||||
|
}
|
||||||
|
|
||||||
echo "Finished installing and configuring DCOS CLI."
|
echo "Finished installing and configuring DCOS CLI."
|
||||||
echo ""
|
echo ""
|
||||||
echo "Run this command to set up your environment and to get started:"
|
echo "Run this command to set up your environment and to get started:"
|
||||||
echo "& $installation_path\Scripts\activate.ps1; dcos help"
|
echo "& $ACTIVATE_PATH; dcos help"
|
||||||
|
|||||||
Reference in New Issue
Block a user