SET install[docker]=0 @ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION echo branch=!BRANCH! REM SET RESETVARS=https://raw.githubusercontent.com/PredixDev/local-setup/!BRANCH!/resetvars.vbs SET RESETVARS=https://raw.githubusercontent.com/PredixDev/local-setup/master/resetvars.vbs GOTO START :PROCESS_ARGS IF "%1"=="" ( ECHO Installing all the tools... CALL :INSTALL_EVERYTHING GOTO :eof ) IF NOT "%1"=="" ( ECHO Installing only tools specified in parameters... CALL :INSTALL_NOTHING ) :loop_process_args IF "%1"=="" GOTO end_loop_process_args IF /I "%1"=="/git" SET install[git]=1 IF /I "%1"=="/cf" SET install[cf]=1 IF /I "%1"=="/putty" SET install[putty]=1 IF /I "%1"=="/jdk" SET install[jdk]=1 IF /I "%1"=="/maven" SET install[maven]=1 IF /I "%1"=="/sts" SET install[sts]=1 rem curl is not reliable on windows command window rem IF /I "%1"=="/curl" SET install[curl]=1 IF /I "%1"=="/nodejs" SET install[nodejs]=1 IF /I "%1"=="/python2" SET install[python2]=1 IF /I "%1"=="/python3" SET install[python3]=1 IF /I "%1"=="/jq" SET install[jq]=1 IF /I "%1"=="/predixcli" SET install[predixcli]=1 IF /I "%1"=="/mobilecli" SET install[mobilecli]=1 IF /I "%1"=="/androidstudio" SET install[androidstudio]=1 IF /I "%1"=="/docker" SET install[docker]=1 IF /I "%1"=="/vmware" SET install[vmware]=1 IF /I "%1"=="/yq" SET install[yq]=1 SHIFT GOTO loop_process_args :end_loop_process_args SET install[jq]=1 GOTO :eof :GET_DEPENDENCIES ECHO Getting Dependencies CALL :DOWNLOAD_TO_FILE !RESETVARS! , %TEMP%\resetvars.vbs GOTO :eof :RELOAD_ENV "%TEMP%\resetvars.vbs" CALL "%TEMP%\resetvars.bat" >$null CALL refreshenv GOTO :eof :CHECK_INTERNET_CONNECTION ECHO Checking internet connection... @powershell -Command "iwr http://bing.com -UseBasicParsing" >$null 2>&1 IF NOT !errorlevel! EQU 0 ( ECHO Unable to connect to internet, make sure you are connected to a network and check your proxy settings if behind a corporate proxy. For detailed info about setting up your proxy please see this tutorial https://www.predix.io/resources/tutorials/tutorial-details.html?tutorial_id=1565 exit /b !errorlevel! ) ECHO OK GOTO :eof :INSTALL_CHOCO where choco >$null 2>&1 IF NOT !errorlevel! EQU 0 ( ECHO Installing chocolatey... @powershell -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin" CALL :CHECK_FAIL ) GOTO :eof :CHOCO_INSTALL SETLOCAL SET tool=%1 SET cmd=%1 IF NOT "%2"=="" ( SET cmd=%2 ) where !cmd! >$null 2>&1 IF NOT !errorlevel! EQU 0 ( choco install -y --allow-empty-checksums %1 CALL :CHECK_FAIL CALL :RELOAD_ENV ) ELSE ( ECHO %1 already installed ECHO. ) ENDLOCAL & GOTO :eof :NPM_INSTALL_GLOBAL SETLOCAL SET tool=%1 SET cmd=%1 IF NOT "%2"=="" ( SET cmd=%2 ) where !cmd! >$null 2>&1 IF NOT !errorlevel! EQU 0 ( ECHO npm install -g %1 npm install -g %1 CALL :CHECK_FAIL ) ELSE ( ECHO %1 already installed ECHO. ) ENDLOCAL & GOTO :eof :DOWNLOAD_TO_FILE ECHO download to file ECHO %~1 %~2 REM arg1 is URL, arg2 is filename to redirect output to @powershell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $response = iwr -UseBasicParsing -uri %~1; write-output $response.Content | Out-File %~2 ASCII -Width 9999" CALL :CHECK_FAIL REM echo return from check_fail GOTO :eof :DOWNLOAD_BINARY_TO_FILE ECHO download binary to file ECHO %~1 %~2 REM arg1 is URL, arg2 is filename to redirect output to @powershell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; (new-object net.webclient).DownloadFile('%~1','%~2') CALL :CHECK_FAIL GOTO :eof :CHECK_FAIL ECHO CHECK_FAIL errorlevel: !errorlevel! IF NOT !errorlevel! EQU 0 ( ECHO FAILED !errorlevel! ECHO Any changes to the PATH will not take affect unless you reopen a new Admin command window, please open a new window now. exit /b !errorlevel! ) GOTO :EOF :INSTALL_NOTHING SET install[git]=0 SET install[cf]=0 SET install[putty]=0 SET install[jdk]=0 SET install[maven]=0 SET install[sts]=0 rem SET install[curl]=0 SET install[nodejs]=0 SET install[python2]=0 SET install[python3]=0 SET install[jq]=0 SET install[predixcli]=0 SET install[mobilecli]=0 SET install[androidstudio]=0 SET install[docker]=0 SET install[vmware]=0 SET install[yq]=0 GOTO :eof :INSTALL_EVERYTHING SET install[git]=1 SET install[cf]=1 SET install[putty]=1 SET install[jdk]=1 SET install[maven]=1 SET install[sts]=1 rem SET install[curl]=1 SET install[nodejs]=1 SET install[python2]=1 SET install[python3]=1 SET install[jq]=1 SET install[predixcli]=1 SET install[mobilecli]=1 SET install[androidstudio]=0 SET install[docker]=0 SET install[vmware]=0 SET install[yq]=1 GOTO :eof :INSTALL_PREDIXCLI ECHO. ECHO Installing predixcli... where predix >$null 2>&1 IF NOT !errorlevel! EQU 0 ( ECHO Downloading installer CALL :CHOCO_INSTALL 7zip.commandline 7z REM get the url of the release file CALL :DOWNLOAD_TO_FILE https://api.github.com/repos/PredixDev/predix-cli/releases , predix-cli-output.tmp predix-cli-output2.tmp ) SET /p cli_url=> %HOMEPATH%\.bashrc ECHO Predix CLI installed here: %ALLUSERSPROFILE%\chocolatey\bin\ ) ELSE ( ECHO check for upgrade predix -v >pxcliv.tmp SET /p predixcli_current_version=predix-cli-release-response-name.tmp) nul 2>&1 if not errorlevel 1 ( ECHO PREDIX CLI is current ) else ( ECHO Upgrading Predix CLI to version !cli_latest_tag! CALL :UPGRADE_PREDIXCLI ) ECHO Predix CLI already installed, predix is installed at... where predix ECHO Predix CLI already installed, px shortcut is installed at... where px ECHO Predix CLI version is as follows, please check for updates at https://github.com/PredixDev/predix-cli ) predix -v GOTO :eof :UPGRADE_PREDIXCLI ECHO Upgrading predixcli... ECHO Downloading installer CALL :CHOCO_INSTALL 7zip.commandline 7z REM get the url of the release file CALL :DOWNLOAD_TO_FILE https://api.github.com/repos/PredixDev/predix-cli/releases , predix-cli-output.tmp predix-cli-output2.tmp ) SET /p cli_url=> %HOMEPATH%\.bashrc ECHO Predix CLI installed here: %ALLUSERSPROFILE%\chocolatey\bin\ GOTO :eof :INSTALL_ANDROID_STUDIO ECHO. ECHO Installing Android Studio... CALL :CHOCO_INSTALL maven CALL :CHOCO_INSTALL ant CALL :CHOCO_INSTALL gradle CALL :CHOCO_INSTALL android-sdk -y CALL :CHOCO_INSTALL androidstudio -y CALL :CHOCO_INSTALL adb ECHO Installing Android Studio complete... GOTO :eof :INSTALL_DOCKER ECHO. ECHO Installing Docker... CALL :CHOCO_INSTALL docker-for-windows ECHO Installing Docker complete, from Start menu launch the Docker For Windows app. Then try docker commands from command line or git-bash terminal window. GOTO :eof :INSTALL_VMWARE ECHO. ECHO Installing VMWare Workstation... CALL :CHOCO_INSTALL vmwareworkstation ECHO Installing VMWare Workstation complete... GOTO :eof :INSTALL_MOBILECLI ECHO. ECHO Installing mobilecli... where pm >$null 2>&1 IF NOT !errorlevel! EQU 0 ( ECHO Downloading installer CALL :CHOCO_INSTALL 7zip.commandline 7z REM get the url of the release file CALL :DOWNLOAD_TO_FILE https://api.github.com/repos/PredixDev/predix-mobile-cli/releases , mobile-output.tmp mobile-output2.tmp )