Commit Graph

1444 Commits

Author SHA1 Message Date
jonathan adamczewski
f122b289e8 UnrealBuildTool: Makefile records external dependency on platform/group-specific target rule source file
#jira none

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 18362831 in //UE5/Release-5.0/... via CL 18362844
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18362863 by jonathan adamczewski in ue5-release-engine-test branch]
2021-12-02 20:28:25 -05:00
jonathan adamczewski
575aea6fd3 UnrealBuildTool: track history for AdditionalPluginDirectories
External plugins will be built in project_dir/Intermediate/External/...

#jira UE-136243
#preflight 61a8efe3ca183f8de48d781f

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 18353193 in //UE5/Release-5.0/... via CL 18353223
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18353249 by jonathan adamczewski in ue5-release-engine-test branch]
2021-12-02 11:49:46 -05:00
jonathan adamczewski
f47cdcfeec UnrealBuildTool: Cache BuildConfiguration.xml file locations
#jira none

#ROBOMERGE-OWNER: jonathan.adamczewski
#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 18342928 in //UE5/Release-5.0/... via CL 18343053
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18343070 by jonathan adamczewski in ue5-release-engine-test branch]
2021-12-01 14:45:33 -05:00
jonathan adamczewski
80e4b39122 UnrealBuildTool WriteDocumentaion: nested class lookup in Documentation.xml
When looking up member names in documentation xml, replace + with .

Type.FullName uses '+' to indicate a nested class (e.g. UnrealBuildTool.UnrealBuildTool+GlobalOptions), but generated documentation xml always uses '.'


#jira UE-133900
#rb ben.marsh

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 18325633 in //UE5/Release-5.0/... via CL 18325639
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18325644 by jonathan adamczewski in ue5-release-engine-test branch]
2021-11-30 11:22:55 -05:00
tim smith
a49cb3c2bb Fix linking issue when doing Live Coding and adding new classes.
#rb self
#rnx
#jira UE-134615
#preflight 619ce61caa4521f9e7918e70

#ROBOMERGE-OWNER: tim.smith
#ROBOMERGE-AUTHOR: tim.smith
#ROBOMERGE-SOURCE: CL 18269134 in //UE5/Release-5.0/... via CL 18269224
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18269238 by tim smith in ue5-release-engine-test branch]
2021-11-23 08:52:14 -05:00
ben marsh
20e622e740 UBT: Prevent timestamp being updated on *.version files if contents have not changed.
#jira UE-135617

#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 18260025 in //UE5/Release-5.0/... via CL 18260035
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18260208 by ben marsh in ue5-release-engine-test branch]
2021-11-22 13:03:04 -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
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04: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
david harvey
74f75ee7a9 Add support for platform aliases to UnrealTargetPlatform, for use with deprecating or renaming an existing platform.
#jira UE-129637
#rb Josh.Adams

#ROBOMERGE-AUTHOR: david.harvey
#ROBOMERGE-SOURCE: CL 17708367 in //UE5/Release-5.0/... via CL 17708387
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17708400 by david harvey in ue5-release-engine-test branch]
2021-10-04 11:20:17 -04:00
jonathan adamczewski
0be8e00ec1 UnrealBuildTool: Show StatusDescription in debugger for LinkedAction
#jira none
#trivial

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

[CL 17692885 by jonathan adamczewski in ue5-release-engine-test branch]
2021-10-01 12:10:54 -04:00
jonathan adamczewski
f89613487e UnrealBuildTool: Add support for deprecating an xml config option
Example code:

	[XmlConfigFile(Deprecated = true, NewAttributeName = "PrimaryProjectName")]
	protected string MasterProjectName = "UE5";


Example output:

WARNING: Deprecated setting found in "/Users/jonathan.adamczewski/.config/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml":
WARNING: The setting "MasterProjectName" is deprecated. Support for this setting will be removed in a future version of Unreal Engine.
WARNING: Use "PrimaryProjectName" in place of "MasterProjectName"
The value provided for "MasterProjectName" will be applied to "PrimaryProjectName"


#jira none

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

