Commit Graph

54 Commits

Author SHA1 Message Date
Ben Marsh
cbb950c578 UBT: Use ILogger throughout UBT, rather than legacy EpicGames.Core.Log methods. All output going forwards should use structured logging rather than String.Format style logging.
#preflight 628e9dc6e746de4961f60032

[CL 20373777 by Ben Marsh in ue5-main branch]
2022-05-25 19:55:37 -04:00
chris constantinescu
28111d40fc Redundancy cleanup in UBT Low Level Tests:
- 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]
2022-04-20 14:24:59 -04:00
jonathan adamczewski
06600f5b2d TargetDescriptor.cs: Warning suppression
#jira none
#trivial
#rnx
#preflight 6242512bc51908059a9116c8

[CL 19536030 by jonathan adamczewski in ue5-main branch]
2022-03-28 20:47:07 -04:00
jonathan adamczewski
5c68d1d9ef Revert //UE5/Main/... changelist 19531725 - return to NET Core 3.1
#preflight 62422fd0470aff98e946bfce
#jira UE-119846

[CL 19534572 by jonathan adamczewski in ue5-main branch]
2022-03-28 18:25:19 -04:00
jonathan adamczewski
18ac15cbb1 Upgrade to .NET 6.0
#jira UE-119846
#preflight 6241fc06470aff98e943c035

[CL 19531725 by jonathan adamczewski in ue5-main branch]
2022-03-28 15:30:56 -04:00
Ben Marsh
8bfdd6d555 UBT: Tweak how single-file compiles work.
- 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]
2022-03-16 13:37:05 -04:00
chris constantinescu
8c968941f9 UBT TestMode that allows building a test executable for an associated target.
- 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]
2022-01-19 15:00:37 -05:00
Ben Marsh
4d9a141cb1 BuildGraph: Add a task for querying all modified files since a certain changelist. Can be used in conjuction with Horde UE_HORDE_LAST_SUCCESS_CL to isolate files to rebuild.
#preflight none

[CL 18478415 by Ben Marsh in ue5-main branch]
2021-12-16 15:03:33 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
jonathan adamczewski
42ef103436 UnrealBuildTool:
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]
2021-09-03 19:27:06 -04:00
jonathan adamczewski
e020e6dc4a UnrealBuildTool:
"-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]
2021-09-02 08:28:06 -04:00
joe kirchoff
7398b01588 [Backout] - CL16961198
[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]
2021-07-26 17:59:19 -04:00
joe kirchoff
2e1a78fb8b Use Microsoft.CodeAnalysis.CSharp.Workspaces for code analysis
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 16961198 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16961204 by joe kirchoff in ue5-release-engine-test branch]
2021-07-26 17:15:01 -04:00
jonathan adamczewski
223a11ee71 UnrealBuildTool
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]
2021-06-14 09:25:41 -04:00
Ben Marsh
bc47b15e06 Merge utility library changes from GitSync.
[CL 16135807 by Ben Marsh in ue5-main branch]
2021-04-27 22:41:48 -04:00
ben marsh
1b35f7c712 UBT: Add support for compiling a list of files passed via the -FileList=... argument.
#rb none

#ROBOMERGE-SOURCE: CL 15847275 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15847285 by ben marsh in ue5-main branch]
2021-03-28 19:41:21 -04:00
Marc Audy
bf80889353 UE5/Release-Engine-Staging to UE5/Main
This represents UE4/Main up to CL# 14958402

[CL 15028197 by Marc Audy in ue5-main branch]
2021-01-08 19:56:07 -04:00
Ben Marsh
6f927647b1 Changing C# code over to using EpicGames.Core over DotNETCommon.
#rb none
#rnx

[CL 14962096 by Ben Marsh in ue5-main branch]
2020-12-21 23:07:37 -04:00
Ben Marsh
68f5abeb09 UBT: Convert UnrealBuildTool to use nullable references.
#rb none
#rnx

[CL 14960546 by Ben Marsh in ue5-main branch]
2020-12-20 18:47:42 -04:00
Tim Smith
f678576713 Added a limit to the number of actions live coding will handle by default. The user can change these limits and even request that the compilation try again withot enforcing the limit.
#rb ben.marsh
#jira UE-81480

[CL 14878398 by Tim Smith in ue5-main branch]
2020-12-08 09:47:08 -04:00
Ben Marsh
24dc06981b UBT: Remove support for outputting entire action graph for a target. This is not going to be valid with C++20 modules, since we require dependencies discovered at build time to feed back into the action graph execution.
#rb none
#rnx

[CL 14814704 by Ben Marsh in ue5-main branch]
2020-11-25 21:24:19 -04:00
James Hopkin
1edd7720d5 UBT: allow multiple -SingleFile arguments. Now stores SpecifcFilesToCompile list rather than single file reference.
#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]
2020-04-14 13:31:51 -04:00
ryan vance
02bb20415f Copy up from DS to Main
#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]
2020-03-12 14:08:52 -04:00
Ryan Durand
9ef3748747 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870955 by Ryan Durand in Main branch]
2019-12-26 23:01:54 -05:00
Ben Marsh
aa45fb1bf3 UBT: Make the -Quiet option per-target, and use it to suppress toolchain and adaptive non-unity info for secondary build targets.
#rb none
#rnx

[CL 8638712 by Ben Marsh in Dev-Build branch]
2019-09-11 11:52:41 -04:00