* This will give us wider data collection to detect regressions in the cases where a single project has a blocking issue.
AutomationTool:
* Add support for appending semicolon delimited parameters into Options (to feed <ForEach/>)
Horde:
* Put project name into labels to isolate trends graph as builds are run on different projects
#jira none
#rb tbd
[CL 16318721 by geoff evans in ue5-main branch]
This is a preparatory change ahead of adding the ability to build NET Core projects to the CsCompile task, and subsequent conversion of NET Framework projects to NET Core. On its own, it should have no substantive visible effect.
#jira none
[CL 16008195 by jonathan adamczewski in ue5-main branch]
RunUAT.sh:
Setup Mono environment on Mac and Linux so that AutomationTool is able to launch xbuild for CsCompile tasks that have not been transitioned to NET Core.
(Linux change is untested)
CsCompileTask.cs:
Don't add the "/restore" argument to command line when building using xbuild as it does not appear to be supported.
InstalledEngineBuild.xml:
Remove CsCompile invocations for UAT projects as these are currently not able to be compiled by UAT: CsCompile does not know how use the bundled dotnet to build NET Core projects, and [our bundled] mono does not support NET Core projects.
This file is consumed by AutomationTool, which is compiled by RunUAT.sh. As such, it can generally be assumed that the UAT build is up to date when the built files are consumed (InstalledEngineBuild.xml has directives to tag the AutomationTool files to ensure they are included.)
#jira UE-112471
[CL 15902338 by jonathan adamczewski in ue5-main branch]
* Runs multiple steps on different machines
* Setup: Done on a single machine, will create/update/delete HLOD actors as required. The distributed setup step takes a "BuilderCount" argument, which will be used to write a build manifest that specify the work that needs to be done by the N builders
* Build: Performed on multiple machines, read work to be done from the build manifest
* Submit: Final step, perform on a single machine. Gather files modified in all the previous steps and submit them in a single changelist
Intermediary files that are created/modified/deleted are transfered between the jobs as build products, and submitted in the last step.
To run with UAT:
RunUAT.bat BuildGraph -Script=Collaboration\Frosty\Frosty\Build\FrostyHLOD.xml -Target="HLOD Generation" -set:MapName=YourMapName -set:HLODBuilderCount=N
To run steps individually:
* Setup (N = Builder count to use)
YourProject YourMapName -run=WorldPartitionBuilderCommandlet -SCCProvider=Perforce -AllowCommandletRendering -Builder=WorldPartitionHLODsBuilder -SetupHLODs -DistributedBuild -BuilderCount=N
* Build (i from 0 to N-1):
YourProject YourMapName -run=WorldPartitionBuilderCommandlet -SCCProvider=Perforce -AllowCommandletRendering -Builder=WorldPartitionHLODsBuilder -DistributedBuild -BuildHLODs -BuilderIdx=i
* Submit:
YourProject YourMapName -run=WorldPartitionBuilderCommandlet -SCCProvider=Perforce -AllowCommandletRendering -Builder=WorldPartitionHLODsBuilder -DistributedBuild -SubmitHLODs
#fyi jeanfrancois.dube, richard.malo, vincent.beauchemin
[CL 15693777 by Sebastien Lussier in ue5-main branch]