[CL 17680584 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-30 13:52:47 -04:00
jonathan adamczewski
a5f415a827 UnrealBuildTool: Handle different module dependency formats correctly
Output from /sourceDependencies isn't quite the same as from /sourceDependencies:directives

#jira none

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

[CL 17668636 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-29 17:47:31 -04:00
chris constantinescu
72b02c5967 Low Level Tests: code tests built on Catch2 with multi-platform support.
Intended for writing unit, integration, functional and all types of tests.

#jira UEENGQA-49764
#rb Jerome.Delattre


#ROBOMERGE-AUTHOR: chris.constantinescu
#ROBOMERGE-SOURCE: CL 17666358 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17666384 by chris constantinescu in ue5-release-engine-test branch]
2021-09-29 15:50:57 -04:00
ben marsh
5d17ed6331 UBT: Fix warnings generating documentation.
#p4v-cherrypick 17664873

#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17665748 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17665793 by ben marsh in ue5-release-engine-test branch]
2021-09-29 15:02:51 -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
01962c64e1 UnrealBuildTool: Log BuildConfiguration.xml locations on tool startup
Log file will contain lines like the following:

[00:00:00.032] Log started at 9/28/2021 8:46:43 AM (2021-09-28T15:46:43Z)
[00:00:00.051] No config file at /Users/jonathan.adamczewski/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml
[00:00:00.051] Configuration will be read from:
[00:00:00.051]   /Users/jonathan.adamczewski/Perforce/UE5_Main/Engine/Restricted/NotForLicensees/Programs/UnrealBuildTool/BuildConfiguration.xml
[00:00:00.051]   /Users/jonathan.adamczewski/Perforce/UE5_Main/Engine/Saved/UnrealBuildTool/BuildConfiguration.xml
[00:00:00.051]   /Users/jonathan.adamczewski/.config/Unreal Engine/UnrealBuildTool/BuildConfiguration.xml

#jira none
#trivial

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

[CL 17648240 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-28 13:07:29 -04:00
aurel cordonnier
69fe095547 Merge from Release-Engine-Staging @ 17636544 to Release-Engine-Test
This represents UE4/Main @17638339 and Dev-PerfTest @17636504

[CL 17638842 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-27 19:54:25 -04:00
jonathan adamczewski
8cdaa152f4 UnrealBuildTool: decompose Pair in TargetMakefile.IsValidForSourceFiles()
#trivial
#jira none

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17630242 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17630259 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-27 10:27:15 -04:00
jonathan adamczewski
72e907c7ca UnrealBuildTool: Use --no-optional-locks when when running git status
Prevents interference with interactive git commands that may be running at the same time

#jira none
#rb branden.turner

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17586516 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17586528 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-21 15:27:46 -04:00
jonathan adamczewski
6510a9750e UnrealBuildTool: ActionGraph.cs clean up formatting, naming & some other minor changes
#jira none
#trivial

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17557368 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17557391 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-17 15:59:13 -04:00
jonathan adamczewski
eba03f6900 UnrealBuildTool: Split ActionGraph.IsActionOutdated() into two functions
IsActionGraph() is complicated: recursively evaluating a graph, modifying data at each node (ActionHistory.UpdateProducingAttributes) making it easy to introduce hard-to-see race conditions, and difficult to optimize.

This change splits the function into two parts:

IsIndividualActionOutdated(): finds nodes that are out of date, based on the node's own data - able to be run in parallel, with less cross-thread contention.

IsActionOutdatedDueToPrerequisites(): recursively traverse the graph, to determine if an action is out of date based on its prerequisites. Does not run in parallel, but is fast (processes ~6000 actions in 2-3ms).

For a clean, simple project editor build, total runtime is <100ms, compared to ~150ms previously.

#jira none
[FYI] ben.marsh

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17553054 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17553068 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-17 11:46:11 -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
geoff evans
3e0b0fbc35 AutomationTool: Support for Editor in Project BuildEnvironments
This adds support for running Editor in BuildGraph Command and Commandlet tasks where the Project at hand has it's own BuildEnvironment.

#jira none
#rb ben.marsh
#preflight 6143be8d9bba9a0001dfc9ee

#ROBOMERGE-AUTHOR: geoff.evans
#ROBOMERGE-SOURCE: CL 17546102 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17546103 by geoff evans in ue5-release-engine-test branch]
2021-09-16 19:20:37 -04:00