- When a file list is specified, any headers identified via a scan are added to a separate list of files to be compiled. These are always considered optional; since we don't know for sure whether they're part of the target, they are excluded from checks that require a matching binary to be identified for them.
- The -IgnoreInvalidFiles argument doesn't seem to have been working as intended, since the BuildBinaries will already contain all binaries for the target despite claims made in a comment (so bBuildShouldContinue will default to, and remain set to, false).
- While we could fix the logic to filter the binaries built for single-file compiles, it seems simpler to keep the same codepath as regular builds.
#preflight none
[CL 19408219 by Ben Marsh in ue5-main branch]
- Prevent the unnecessary scanning of response files
- Prevent the unnecessary scanning and distribution of header files for other platforms
- Add bAllowOverVpn and VpnSubnets XmlConfigFile settings to allow restriction of distribution over VPN
- Utilize ProgressWriter to better mark up progress text as is done with other executor implementations
#jira none
#rb joe.kirchoff
#preflight none
[CL 19208610 by jeff newquist in ue5-main branch]
#rb Jonathan.Adamczewski
#jira UE-139892
#preflight 61eeecacef289ffc6df11d7f
#ROBOMERGE-AUTHOR: tim.smith
#ROBOMERGE-SOURCE: CL 18711519 in //UE5/Release-5.0/... via CL 18711563 via CL 18711691
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18711705 by tim smith in ue5-main branch]
- Each module can now have a Tests folder at its root containing low level tests written with Catch2
- Used like this: UnrealBuildTool.exe -Mode=Test TargetName Platform Configuration
- It creates a test executable that's associated with the specified build Target and it includes all the tests for the Target AND all its dependencies as well
- When building without -Mode=Test it will omit the Tests folder contents from compilation: in theory we never allowed folders named Tests at the root of modules, but there might be isolated exceptions where we didn't validate folder names - in this case we will need to move that Tests folder one level up for example
- Code paths for test and non-test builds are entirely separated
#jira UE-135280
#rb Jerome.Delattre
#preflight 61e839d5276892ce10759205
[CL 18663474 by chris constantinescu in ue5-main branch]
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
Can be used to reduce the number of build actions that will be run in parallel by ParallelExecutor or TaskExecutor.
Example use, in MyProject.Target.cs:
public class MyProjectTarget : TargetRules
{
public MyProjectTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Game;
DefaultBuildSettings = BuildSettingsVersion.V2;
ExtraModuleNames.AddRange( new string[] { "MyProject" } );
MemoryPerActionGB = 4;
}
}
#jira none
#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17546182 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17546186 by jonathan adamczewski in ue5-release-engine-test branch]
Add new commandline option: -AlwaysRulesCompile, ensures that rules assemblies will be compiled during the run.
#jira none
#ROBOMERGE-SOURCE: CL 17428445 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17428452 by jonathan adamczewski in ue5-release-engine-test branch]
"-Rebuild" command line option for build targets, to perform a clean on a target before attempting to build it.
#jira none
#rb ben.marsh
#ROBOMERGE-SOURCE: CL 17401398 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17401442 by jonathan adamczewski in ue5-release-engine-test branch]
Remove bIsGatheringBuild; directory timestamps do not need to be checked, and a null build of UHT is much cheaper than it used to be.
#jira none
#ROBOMERGE-SOURCE: CL 17359968 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17359974 by jonathan adamczewski in ue5-release-engine-test branch]
Print path to log file, print a timestamp at the top of each log file, don't print (wrong) callstack location.
#jira none
#rb ben.marsh
#ROBOMERGE-SOURCE: CL 17351052 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)
[CL 17351057 by jonathan adamczewski in ue5-release-engine-test branch]
#ROBOMERGE-SOURCE: CL 16642197 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)
[CL 16642206 by jonathan adamczewski in ue5-release-engine-test branch]
RootDirectory, EngineDirectory, UnrealBuildToolPath are now found in BuildUtilities' UnrealBuild namesapce.
The way these are computed has changed. Previously, it was assumed that the application is UnrealBuildTool, and paths were constructed relative to that assembly.
Now, the assumption is that the process is located under a "Engine/Build/DotNET" sub-path and paths are constructed relative to that.
#jira none
#ROBOMERGE-SOURCE: CL 16607440 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)
[CL 16607455 by jonathan adamczewski in ue5-release-engine-test branch]