92 lines
5.0 KiB
XML
92 lines
5.0 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" >
|
|
|
|
<!--
|
|
This script defines the local and network paths used for builds. It is expected that most licensees
|
|
will need to replace this script due to the network paths.
|
|
|
|
On a build machine a network path is always needed to allow tests on other agents retrieve the
|
|
build, however a differentiation is made between "temp" storage and "build" storage. At Epic
|
|
the former has a life of <1 day whereas build are evicted over time.
|
|
|
|
This script should be included after CommonProperties.xml where build strings are defines.
|
|
|
|
InOption: PublishBuilds - Enabled/Disable publishing of builds to build storage
|
|
|
|
InProperty: ProjectName
|
|
InProperty: ProjectPath
|
|
InProperty: EscapedBranch
|
|
InProperty: NetworkTempRoot
|
|
InProperty: NetworkPublishRoot
|
|
InProperty: NetworkReportRoot
|
|
|
|
OutOption: PublishBuilds - Publish output from builds to a network share
|
|
OutOption: PublishHashedStagingData - Publish staged content with hashes for quick syncing
|
|
OutOption: PublishReports - Publish automation reports to the network
|
|
|
|
OutProperty: ProjectOutputDirectory - Local path to package builds to
|
|
OutProperty: ShaderSymbolsDirectory - Local path to write shader symbols to
|
|
OutProperty: NetworkOutputDirectory - Network path to be used to publish builds or staged content to
|
|
OutProperty: AutomationReportOutputDirectory - Path to publish reports to. If empty publishing should be skipped
|
|
|
|
-->
|
|
|
|
<Property Name="IsEpicInternal" Value="false"/>
|
|
<Property Name="IsEpicInternal" Value="true" If="Exists('Engine/Restricted/NotForLicensees/Build/EpicInternal.txt')"/>
|
|
|
|
<Property Name="IsEpicBuildMachine" Value="false"/>
|
|
<Property Name="IsEpicBuildMachine" Value="true" If="$(IsBuildMachine) and $(IsEpicInternal)"/>
|
|
|
|
<!-- Publish packaged builds to the network ?-->
|
|
<Option Name="UseNetworkShare" DefaultValue="$(IsBuildMachine)" Restrict="true|false" Description="Whether to use network share for build output"/>
|
|
<Option Name="PublishBuilds" DefaultValue="$(UseNetworkShare)" Restrict="true|false" Description="Publish packaged builds to the builds folder on the network"/>
|
|
|
|
<!-- Publish a hashed staging data that developers can quickly sync to -->
|
|
<Option Name="PublishHashedStagingData" DefaultValue="false" Restrict="true|false" Description="Create hashes for syncing via Unsync" />
|
|
|
|
<!-- Publish automation reports to the network -->
|
|
<Option Name="PublishReports" DefaultValue="$(IsEpicBuildMachine)" Description="Publish automation reports to the network"/>
|
|
|
|
<!-- For pre-generated build -->
|
|
<Option Name="GeneratedBuildVersion" DefaultValue="" Description="The pre-generated build version"/>
|
|
|
|
<!-- Copy test report to a network share -->
|
|
<Option Name="CopyTestReportOnNetShare" DefaultValue="$(IsBuildMachine)" Description="Copy test report to a network share"/>
|
|
|
|
<!-- Where builds are saved to locally -->
|
|
<Property Name="ProjectOutputDirectory" Value="$(ProjectPath)/Saved/StagedBuilds"/>
|
|
<Property Name="ShaderSymbolsDirectory" Value="$(ProjectPath)/Saved/ShaderSymbols"/>
|
|
<Property Name="LocalInstallDirectory" Value="$(ProjectPath)/Saved/LocalInstall"/>
|
|
<Property Name="AutomationReportOutputDirectory" Value=""/>
|
|
|
|
<!-- Allow scripts to override the network locations-->
|
|
<Do If="'$(NetworkTempRootOverride)' != ''" >
|
|
<Property Name="NetworkTempRoot" Value="$(NetworkTempRootOverride)"/>
|
|
</Do>
|
|
|
|
<Do If="'$(NetworkPublishRootOverride)' != ''" >
|
|
<Property Name="NetworkPublishRoot" Value="$(NetworkPublishRootOverride)"/>
|
|
</Do>
|
|
|
|
<Do If="'$(NetworkReportRootOverride)' != ''" >
|
|
<Property Name="NetworkReportRoot" Value="$(NetworkReportRootOverride)"/>
|
|
</Do>
|
|
<!-- End network overrides -->
|
|
|
|
<!-- Declare the network outout path. Build machines need to write to the network for tests so use temp by default, but the publish path if that's being used -->
|
|
<Property Name="NetworkOutputDirectory" Value="" />
|
|
<Property Name="NetworkOutputDirectory" Value="$(NetworkTempRoot)" If="$(UseNetworkShare)"/>
|
|
<Property Name="NetworkOutputDirectory" Value="$(NetworkPublishRoot)" If="$(PublishBuilds) and $(UseNetworkShare)"/>
|
|
<Property Name="NetworkOutputDirectory" Value="$(NetworkOutputDirectory)/$(EscapedBranch)/$(BuildNamePath)" If="'$(NetworkOutputDirectory)' != ''"/>
|
|
|
|
<!-- Automation can publish reports to a folder that is mapped to a website -->
|
|
<Do If="$(PublishReports)" >
|
|
<Property Name="AutomationReportOutputDirectory" Value="$(NetworkReportRoot)"/>
|
|
<Property Name="AutomationReportOutputDirectory" Value="$(AutomationReportOutputDirectory)/$(EscapedBranch)/$(ProjectName)/$(CL-String)"/>
|
|
<Property Name="AutomationReportUrl" Value="$(AutomationReportURLBase)/$(EscapedBranch)/$(ProjectName)/$(CL-String)"/>
|
|
</Do>
|
|
|
|
<!-- Network path that can be used for storing reports and logs -->
|
|
<Property Name="GeneratedBuildDir" Value="$(NetworkPublishRoot)/$(EscapedBranch)/$(GeneratedBuildVersion)"/>
|
|
|
|
</BuildGraph> |