forked from AdrianCassar/xenia-canary
-
Notifications
You must be signed in to change notification settings - Fork 0
/
xb.ps1
27 lines (24 loc) · 1.06 KB
/
xb.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function Write-FatalError($message) {
[Console]::ForegroundColor = 'red'
[Console]::Error.WriteLine($message)
[Console]::ResetColor()
Exit 1
}
$pythonExecutables = 'python', 'python3'
foreach ($pythonExecutable in $pythonExecutables) {
if (!$pythonPath) {
$pythonPath = powershell -NoLogo -NonInteractive "(Get-Command -ErrorAction SilentlyContinue $pythonexecutable).Definition" # Hack to not give command suggestion
} else {
break
}
}
# Neither found, error and exit
$pythonMinimumVer = 3,7
if (!$pythonPath) {
Write-FatalError "ERROR: Python $($pythonMinimumVer[0]).$($pythonMinimumVer[1])+ must be installed and on PATH:`nhttps://www.python.org/"
}
& $pythonPath -c "import sys; sys.exit(1 if not sys.version_info[:2] >= ($($pythonMinimumVer[0]), $($pythonMinimumVer[1])) else 0)"
if ($LASTEXITCODE -gt 0) {
Write-FatalError "ERROR: Python version mismatch, not at least $($pythonMinimumVer[0]).$($pythonMinimumVer[1]).`nFound Python executable was `"$($pythonPath)`"."
}
& $pythonPath "$($PSScriptRoot)/xenia-build" $args