Files
dosh/install.cmd
DuProcess 8bfec4650e
ci / test (push) Canceled after 0s
ci / fuzz-smoke (push) Canceled after 0s
ci / macos-client (macos-aarch64, macos-14) (push) Canceled after 0s
ci / macos-client (macos-x86_64, macos-13) (push) Canceled after 0s
ci / windows-client (push) Canceled after 0s
ci / package-release (linux-x86_64, ubuntu-latest, , , ) (push) Canceled after 0s
ci / package-release (macos-aarch64, macos-14, , , ) (push) Canceled after 0s
ci / package-release (macos-x86_64, macos-13, , , ) (push) Canceled after 0s
ci / package-release (windows-aarch64, windows-latest, aarch64, windows, aarch64-pc-windows-msvc) (push) Canceled after 0s
ci / package-release (windows-x86_64, windows-latest, , , ) (push) Canceled after 0s
ci / remote-bench (push) Canceled after 0s
ci / publish-gitea-release (push) Canceled after 0s
Smoke test Windows cmd installer wrapper
2026-07-16 22:54:17 -04:00

57 lines
1.8 KiB
Batchfile

@echo off
setlocal EnableExtensions
set "SCRIPT_URL=%DOSH_INSTALL_PS1%"
if "%SCRIPT_URL%"=="" set "SCRIPT_URL=https://git.palav.dev/Palav/dosh/raw/branch/main/install.ps1"
set "PS="
for %%P in (powershell.exe pwsh.exe powershell pwsh) do (
if not defined PS (
where %%P >nul 2>nul && set "PS=%%P"
)
)
if not defined PS (
echo missing required command: powershell.exe or pwsh.exe 1>&2
exit /b 1
)
set "TMP_PS=%TEMP%\dosh-install-%RANDOM%-%RANDOM%.ps1"
set "TMP_BINDIR=%TEMP%\dosh-install-%RANDOM%-%RANDOM%.bindir"
set "DOSH_INSTALL_PS1_URL=%SCRIPT_URL%"
set "DOSH_INSTALL_PS1_PATH=%TMP_PS%"
set "DOSH_INSTALL_BINDIR_FILE=%TMP_BINDIR%"
if exist "%SCRIPT_URL%" (
copy /Y "%SCRIPT_URL%" "%TMP_PS%" >nul
) else (
"%PS%" -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='Stop'; $ProgressPreference='SilentlyContinue'; Invoke-WebRequest -UseBasicParsing -Uri $env:DOSH_INSTALL_PS1_URL -OutFile $env:DOSH_INSTALL_PS1_PATH"
)
if errorlevel 1 (
del "%TMP_PS%" >nul 2>nul
del "%TMP_BINDIR%" >nul 2>nul
exit /b 1
)
"%PS%" -NoProfile -ExecutionPolicy Bypass -File "%TMP_PS%" %*
set "RC=%ERRORLEVEL%"
del "%TMP_PS%" >nul 2>nul
if "%RC%"=="0" if exist "%TMP_BINDIR%" (
for /f "usebackq delims=" %%D in ("%TMP_BINDIR%") do if not defined DOSH_CMD_BINDIR set "DOSH_CMD_BINDIR=%%D"
)
del "%TMP_BINDIR%" >nul 2>nul
if not defined DOSH_CMD_BINDIR (
set "DOSH_CMD_PREFIX=%PREFIX%"
if "%DOSH_CMD_PREFIX%"=="" set "DOSH_CMD_PREFIX=%USERPROFILE%\.local"
set "DOSH_CMD_BINDIR=%DOSH_CMD_PREFIX%\bin"
)
set "DOSH_NEXT_PATH=%PATH%"
if "%RC%"=="0" (
echo ;%PATH%; | find /I ";%DOSH_CMD_BINDIR%;" >nul 2>nul
if errorlevel 1 set "DOSH_NEXT_PATH=%DOSH_CMD_BINDIR%;%PATH%"
)
endlocal & set "PATH=%DOSH_NEXT_PATH%" & exit /b %RC%