Commit Graph

127 Commits

Author SHA1 Message Date
Wojciech Krywult
c33e67d6dc UBT: Added a log message confirming that a .json file with build actions has been created when using -WriteOutdatedActions command-line argument.
#preflight 63729c77b6636838287c5ec9
#rb none
#rnx

[CL 23124452 by Wojciech Krywult in ue5-main branch]
2022-11-14 15:45:31 -05:00
Tim Smith
3b4b38965d Removed diagnostic code that was launching the debugger
#rb self
#jira none
#preflight none

[CL 22951291 by Tim Smith in ue5-main branch]
2022-11-03 08:38:06 -04:00
joe kirchoff
144ce56048 UnrealBuildTool: Move some util properties to EpicGames.Build
#rnx
#rb trivial
#preflight 6362e8e86000216d2e2b4bdd

[CL 22937953 by joe kirchoff in ue5-main branch]
2022-11-02 23:07:24 -04:00
bryan sefcik
6245f9d961 Minor optimizations in UBT to improve time when creating the action graph.
#jira
#preflight 6335f77e2f447ea8dc26f758

[CL 22264273 by bryan sefcik in ue5-main branch]
2022-09-30 01:41:38 -04:00
joe kirchoff
abdd5ac8ca UnrealBuildTool: Don't throw entire action graph as an exception when there is a cycle
#rnx
#rb trivial
#preflight 63349be6ce6dba45926fb2d5

[CL 22240106 by joe kirchoff in ue5-main branch]
2022-09-28 22:11:23 -04:00
jorgenpt
86e78f4299 PR #9021: Improve support for PreBuildSteps generating files (Contributed by jorgenpt)
#rb trivial
#preflight 62d5b5bf950c572d242a6c8d

[CL 21152219 by jorgenpt in ue5-main branch]
2022-07-18 16:23:54 -04:00
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
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
jonathan adamczewski
760399b892 UnrealBuildTool: Add -SaveCrashDumps option that will attempt to find and copy crash dump files to a specified location.
#jira none
#rnx
#preflight 623104afe50582311ac32ec6

[CL 19396686 by jonathan adamczewski in ue5-main branch]
2022-03-15 17:57:47 -04:00
jeff newquist
7dbd77f49a SN-DBS executor improvements
- 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]
2022-03-01 17:39:49 -05:00
tim smith
057c2b3b0f Modify UBT to not check for live coding unless there are actions to execute.
#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]
2022-01-24 13:38:36 -05: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
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
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
jonathan adamczewski
28669b8fb6 UnrealBuildTool: Update source dependency json parsing for imported modules
#jira none

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17653767 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17653789 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-28 18:49:01 -04:00
jonathan adamczewski
2f91a18571 UnrealBuildTool: allow MemoryPerAction to be set per-target
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]
2021-09-16 19:35:07 -04: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
jonathan adamczewski
04318edf4e UnrealBuildTool:
Simplify ExternalExecution.ExecuteHeaderToolIfNecessary() interface

#jira none

#ROBOMERGE-SOURCE: CL 17360308 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17360318 by jonathan adamczewski in ue5-release-engine-test branch]
2021-08-30 18:28:35 -04:00
jonathan adamczewski
1539a435f3 UnrealBuildTool:
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]
2021-08-30 18:10:06 -04:00
jonathan adamczewski
5219a3d9a4 UnrealBuildTool:
Remove always true bIsAssembling mode variable.

#jira none
#trivial

#ROBOMERGE-SOURCE: CL 17355911 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17355924 by jonathan adamczewski in ue5-release-engine-test branch]
2021-08-30 14:27:17 -04:00
jonathan adamczewski
9ccfa4b86c UnrealBuildTool, AutomationTool:
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]
2021-08-30 08:44:36 -04:00
jonathan adamczewski
64c210d294 AutomationTool, BuildUtilities:
UnrealBuild -> Unreal for EngineDirectory, RootDirectory, IsEngineInstalled, UnrealBuildToolPath
Remove CommandUtils EngineDirectory, RootDirectory, IsEngineInstalled - use equvalents from UnrealBuildBase.Unreal

#jira none

#ROBOMERGE-SOURCE: CL 16648181 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16648203 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-11 18:21:35 -04:00
jonathan adamczewski
233b7719a5 <saved by Perforce>
#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]
2021-06-11 11:37:42 -04:00