Files
runner-images/images/windows/scripts/build/Install-Pipx.ps1
Vasilii Polikarpov 7fe65a2204 [Windows] Apply code style rules to Windows scripts (#8957)
* Apply code style rules to Windows scripts

* Fix typo

* Fix configure-toolset script

* Fix parameters in Msys2 installation script

* Improve log readability

* Remove broken exit code validation
2023-12-11 22:23:36 +01:00

40 lines
1.4 KiB
PowerShell

################################################################################
## File: Install-Pipx.ps1
## Desc: Install pipx and pipx packages
################################################################################
Write-Host "Installing pipx..."
$env:PIPX_BIN_DIR = "${env:ProgramFiles(x86)}\pipx_bin"
$env:PIPX_HOME = "${env:ProgramFiles(x86)}\pipx"
pip install pipx
if ($LASTEXITCODE -ne 0) {
throw "pipx installation failed with exit code $LASTEXITCODE"
}
Add-MachinePathItem "${env:PIPX_BIN_DIR}"
[Environment]::SetEnvironmentVariable("PIPX_BIN_DIR", $env:PIPX_BIN_DIR, "Machine")
[Environment]::SetEnvironmentVariable("PIPX_HOME", $env:PIPX_HOME, "Machine")
Invoke-PesterTests -TestFile "Tools" -TestName "Pipx"
Write-Host "Installing pipx packages..."
$pipxToolset = (Get-ToolsetContent).pipx
foreach ($tool in $pipxToolset) {
if ($tool.python) {
$pythonPath = (Get-Item -Path "${env:AGENT_TOOLSDIRECTORY}\Python\${tool.python}.*\x64\python-${tool.python}*").FullName
Write-Host "Install ${tool.package} into python ${tool.python}"
pipx install $tool.package --python $pythonPath
} else {
Write-Host "Install ${tool.package} into default python"
pipx install $tool.package
}
if ($LASTEXITCODE -ne 0) {
throw "Package ${tool.package} installation failed with exit code $LASTEXITCODE"
}
}
Invoke-PesterTests -TestFile "PipxPackages"