45 lines
1.0 KiB
PowerShell
45 lines
1.0 KiB
PowerShell
param(
|
|
[Parameter(Mandatory = $true)]
|
|
[string]$Target
|
|
)
|
|
|
|
Write-Host "============================="
|
|
Write-Host "Unity Build Starting"
|
|
Write-Host "Target: $Target"
|
|
Write-Host "============================="
|
|
|
|
if ([string]::IsNullOrWhiteSpace($Target)) {
|
|
throw "ERROR: Target was empty. TeamCity did not pass unity.target correctly."
|
|
}
|
|
|
|
$config = Get-Content ".\ci\toolchain.json" | ConvertFrom-Json
|
|
|
|
if (-not $config.targets.$Target) {
|
|
throw "Unknown build target: $Target"
|
|
}
|
|
|
|
$t = $config.targets.$Target
|
|
|
|
$UnityExe = Join-Path $config.unityRoot "$($config.unityVersion)\Editor\Unity.exe"
|
|
|
|
if (!(Test-Path $UnityExe)) {
|
|
throw "Unity not installed at expected path: $UnityExe"
|
|
}
|
|
|
|
Write-Host "Using Unity: $UnityExe"
|
|
Write-Host "Executing method: $($t.method)"
|
|
Write-Host "Output: $($t.outputPath)"
|
|
|
|
& $UnityExe `
|
|
-batchmode `
|
|
-nographics `
|
|
-quit `
|
|
-projectPath $PWD `
|
|
-executeMethod $t.method `
|
|
-logFile -
|
|
|
|
if ($LASTEXITCODE -ne 0) {
|
|
throw "Unity build FAILED for target: $Target"
|
|
}
|
|
|
|
Write-Host "Build SUCCESS: $Target" |