mirror of
https://github.com/sinbad/UEScripts.git
synced 2025-02-23 13:15:23 +00:00
Building up the RunUAT command. Dealing with non-Windows platforms
This commit is contained in:
parent
f7991941c3
commit
b55086e28c
7
inc/platform.ps1
Normal file
7
inc/platform.ps1
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# Simplify platform checks for Powershell < 6
|
||||||
|
if (-not $PSVersionTable.Platform) {
|
||||||
|
# This is Windows-only powershell
|
||||||
|
$global:IsWindows = $true
|
||||||
|
$global:IsLinux = $false
|
||||||
|
$global:IsMacOS = $false
|
||||||
|
}
|
@ -18,6 +18,7 @@ param (
|
|||||||
[switch]$help = $false
|
[switch]$help = $false
|
||||||
)
|
)
|
||||||
|
|
||||||
|
. $PSScriptRoot\inc\platform.ps1
|
||||||
. $PSScriptRoot\inc\packageconfig.ps1
|
. $PSScriptRoot\inc\packageconfig.ps1
|
||||||
. $PSScriptRoot\inc\projectversion.ps1
|
. $PSScriptRoot\inc\projectversion.ps1
|
||||||
. $PSScriptRoot\inc\uproject.ps1
|
. $PSScriptRoot\inc\uproject.ps1
|
||||||
@ -111,6 +112,14 @@ try {
|
|||||||
$proj = Read-Uproject $projfile
|
$proj = Read-Uproject $projfile
|
||||||
$ueVersion = Get-UE-Version $proj
|
$ueVersion = Get-UE-Version $proj
|
||||||
$ueinstall = Get-UE-Install $ueVersion
|
$ueinstall = Get-UE-Install $ueVersion
|
||||||
|
$exeSuffix = ""
|
||||||
|
$batchSuffix = ".sh"
|
||||||
|
if ($IsWindows) {
|
||||||
|
$exeSuffix = ".exe"
|
||||||
|
}
|
||||||
|
if ($IsWindows) {
|
||||||
|
$batchSuffix = ".bat"
|
||||||
|
}
|
||||||
|
|
||||||
Write-Output ""
|
Write-Output ""
|
||||||
Write-Output "Project file : $projfile"
|
Write-Output "Project file : $projfile"
|
||||||
@ -124,20 +133,20 @@ try {
|
|||||||
if (([bool]$major + [bool]$minor + [bool]$patch + [bool]$hotfix) -eq 0) {
|
if (([bool]$major + [bool]$minor + [bool]$patch + [bool]$hotfix) -eq 0) {
|
||||||
$patch = $true
|
$patch = $true
|
||||||
}
|
}
|
||||||
$mainver = $null
|
$versionNumber = $null
|
||||||
if ($keepversion) {
|
if ($keepversion) {
|
||||||
$mainver = Get-Project-Version $src
|
$versionNumber = Get-Project-Version $src
|
||||||
} else {
|
} else {
|
||||||
# Bump up version, passthrough options
|
# Bump up version, passthrough options
|
||||||
try {
|
try {
|
||||||
$mainver = Increment-Project-Version -srcfolder:$src -major:$major -minor:$minor -patch:$patch -hotfix:$hotfix -dryrun:$dryrun
|
$versionNumber = Increment-Project-Version -srcfolder:$src -major:$major -minor:$minor -patch:$patch -hotfix:$hotfix -dryrun:$dryrun
|
||||||
if (-not $dryrun -and $isGit) {
|
if (-not $dryrun -and $isGit) {
|
||||||
if ($src -ne ".") { Push-Location $src }
|
if ($src -ne ".") { Push-Location $src }
|
||||||
|
|
||||||
$verIniFile = Get-Project-Version-Ini-Filename $src
|
$verIniFile = Get-Project-Version-Ini-Filename $src
|
||||||
git add "$($verIniFile)"
|
git add "$($verIniFile)"
|
||||||
if ($LASTEXITCODE -ne 0) { Exit $LASTEXITCODE }
|
if ($LASTEXITCODE -ne 0) { Exit $LASTEXITCODE }
|
||||||
git commit -m "Version bump to $mainver"
|
git commit -m "Version bump to $versionNumber"
|
||||||
if ($LASTEXITCODE -ne 0) { Exit $LASTEXITCODE }
|
if ($LASTEXITCODE -ne 0) { Exit $LASTEXITCODE }
|
||||||
|
|
||||||
if ($src -ne ".") { Pop-Location }
|
if ($src -ne ".") { Pop-Location }
|
||||||
@ -150,9 +159,9 @@ try {
|
|||||||
}
|
}
|
||||||
# Keep test builds separate
|
# Keep test builds separate
|
||||||
if ($test) {
|
if ($test) {
|
||||||
$mainver = "$mainver-test"
|
$versionNumber = "$versionNumber-test"
|
||||||
}
|
}
|
||||||
Write-Output "Next version will be: $mainver"
|
Write-Output "Next version will be: $versionNumber"
|
||||||
|
|
||||||
# For tagging release
|
# For tagging release
|
||||||
# We only need to grab the main version once
|
# We only need to grab the main version once
|
||||||
@ -162,13 +171,53 @@ try {
|
|||||||
}
|
}
|
||||||
if (-not $test -and -not $dryrun) {
|
if (-not $test -and -not $dryrun) {
|
||||||
if ($src -ne ".") { Push-Location $src }
|
if ($src -ne ".") { Push-Location $src }
|
||||||
git tag $forcearg -a $mainver -m "Automated release tag"
|
git tag $forcearg -a $versionNumber -m "Automated release tag"
|
||||||
if ($LASTEXITCODE -ne 0) { Exit $LASTEXITCODE }
|
if ($LASTEXITCODE -ne 0) { Exit $LASTEXITCODE }
|
||||||
if ($src -ne ".") { Pop-Location }
|
if ($src -ne ".") { Pop-Location }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$ueEditorCmd = Join-Path $ueinstall "Engine/Binaries/Win64/UE4Editor-Cmd$exeSuffix"
|
||||||
|
$runUAT = Join-Path $ueinstall "Engine/Build/BatchFiles/RunUAT$batchSuffix"
|
||||||
|
|
||||||
# TODO: actually package something!
|
|
||||||
|
foreach ($variant in $config.Variants) {
|
||||||
|
|
||||||
|
$outDir = Join-Path $config.OutputDir "$versionNumber/$($variant.Name)"
|
||||||
|
|
||||||
|
|
||||||
|
$argList = [System.Collections.ArrayList]@()
|
||||||
|
$argList.Add("-ScriptsForProject=`"$projfile`"")
|
||||||
|
$argList.Add("BuildCookRun")
|
||||||
|
$argList.Add("-nocompileeditor")
|
||||||
|
#$argList.Add("-installed") # don't think we need this, seems to be detected
|
||||||
|
$argList.Add("-nop4")
|
||||||
|
$argList.Add("-project=`"$projfile`"")
|
||||||
|
$argList.Add("-cook")
|
||||||
|
$argList.Add("-stage")
|
||||||
|
$argList.Add("-archive")
|
||||||
|
$argList.Add("-archivedirectory=`"$($outDir)`"")
|
||||||
|
$argList.Add("-package")
|
||||||
|
$argList.Add("-ue4exe=`"$ueEditorCmd`"")
|
||||||
|
$argList.Add("-pak")
|
||||||
|
$argList.Add("-prereqs")
|
||||||
|
$argList.Add("-nodebuginfo")
|
||||||
|
$argList.Add("-build")
|
||||||
|
$argList.Add("-target=$($config.Target)")
|
||||||
|
$argList.Add("-clientconfig=$($variant.Configuration)")
|
||||||
|
$argList.Add("-targetplatform=$($variant.Platform)")
|
||||||
|
$argList.Add("-utf8output")
|
||||||
|
|
||||||
|
|
||||||
|
if ($dryrun) {
|
||||||
|
Write-Output "Would have run:"
|
||||||
|
Write-Output "> $runUAT $($argList -join " ")"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user