Script now has the functionality to download packed software and unpack it to a customizble position. This is applied to the mongo-db install as an example.
This commit is contained in:
parent
ed93e56b38
commit
54b8f8655d
5 changed files with 47 additions and 180 deletions
scripts/windows/coco-dev-setup/batch
|
@ -12,8 +12,10 @@ IF EXIST "%PROGRAMFILES(X86)%" (
|
||||||
set "curl-app=utilities\curl\32bit\curl.exe"
|
set "curl-app=utilities\curl\32bit\curl.exe"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set "ZU-app=utilities\7za.exe"
|
||||||
|
|
||||||
:: TODO:
|
:: TODO:
|
||||||
:: + Write unpack and move code for software like mongo-db
|
:: + Write code to set environment variables...
|
||||||
:: + Write code to install vs if it's not yet installed on users pc
|
:: + Write code to install vs if it's not yet installed on users pc
|
||||||
:: + Write Git Checkout repository code:
|
:: + Write Git Checkout repository code:
|
||||||
:: 1) Let user specify destination
|
:: 1) Let user specify destination
|
||||||
|
@ -100,6 +102,7 @@ call:log_lw 8
|
||||||
call:install_software_o "git" "%%downloads[1]%%" exe 9
|
call:install_software_o "git" "%%downloads[1]%%" exe 9
|
||||||
call:draw_dss
|
call:draw_dss
|
||||||
call:get_lw word 11
|
call:get_lw word 11
|
||||||
|
:: [TODO] Check if that application exists, if not ask again with warning that the path is invalid!!! (SAFETYYYY)
|
||||||
set /p git_exe_path="%word%: "
|
set /p git_exe_path="%word%: "
|
||||||
|
|
||||||
:: [TODO] Add downloads for windows visual studio ?!
|
:: [TODO] Add downloads for windows visual studio ?!
|
||||||
|
@ -147,11 +150,13 @@ GOTO END
|
||||||
GOTO END
|
GOTO END
|
||||||
|
|
||||||
:ver_Win7_8_32
|
:ver_Win7_8_32
|
||||||
call:install_packed_software_o "mongo-db" "%%downloads_7_32[1]%%" 14
|
call:install_packed_software_o "mongo-db" "%%downloads_7_32[1]%%" 25 14
|
||||||
|
set "mong-db-path = %packed_software_path%"
|
||||||
goto git_rep_checkout
|
goto git_rep_checkout
|
||||||
|
|
||||||
:ver_Vista_32
|
:ver_Vista_32
|
||||||
call:install_packed_software_o "mongo-db" "%%downloads_vista_32[1]%%" 14
|
call:install_packed_software_o "mongo-db" "%%downloads_vista_32[1]%%" 25 14
|
||||||
|
set "mong-db-path = %packed_software_path%"
|
||||||
goto git_rep_checkout
|
goto git_rep_checkout
|
||||||
|
|
||||||
:ver_XP_32
|
:ver_XP_32
|
||||||
|
@ -159,11 +164,13 @@ goto git_rep_checkout
|
||||||
goto END
|
goto END
|
||||||
|
|
||||||
:ver_Win7_8_64
|
:ver_Win7_8_64
|
||||||
call:install_packed_software_o "mongo-db" "%%downloads_7_64[1]%%" 14
|
call:install_packed_software_o "mongo-db" "%%downloads_7_64[1]%%" 25 14
|
||||||
|
set "mong-db-path = %packed_software_path%"
|
||||||
goto git_rep_checkout
|
goto git_rep_checkout
|
||||||
|
|
||||||
:ver_Vista_64
|
:ver_Vista_64
|
||||||
call:install_packed_software_o "mongo-db" "%%downloads_vista_64[1]%%" 14
|
call:install_packed_software_o "mongo-db" "%%downloads_vista_64[1]%%" 25 14
|
||||||
|
set "mong-db-path = %packed_software_path%"
|
||||||
goto git_rep_checkout
|
goto git_rep_checkout
|
||||||
|
|
||||||
:ver_XP_64
|
:ver_XP_64
|
||||||
|
@ -196,10 +203,14 @@ goto END
|
||||||
|
|
||||||
:: ============================ INSTALL SOFTWARE FUNCTIONS ======================
|
:: ============================ INSTALL SOFTWARE FUNCTIONS ======================
|
||||||
|
|
||||||
:install_software
|
:download_software
|
||||||
call:get_lw word 4
|
call:get_lw word 4
|
||||||
call:log "%word% %~1..."
|
call:log "%word% %~1..."
|
||||||
%curl-app% -sS -k %~2 -o %temp-dir%\%~1-setup.%~3
|
%curl-app% -sS -k %~2 -o %temp-dir%\%~1-setup.%~3
|
||||||
|
goto:eof
|
||||||
|
|
||||||
|
:install_software
|
||||||
|
call:download_software %~1 %~2 %~3
|
||||||
call:get_lw word 5
|
call:get_lw word 5
|
||||||
call:log "%word% %~1..."
|
call:log "%word% %~1..."
|
||||||
START /WAIT %temp-dir%\%~1-setup.%~3
|
START /WAIT %temp-dir%\%~1-setup.%~3
|
||||||
|
@ -220,20 +231,39 @@ goto:eof
|
||||||
goto:eof
|
goto:eof
|
||||||
|
|
||||||
:install_packed_software
|
:install_packed_software
|
||||||
:: 1) unpack software
|
call:download_software %~1 %~2 zip
|
||||||
:: 2) move unpacked directory
|
|
||||||
:: 3) ...
|
call:draw_dss
|
||||||
|
|
||||||
|
call:get_lw word %~3
|
||||||
|
|
||||||
|
set /p packed_software_path="%word% "
|
||||||
|
|
||||||
|
:: remove chosen directory of user if it already exists (to prevent a window from popping up)
|
||||||
|
IF EXIST %packed_software_path% rmdir %packed_software_path% /s /q
|
||||||
|
|
||||||
|
%ZU-app% x %temp-dir%\%~1-setup.zip -o%packed_software_path%
|
||||||
|
|
||||||
|
call:draw_dss
|
||||||
|
|
||||||
|
for /f "delims=" %%a in ('dir "%packed_software_path%\" /on /ad /b') do @set temp_dir=%%a
|
||||||
|
for /f "delims=" %%a in ('dir "%packed_software_path%\%temp_dir%\" /on /ad /b') do (
|
||||||
|
xcopy %packed_software_path%\%temp_dir% %packed_software_path%\ /S /E
|
||||||
|
)
|
||||||
|
|
||||||
|
call:draw_dss
|
||||||
|
rmdir %packed_software_path%\%temp_dir%\ /s /q
|
||||||
goto:eof
|
goto:eof
|
||||||
|
|
||||||
:install_packed_software_o
|
:install_packed_software_o
|
||||||
call:get_lw word %~3
|
call:get_lw word %~4
|
||||||
set /p result="%word% [Y/N]: "
|
set /p result="%word% [Y/N]: "
|
||||||
call:draw_dss
|
call:draw_dss
|
||||||
set res=false
|
set res=false
|
||||||
if "%result%"=="N" set res=true
|
if "%result%"=="N" set res=true
|
||||||
if "%result%"=="n" set res=true
|
if "%result%"=="n" set res=true
|
||||||
if "%res%"=="true" (
|
if "%res%"=="true" (
|
||||||
call:install_packed_software %~1 %~2
|
call:install_packed_software %~1 %~2 %~3
|
||||||
) else (
|
) else (
|
||||||
call:log_lw 10
|
call:log_lw 10
|
||||||
)
|
)
|
||||||
|
|
|
@ -22,4 +22,5 @@ Machine OS cannot be determined...
|
||||||
Report your OS to the developers @ CodeCombat.com...
|
Report your OS to the developers @ CodeCombat.com...
|
||||||
Installation has been stopped...
|
Installation has been stopped...
|
||||||
... Cleaning up has been disabled... Terminating Script!
|
... Cleaning up has been disabled... Terminating Script!
|
||||||
unpacking and moving:
|
unpacking and moving:
|
||||||
|
Enter the path where you would like to install MongoDB:
|
|
@ -22,4 +22,5 @@ Machine OS cannot be determined...
|
||||||
Report your OS to the developers @ CodeCombat.com...
|
Report your OS to the developers @ CodeCombat.com...
|
||||||
Installation has been stopped...
|
Installation has been stopped...
|
||||||
... Cleaning up has been disabled... Terminating Script!
|
... Cleaning up has been disabled... Terminating Script!
|
||||||
unpacking and moving:
|
unpacking and moving:
|
||||||
|
Enter the path where you would like to install MongoDB:
|
|
@ -22,4 +22,5 @@ Machine OS cannot be determined...
|
||||||
Report your OS to the developers @ CodeCombat.com...
|
Report your OS to the developers @ CodeCombat.com...
|
||||||
Installation has been stopped...
|
Installation has been stopped...
|
||||||
... Cleaning up has been disabled... Terminating Script!
|
... Cleaning up has been disabled... Terminating Script!
|
||||||
unpacking and moving:
|
unpacking and moving:
|
||||||
|
Enter the path where you would like to install MongoDB:
|
|
@ -1,166 +0,0 @@
|
||||||
@echo off
|
|
||||||
setlocal EnableDelayedExpansion
|
|
||||||
|
|
||||||
:: Global Variables
|
|
||||||
set "temp-dir=C:\Coco-Temp"
|
|
||||||
set install-log=%temp-dir%\coco-dev-install-log.txt
|
|
||||||
|
|
||||||
:: set correct curl app
|
|
||||||
IF EXIST "%PROGRAMFILES(X86)%" (
|
|
||||||
(set "curl-app=utilities\curl\64bit\curl.exe")
|
|
||||||
) ELSE (
|
|
||||||
(set "curl-app=utilities\curl\32bit\curl.exe")
|
|
||||||
)
|
|
||||||
|
|
||||||
set "ZU-app=utilities\7za.exe"
|
|
||||||
|
|
||||||
:: TODO:
|
|
||||||
:: + Write unpack and move code for software like mongo-db
|
|
||||||
:: + Write code to install vs if it's not yet installed on users pc
|
|
||||||
:: + Write Git Checkout repository code:
|
|
||||||
:: 1) Let user specify destination
|
|
||||||
:: 2) do a git clone with the git application
|
|
||||||
:: + Configuraton and installation checklist:
|
|
||||||
:: 1) ... ?!
|
|
||||||
:: + Copy the automated dev batch file to root folder
|
|
||||||
:: => Let user define mongo-db directory
|
|
||||||
:: + Start the dev environment
|
|
||||||
:: + Exit message and warn user that he can quit the window now
|
|
||||||
|
|
||||||
set /p mongo_db_path="Enter db path: "
|
|
||||||
%ZU-app% x %temp-dir%\mongo-db-setup.zip -o%mongo_db_path%
|
|
||||||
::move directory one up
|
|
||||||
::destroy that original root directory (remove)
|
|
||||||
PAUSE
|
|
||||||
|
|
||||||
:: ============================ INSTALL SOFTWARE FUNCTIONS ======================
|
|
||||||
|
|
||||||
:download_software
|
|
||||||
call:get_lw word 4
|
|
||||||
call:log "%word% %~1..."
|
|
||||||
%curl-app% -sS -k %~2 -o %temp-dir%\%~1-setup.%~3
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:install_software
|
|
||||||
call:download_software %~1 %~2 %~3
|
|
||||||
call:get_lw word 5
|
|
||||||
call:log "%word% %~1..."
|
|
||||||
START /WAIT %temp-dir%\%~1-setup.%~3
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:install_software_o
|
|
||||||
call:get_lw word %~4
|
|
||||||
set /p result="%word% [Y/N]: "
|
|
||||||
call:draw_dss
|
|
||||||
set res=false
|
|
||||||
if "%result%"=="N" set res=true
|
|
||||||
if "%result%"=="n" set res=true
|
|
||||||
if "%res%"=="true" (
|
|
||||||
call:install_software %~1 %~2 %~3
|
|
||||||
) else (
|
|
||||||
call:log_lw 10
|
|
||||||
)
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:install_packed_software
|
|
||||||
call:download_software %~1 %~2 zip
|
|
||||||
call:get_lw word 24
|
|
||||||
call:log "%word% %~1..."
|
|
||||||
ZU-app %temp-dir%\%~1-setup.zip
|
|
||||||
::what directory do you want to move it too?
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:install_packed_software_o
|
|
||||||
call:get_lw word %~3
|
|
||||||
set /p result="%word% [Y/N]: "
|
|
||||||
call:draw_dss
|
|
||||||
set res=false
|
|
||||||
if "%result%"=="N" set res=true
|
|
||||||
if "%result%"=="n" set res=true
|
|
||||||
if "%res%"=="true" (
|
|
||||||
call:install_packed_software %~1 %~2
|
|
||||||
) else (
|
|
||||||
call:log_lw 10
|
|
||||||
)
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:: ============================== FUNCTIONS ====================================
|
|
||||||
|
|
||||||
:log
|
|
||||||
echo %~1
|
|
||||||
echo %~1 >> %install-log%
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:draw_ss
|
|
||||||
call:log "----------------------------------------------------------------------------"
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:draw_dss
|
|
||||||
call:log "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:log_ss
|
|
||||||
call:draw_ss
|
|
||||||
call:log "%~1"
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:log_sse
|
|
||||||
call:log "%~1"
|
|
||||||
call:draw_ss
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:log_ds
|
|
||||||
call:log_ss "%~1"
|
|
||||||
call:draw_ss
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:: ============================== IO FUNCTIONS ====================================
|
|
||||||
|
|
||||||
:parse_file
|
|
||||||
set "file=%~1"
|
|
||||||
for /F "usebackq delims=" %%a in ("%file%") do (
|
|
||||||
set /A %~3+=1
|
|
||||||
call set %~2[%%%~3%%]=%%a
|
|
||||||
)
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:parse_file_new
|
|
||||||
set /A %~3=0
|
|
||||||
call:parse_file %~1 %~2 %~3
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:: ============================== LOCALISATION FUNCTIONS ===========================
|
|
||||||
|
|
||||||
:get_lw
|
|
||||||
call:get_lw_id %~1 %lang_id% %~2
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:get_lw_id
|
|
||||||
set /A count = %~2 * %wc% + %~3 + 1
|
|
||||||
set "%~1=!languages[%count%]!"
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:log_lw
|
|
||||||
call:get_lw str %~1
|
|
||||||
call:log "%str%"
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:log_lw_ss
|
|
||||||
call:get_lw str %~1
|
|
||||||
call:log_ss "%str%"
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:log_lw_ds
|
|
||||||
call:get_lw str %~1
|
|
||||||
call:log_ds "%str%"
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:log_lw_sse
|
|
||||||
call:get_lw str %~1
|
|
||||||
call:log_sse "%str%"
|
|
||||||
goto:eof
|
|
||||||
|
|
||||||
:: ============================== EOF ====================================
|
|
||||||
|
|
||||||
:END
|
|
||||||
endlocal
|
|
Reference in a new issue