- test-specific targets and modules are constructed by RulesAssembly which removes a lot of spaghetti code
- no more excluding the Tests folder by default which is guaranteed to mislead users #fyi Jon.Nabozny
- test compilation in Tests is controlled through WITH_LOW_LEVEL_TESTS
- preparation code for switching tests between Catch2 / TestAutomation Fmwk
Nightly LLT PF 6260431391376845adeb4c40
#rnx
#preflight 62602d50dd47b4ad2173c30b
[CL 19834665 by chris constantinescu in ue5-main branch]
- 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]
- 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]
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]
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
Use Microsoft.CodeAnalysis.CSharp.Workspaces for code analysis
#rb none
#rnx
#ROBOMERGE-SOURCE: CL 16961691 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)
[CL 16961693 by joe kirchoff in ue5-release-engine-test branch]
Adding "using UnrealBuildBase" to some files (submitted separately to make subsequent CLs smaller)
#jira none
#trivial
#ROBOMERGE-SOURCE: CL 16657799 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)
[CL 16657806 by jonathan adamczewski in ue5-release-engine-test branch]
#rb Ben.Marsh
#ROBOMERGE-OWNER: james.hopkin
#ROBOMERGE-AUTHOR: james.hopkin
#ROBOMERGE-SOURCE: CL 12779149 via CL 12779152 via CL 12779160
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12782243 by James Hopkin in Main branch]
#rb CopyUp
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ryan.vance
#ROBOMERGE-SOURCE: CL 12149088 via CL 12150247
#ROBOMERGE-BOT: (v659-12123632)
[CL 12150618 by ryan vance in Main branch]