Files
UnrealEngineUWP/Engine/Build/Graph/Tests/IterativeValidate.xml
matt peters d1a12468cf IterativeValidate - Force singleprocess cook since the data collected in each cook is not replicated from cookworkers.
#rb None, iterating
#rnx

[CL 26615835 by matt peters in ue5-main branch]
2023-07-26 14:31:59 -04:00

52 lines
3.5 KiB
XML

<?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" >
<!-- Project Options -->
<Option Name="ProjectFile" DefaultValue="_Unknown_" Restrict=".+" Description="The projects to cook"/>
<Option Name="ProjectName" DefaultValue="_Unknown_" Restrict=".+" Description="The projects to cook"/>
<Option Name="EditorTarget" DefaultValue="$(ProjectName)Editor" Description="Compile name of the editor target"/>
<!-- Note we can not make the default='', because the default is used for some validation. -->
<Error Message="No project file specified" If="'$(ProjectFile)' == '_Unknown_'"/>
<Error Message="No project name specified" If="'$(ProjectName)' == '_Unknown_'"/>
<!-- Platform Options -->
<Option Name="TargetPlatform" DefaultValue="Windows" Restrict=".+" Description="The platform to cook"/>
<!-- Agent Options -->
<Option Name="AgentType" DefaultValue="" Description="The platform to cook"/>
<Property Name="AgentType" Value="IterativeValidateAgent_$(ProjectName)_$(TargetPlatform)" If="'$(AgentType)' == ''"/>
<!-- Iterative Options -->
<Option Name="IterativeMode" DefaultValue="incremental" Restrict="iterative|incremental" Description="Whether to iteratively cook using Incremental or using the legacy iterative"/>
<Property Name="IterativeArgs" Value="-zenstore -ini:Editor:[CookSettings]:HybridIterativeEnabled=true" If="'$(IterativeMode)' == 'incremental'"/>
<Property Name="IterativeArgs" Value="-iterate -ini:Editor:[CookSettings]:HybridIterativeEnabled=false -ini:Editor:[CookSettings]:IterativeUseClassFilters=true" If="'$(IterativeMode)' == 'iterative'"/>
<!-- Agent=IterativeValidate variables -->
<Property Name="EditorPlatform" Value="Win64"/>
<Property Name="CommonCookArgs" Value="-targetplatform=$(TargetPlatform) $(IterativeArgs) -skiponlyeditoronly=true"/>
<!-- TODO: Remove these editordomain arguments once we enable editordomain for all cooks -->
<Property Name="CommonCookArgs" Value="$(CommonCookArgs) -editordomain -noeditordomainread -noeditordomainwrite"/>
<!-- Force singleprocess cook because IterativeValidatePackageWriter includes data that is not replicated -->
<Property Name="CommonCookArgs" Value="$(CommonCookArgs) -cookprocesscount=1"/>
<Property Name="CompileNodeName" Value="Compile $(EditorPlatform) $(ProjectName)"/>
<Property Name="CookIterativeValidatePrePassName" Value="Cook IterativeValidatePrePass $(ProjectName) $(TargetPlatform)"/>
<Property Name="CookIterativeValidateName" Value="Cook IterativeValidate $(ProjectName) $(TargetPlatform)"/>
<Agent Name="IterativeValidateAgent" Type="$(AgentType)">
<Node Name="$(CompileNodeName)">
<Compile Target="ShaderCompileWorker" Platform="$(EditorPlatform)" Project="$(ProjectFile)" Configuration="Development"/>
<Compile Target="$(EditorTarget)" Platform="$(EditorPlatform)" Project="$(ProjectFile)" Configuration="Development"/>
</Node>
<Node Name="$(CookIterativeValidatePrePassName)" Requires="$(CompileNodeName)">
<Commandlet Name="Cook" Project="$(ProjectFile)" Arguments="$(CommonCookArgs) -IterativeValidatePrePass"/>
</Node>
<Node Name="$(CookIterativeValidateName)" Requires="$(CookIterativeValidatePrePassName)">
<Commandlet Name="Cook" Project="$(ProjectFile)" Arguments="$(CommonCookArgs) -IterativeValidate"/>
</Node>
</Agent>
<Aggregate Name="IterativeValidate" Requires="$(CookIterativeValidateName)"/>
</BuildGraph>