Files
UnrealEngineUWP/Engine/Build/Graph/Examples/BuildWorldPartitionHLODs.xml

99 lines
5.9 KiB
XML
Raw Normal View History

WorldPartitionHLODsBuilder * Added options to generate/use a build manifest * -BuildManifest=Filename.ini * When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest * When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i Added UWorldPartitionBuilder::PreWorldInitialization() Added support for distributed World Partition HLOD generation * 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=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=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 Changes integrated from UE5 main: #ushell-cherrypick of 15669199 by Sebastien.Lussier #ushell-cherrypick of 15687351 by JeanFrancois.Dube #ushell-cherrypick of 15693052 by Sebastien.Lussier #ushell-cherrypick of 15693777 by Sebastien.Lussier #ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/... #ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533) [CL 15710619 by sebastien lussier in ue5-main branch]
2021-03-16 08:56:01 -04:00
<?xml version='1.0' ?>
<BuildGraph xmlns="http://www.epicgames.com/BuildGraph" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.epicgames.com/BuildGraph ../Schema.xsd" >
<!-- Options -->
WorldPartitionHLODsBuilder * Added options to generate/use a build manifest * -BuildManifest=Filename.ini * When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest * When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i Added UWorldPartitionBuilder::PreWorldInitialization() Added support for distributed World Partition HLOD generation * 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=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=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 Changes integrated from UE5 main: #ushell-cherrypick of 15669199 by Sebastien.Lussier #ushell-cherrypick of 15687351 by JeanFrancois.Dube #ushell-cherrypick of 15693052 by Sebastien.Lussier #ushell-cherrypick of 15693777 by Sebastien.Lussier #ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/... #ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533) [CL 15710619 by sebastien lussier in ue5-main branch]
2021-03-16 08:56:01 -04:00
<Option Name="ProjectName" DefaultValue="" Description="Name of the project."/>
<Option Name="EditorTarget" DefaultValue="" Description="Name of the editor target to use."/>
<Option Name="MapName" DefaultValue="" Description="The map for which HLODs will be generated."/>
WorldPartitionHLODsBuilder * Added options to generate/use a build manifest * -BuildManifest=Filename.ini * When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest * When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i Added UWorldPartitionBuilder::PreWorldInitialization() Added support for distributed World Partition HLOD generation * 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=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=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 Changes integrated from UE5 main: #ushell-cherrypick of 15669199 by Sebastien.Lussier #ushell-cherrypick of 15687351 by JeanFrancois.Dube #ushell-cherrypick of 15693052 by Sebastien.Lussier #ushell-cherrypick of 15693777 by Sebastien.Lussier #ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/... #ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533) [CL 15710619 by sebastien lussier in ue5-main branch]
2021-03-16 08:56:01 -04:00
<Option Name="BuilderCount" DefaultValue="10" Description="Number of machines to use"/>
<Option Name="SubmitHLODs" Restrict="true|false" DefaultValue="false" Description="Submit generated HLODs"/>
<Option Name="ShelveHLODs" Restrict="true|false" DefaultValue="false" Description="Shelve generated HLODs"/>
<Option Name="ShelveUser" DefaultValue="" Description="Shelve result to the provided user workspace"/>
<Option Name="ShelveWorkspace" DefaultValue="" Description="Shelve result to the provided user workspace"/>
<Error Message="Missing map name. You must provide a map name using -MapName=..." If="'$(MapName)' == ''"/>
<Error Message="Missing project name. You must provide the project name using -ProjectName=..." If="'$(ProjectName)' == ''"/>
<Error Message="Missing editor target. You must provide the target name using -EditorTarget=..." If="'$(EditorTarget)' == ''"/>
<Error Message="Conflicting options found: -SubmitHLODs and -ShelveHLODs" If="$(SubmitHLODs) And $(ShelveHLODs)"/>
<Error Message="Cannot shelve result without providing a proper P4 user and workspace" If="$(ShelveHLODs) And ('$(ShelveUser)' == '' Or '$(ShelveWorkspace)' == '')"/>
<Error Message="Provided a shelve user and workspace with the -SubmitHLODs option, are you really sure you want to submit ? Aborting." If="$(SubmitHLODs) And ('$(ShelveUser)' != '' Or '$(ShelveWorkspace)' != '')"/>
<Error Message="Trying to build HLODs on a buildmachine, but without any output (missing -SubmitHLODs or -ShelveHLODs)" If="$(IsBuildMachine) And !$(SubmitHLODs) And !$(ShelveHLODs)"/>
WorldPartitionHLODsBuilder * Added options to generate/use a build manifest * -BuildManifest=Filename.ini * When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest * When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i Added UWorldPartitionBuilder::PreWorldInitialization() Added support for distributed World Partition HLOD generation * 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=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=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 Changes integrated from UE5 main: #ushell-cherrypick of 15669199 by Sebastien.Lussier #ushell-cherrypick of 15687351 by JeanFrancois.Dube #ushell-cherrypick of 15693052 by Sebastien.Lussier #ushell-cherrypick of 15693777 by Sebastien.Lussier #ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/... #ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533) [CL 15710619 by sebastien lussier in ue5-main branch]
2021-03-16 08:56:01 -04:00
<!-- Perforce environment variables -->
<EnvVar Name="uebp_PORT"/>
<EnvVar Name="uebp_USER"/>
<EnvVar Name="uebp_CLIENT"/>
<Property Name="HLODBuilder" Value="WorldPartitionHLODsBuilder"/>
WorldPartitionHLODsBuilder * Added options to generate/use a build manifest * -BuildManifest=Filename.ini * When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest * When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i Added UWorldPartitionBuilder::PreWorldInitialization() Added support for distributed World Partition HLOD generation * 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=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=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 Changes integrated from UE5 main: #ushell-cherrypick of 15669199 by Sebastien.Lussier #ushell-cherrypick of 15687351 by JeanFrancois.Dube #ushell-cherrypick of 15693052 by Sebastien.Lussier #ushell-cherrypick of 15693777 by Sebastien.Lussier #ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/... #ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533) [CL 15710619 by sebastien lussier in ue5-main branch]
2021-03-16 08:56:01 -04:00
<Property Name="HLODCommonBuilderArgs" Value="$(MapName) -DistributedBuild"/>
<Property Name="HLODCommonBuilderArgs" Value="-unattended -buildmachine $(HLODCommonBuilderArgs)" If="$(IsBuildMachine)"/>
WorldPartitionHLODsBuilder * Added options to generate/use a build manifest * -BuildManifest=Filename.ini * When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest * When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i Added UWorldPartitionBuilder::PreWorldInitialization() Added support for distributed World Partition HLOD generation * 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=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=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 Changes integrated from UE5 main: #ushell-cherrypick of 15669199 by Sebastien.Lussier #ushell-cherrypick of 15687351 by JeanFrancois.Dube #ushell-cherrypick of 15693052 by Sebastien.Lussier #ushell-cherrypick of 15693777 by Sebastien.Lussier #ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/... #ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533) [CL 15710619 by sebastien lussier in ue5-main branch]
2021-03-16 08:56:01 -04:00
<Property Name="HLODBuilderSCC_None" Value="-SCCProvider=None"/>
<Property Name="HLODBuilderSCC_P4" Value="-SCCProvider=Perforce"/>
<Property Name="HLODBuilderSCC_P4" Value="$(HLODBuilderSCC_P4) -P4Port=$(uebp_PORT) -P4User=$(uebp_USER) -P4Client=$(uebp_CLIENT)" If="$(IsBuildMachine)"/>
<!-- Prerequisites -->
WorldPartitionHLODsBuilder * Added options to generate/use a build manifest * -BuildManifest=Filename.ini * When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest * When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i Added UWorldPartitionBuilder::PreWorldInitialization() Added support for distributed World Partition HLOD generation * 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=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=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 Changes integrated from UE5 main: #ushell-cherrypick of 15669199 by Sebastien.Lussier #ushell-cherrypick of 15687351 by JeanFrancois.Dube #ushell-cherrypick of 15693052 by Sebastien.Lussier #ushell-cherrypick of 15693777 by Sebastien.Lussier #ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/... #ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533) [CL 15710619 by sebastien lussier in ue5-main branch]
2021-03-16 08:56:01 -04:00
<Agent Name="HLOD Generation Prerequisites" Type="Win64">
<Node Name="Update Version Files">
<SetVersion Change="$(Change)" Branch="$(EscapedBranch)" If="$(IsBuildMachine)"/>
</Node>
<Node Name="Compile Tools Win64" Requires="Update Version Files">
<Compile Target="UnrealHeaderTool" Platform="Win64" Configuration="Development"/>
<Compile Target="ShaderCompileWorker" Platform="Win64" Configuration="Development"/>
</Node>
<Node Name="Compile Editor Win64">
WorldPartitionHLODsBuilder * Added options to generate/use a build manifest * -BuildManifest=Filename.ini * When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest * When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i Added UWorldPartitionBuilder::PreWorldInitialization() Added support for distributed World Partition HLOD generation * 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=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=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 Changes integrated from UE5 main: #ushell-cherrypick of 15669199 by Sebastien.Lussier #ushell-cherrypick of 15687351 by JeanFrancois.Dube #ushell-cherrypick of 15693052 by Sebastien.Lussier #ushell-cherrypick of 15693777 by Sebastien.Lussier #ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/... #ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533) [CL 15710619 by sebastien lussier in ue5-main branch]
2021-03-16 08:56:01 -04:00
<Compile Target="$(EditorTarget)" Platform="Win64" Configuration="Development"/>
</Node>
</Agent>
<Property Name="HLODSetupDependencies" Value="Compile Editor Win64;Compile Tools Win64"/>
<!-- Setup -->
WorldPartitionHLODsBuilder * Added options to generate/use a build manifest * -BuildManifest=Filename.ini * When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest * When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i Added UWorldPartitionBuilder::PreWorldInitialization() Added support for distributed World Partition HLOD generation * 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=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=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 Changes integrated from UE5 main: #ushell-cherrypick of 15669199 by Sebastien.Lussier #ushell-cherrypick of 15687351 by JeanFrancois.Dube #ushell-cherrypick of 15693052 by Sebastien.Lussier #ushell-cherrypick of 15693777 by Sebastien.Lussier #ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/... #ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533) [CL 15710619 by sebastien lussier in ue5-main branch]
2021-03-16 08:56:01 -04:00
<Agent Name="HLOD Setup" Type="Win64">
<Node Name="HLOD Setup" Requires="$(HLODSetupDependencies)">
<Command Name="WorldPartitionBuilder" Arguments="-Project=$(ProjectName) -Builder=$(HLODBuilder) -CommandletArgs=&quot;$(HLODCommonBuilderArgs) $(HLODBuilderSCC_None) -SetupHLODs -BuilderCount=$(BuilderCount)&quot;"/>
WorldPartitionHLODsBuilder * Added options to generate/use a build manifest * -BuildManifest=Filename.ini * When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest * When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i Added UWorldPartitionBuilder::PreWorldInitialization() Added support for distributed World Partition HLOD generation * 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=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=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 Changes integrated from UE5 main: #ushell-cherrypick of 15669199 by Sebastien.Lussier #ushell-cherrypick of 15687351 by JeanFrancois.Dube #ushell-cherrypick of 15693052 by Sebastien.Lussier #ushell-cherrypick of 15693777 by Sebastien.Lussier #ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/... #ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533) [CL 15710619 by sebastien lussier in ue5-main branch]
2021-03-16 08:56:01 -04:00
<GatherBuildProductsFromFile BuildProductsFile="$(RootDir)/HLODTemp/BuildProducts.txt"/>
</Node>
</Agent>
<!-- Build -->
WorldPartitionHLODsBuilder * Added options to generate/use a build manifest * -BuildManifest=Filename.ini * When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest * When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i Added UWorldPartitionBuilder::PreWorldInitialization() Added support for distributed World Partition HLOD generation * 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=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=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 Changes integrated from UE5 main: #ushell-cherrypick of 15669199 by Sebastien.Lussier #ushell-cherrypick of 15687351 by JeanFrancois.Dube #ushell-cherrypick of 15693052 by Sebastien.Lussier #ushell-cherrypick of 15693777 by Sebastien.Lussier #ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/... #ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533) [CL 15710619 by sebastien lussier in ue5-main branch]
2021-03-16 08:56:01 -04:00
<Property Name="HLODBuildNodes" Value=""/>
<Property Name="HLODBuildCompleteNodes" Value=""/>
<ForEach Name="HLODBuildJobIndex" Values="0;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;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49">
<Do If="'$(HLODBuildJobIndex)' &lt; '$(BuilderCount)'">
<Property Name="HLODBuildAgent" Value="HLOD Build Agent $(HLODBuildJobIndex)"/>
<Property Name="HLODBuildNode" Value="HLOD Build Job $(HLODBuildJobIndex)"/>
<Property Name="HLODBuildNodes" Value="$(HLODBuildNodes);$(HLODBuildNode)"/>
<Property Name="HLODBuildCompleteNode" Value="$(HLODBuildNode) Complete"/>
<Property Name="HLODBuildCompleteNodes" Value="$(HLODBuildCompleteNodes);$(HLODBuildCompleteNode)"/>
<Agent Name="$(HLODBuildAgent)" Type="Win64">
<Node Name="$(HLODBuildNode)" Requires="HLOD Setup">
<Command Name="WorldPartitionBuilder" Arguments="-Project=$(ProjectName) -Builder=$(HLODBuilder) -CommandletArgs=&quot;$(HLODCommonBuilderArgs) $(HLODBuilderSCC_None) -AllowCommandletRendering -BuildHLODs -BuilderIdx=$(HLODBuildJobIndex)&quot;"/>
WorldPartitionHLODsBuilder * Added options to generate/use a build manifest * -BuildManifest=Filename.ini * When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest * When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i Added UWorldPartitionBuilder::PreWorldInitialization() Added support for distributed World Partition HLOD generation * 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=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=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 Changes integrated from UE5 main: #ushell-cherrypick of 15669199 by Sebastien.Lussier #ushell-cherrypick of 15687351 by JeanFrancois.Dube #ushell-cherrypick of 15693052 by Sebastien.Lussier #ushell-cherrypick of 15693777 by Sebastien.Lussier #ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/... #ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533) [CL 15710619 by sebastien lussier in ue5-main branch]
2021-03-16 08:56:01 -04:00
</Node>
<Node Name="$(HLODBuildCompleteNode)" After="$(HLODBuildNode)">
<GatherBuildProductsFromFile BuildProductsFile="$(RootDir)/HLODTemp/BuildProducts.txt"/>
</Node>
</Agent>
</Do>
</ForEach>
<!-- Finalize -->
<Property Name="SCCOperationArgs" Value=""/>
<Property Name="SCCOperationArgs" Value="-Submit" If="$(SubmitHLODs)"/>
<Property Name="SCCOperationArgs" Value="-ShelveUser=$(ShelveUser) -ShelveWorkspace=$(ShelveWorkspace)" If="$(ShelveHLODs) and '$(ShelveUser)' != '' and '$(ShelveWorkspace)' != ''"/>
<Agent Name="HLOD Finalize" Type="Win64">
<Node Name="HLOD Finalize" Requires="$(HLODBuildNodes);$(HLODBuildCompleteNodes);HLOD Setup">
<Command Name="WorldPartitionBuilder" Arguments="-Project=$(ProjectName) -Builder=$(HLODBuilder) -P4 $(SCCOperationArgs) -CommandletArgs=&quot;$(HLODCommonBuilderArgs) $(HLODBuilderSCC_P4) -FinalizeHLODs&quot;"/>
WorldPartitionHLODsBuilder * Added options to generate/use a build manifest * -BuildManifest=Filename.ini * When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest * When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i Added UWorldPartitionBuilder::PreWorldInitialization() Added support for distributed World Partition HLOD generation * 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=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=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 Changes integrated from UE5 main: #ushell-cherrypick of 15669199 by Sebastien.Lussier #ushell-cherrypick of 15687351 by JeanFrancois.Dube #ushell-cherrypick of 15693052 by Sebastien.Lussier #ushell-cherrypick of 15693777 by Sebastien.Lussier #ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/... #ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533) [CL 15710619 by sebastien lussier in ue5-main branch]
2021-03-16 08:56:01 -04:00
</Node>
</Agent>
<Aggregate Name="HLOD Generation" Requires="HLOD Finalize"/>
WorldPartitionHLODsBuilder * Added options to generate/use a build manifest * -BuildManifest=Filename.ini * When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest * When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i Added UWorldPartitionBuilder::PreWorldInitialization() Added support for distributed World Partition HLOD generation * 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=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=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 Changes integrated from UE5 main: #ushell-cherrypick of 15669199 by Sebastien.Lussier #ushell-cherrypick of 15687351 by JeanFrancois.Dube #ushell-cherrypick of 15693052 by Sebastien.Lussier #ushell-cherrypick of 15693777 by Sebastien.Lussier #ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/... #ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533) [CL 15710619 by sebastien lussier in ue5-main branch]
2021-03-16 08:56:01 -04:00
</BuildGraph>