21 Commits

Author SHA1 Message Date
bryan sefcik
38d227cc6d Updated some functions to take an IEnumerable instead of specific types. This is make sure containers don't get modified by the function being called.
#fyi joe.kirchoff
#preflight 6424aeb25e52099fe397a3bd

[CL 24846671 by bryan sefcik in ue5-main branch]
2023-03-29 18:01:18 -04:00
Joe Kirchoff
8c23f8320b EpicGames.Build: Validate all existing build records, not just the records associated with found projects
#rnx
#rb Josh.Adams
#preflight 63c9d0276a00f3cc8eaf8b54

[CL 23783544 by Joe Kirchoff in ue5-main branch]
2023-01-19 18:38:52 -05:00
Joe Kirchoff
65dd0012f7 EpicGames.Build: Base script modules directories list should not contain duplicate paths
#jira UE-172233
#rnx
#rb trivial
#preflight 63bcb9ceaf3ebedd99dcc461

[CL 23623221 by Joe Kirchoff in ue5-main branch]
2023-01-09 20:21:32 -05:00
Tim Smith
d082913ff7 Removing prior change to clean up old build records. While the change fixed the issue with removed projects, it caused large number of installed build issues.
#rb self
#preflight 6390b9807e0feab0b7c4eb7f

[CL 23429361 by Tim Smith in ue5-main branch]
2022-12-07 11:19:37 -05:00
Tim Smith
b10cfbfa7b Fixed issue where removed UAT plugins would not have their compile script state file deleted and thus cause future -NoCompile runs to load old plugins.
#rb ryan.hummer
#preflight 63779554815e4b9b754b0afc

[CL 23193965 by Tim Smith in ue5-main branch]
2022-11-18 09:31:16 -05:00
joe kirchoff
76abd8fa0a Fix duplicate keys being added to Dictionary when compiling script modules
#rnx
#jira UE-168092
#preflight 6359776e764df4711e7ca190
#rb Tim.Smith

[CL 22803455 by joe kirchoff in ue5-main branch]
2022-10-26 23:16:34 -04:00
joe kirchoff
22d3933d4d AutomationTool: ScriptModules not in the Engine directory should still be compiled when using an installed engine
Requires marking any engine ScriptModules and their dependencies as valid and up to date so those are ignored when processing project ScriptModule dependencies.

#rnx
#preflight 63506ead3833996f641ab530
#rb Marc.Audy
#jira UE-166963

[CL 22712193 by joe kirchoff in ue5-main branch]
2022-10-22 15:36:28 -04:00
joe kirchoff
1ddd1ead83 [Backout] - CL22569365
[FYI] Joe.Kirchoff
#jira UE-167455
#rb Tim.Smith
#rnx
#preflight 634efcb8dd0d2ceafae5d95b
Original CL Desc
-----------------------------------------------------------------
AutomationTool: ScriptModules not in the Engine directory should stil be compiled when using an installed engine

[CL 22632586 by joe kirchoff in ue5-main branch]
2022-10-19 14:21:54 -04:00
joe kirchoff
b090fad8f8 AutomationTool: ScriptModules not in the Engine directory should stil be compiled when using an installed engine
#jira UE-166963
#rb Tim.Smith
#rnx
#preflight 6349d6c71f6054a99f096591

[CL 22573661 by joe kirchoff in ue5-main branch]
2022-10-17 15:27:40 -04:00
tim smith
bc705a6fb8 Fixed issue where project plugins would not compile with an installed engine.
#rb joe.kirchoff
#jira UE-164268
#preflight 6328c1a2fc7f1efbdf01fa41

[CL 22087380 by tim smith in ue5-main branch]
2022-09-19 22:29:29 -04:00
tim smith
762e89adfb Fixed issue where in release mode the EpicGames.MsBuild assembly was always being loaded. This causes issues with GetTypes when invoked on all loaded assemblies.
#rb self
#preflight 6308dcd91670d55ad5f8db45

[CL 21678319 by tim smith in ue5-main branch]
2022-08-29 11:27:39 -04:00
Tim Smith
5200aeebdb Fixed issue with UAT/UBT script module rebuild tracking. If MSBuild doesn't update the target DLL due to there being no real changes, then the simple check against target time stamps being out of order would fail. Changed to save the reference time stamp and then compare them to test to see if they don't match.
Minor refactor to how valid and invalid build records are tracked.

#rb josh.adams
#preflight 62d15d263b057e7274876325

[CL 21108749 by Tim Smith in ue5-main branch]
2022-07-15 08:42:45 -04:00
josh adams
f133254485 - Fixed up 3 Linux ContentWorker issues that came from the dotnet 6 upgrade (or other recent UE5 changes):
* Staged the wrong Dotnet directory when making CW from Windows (it would stage Dotnet/6.20.00/windows)
* The ScriptModule code that used the Automation.json files to discover the precompiled UAT script dlls didn't handle \'s on Linux in the paths, and since Windows wrote out the files, there are \'s aplenty. I fixed up the known issue, but possibly all paths loaded from the json files should be fixed up, but it's not easy to do automatically
* We moved to using RunUAT.sh instead of calling dotnet directly, however because we make the CW on Windows, dotnet was not executable, and the code in RunUAT.sh to find the dotnet executable and make it executable (chmod `which dotnet`) only works if dotnet is already executable! So, I moved the +x code into SetupDotnet.sh, on Linux and Mac
#rb eric.knapik
#preflight 62ccd2009922f7e512b6e51a

#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 21055451 via CL 21055464 via CL 21055478
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 21076349 by josh adams in ue5-main branch]
2022-07-13 14:17:50 -04:00
Tim Smith
5d35876169 Added support for UE_5_1_OR_LATER style define constants for UBT/UHT C# plugins.
#rb self
#rnx
#preflight 62cd5d7b21129e2bb824626f

[CL 21054775 by Tim Smith in ue5-main branch]
2022-07-12 07:48:21 -04:00
Ben Marsh
d302274b33 Fix other xmldoc issues when building UBT.
#preflight none

[CL 20777501 by Ben Marsh in ue5-main branch]
2022-06-22 13:40:26 -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
Tim Smith
36421e5c91 Minor refactor to UBT plugins.
Added support for props file for UBT plugins.  Needed for packaging of plugins having a ubt plugin

#rnx
#rb trivial
#preflight 62694f6a7f6900cdefa9431c

[CL 19939499 by Tim Smith in ue5-main branch]
2022-04-27 10:30:21 -04:00
Tim Smith
9753bb366a Adjustments to the script module compiler code in preperation for use by UBT.
#rn trivial
#rnx
#preflight 625db2a9804460ab0fd83165

[CL 19792014 by Tim Smith in ue5-main branch]
2022-04-18 15:18:21 -04:00
Tim Smith
dfb68b18b4 Moved C# project build support from UAT to EpicGames.Build. Isolated code referencing Microsoft.Build into a dll to avoid any issues calling Assembly.GetTypes(). In prior code, it would attempt to resolve the types for things using Microsoft.Build.Framework and fail to load it. By resolving that issue, any future changes to UBT that will utilize this code will not result in any build/target scripts needing to be modified if they use Assembly.GetTypes().
#rnx
#rb jonathan.adamczewski
#preflight 625d7777d4124345879a84a7
#preflight 625d89af6813aa38e3cff392

[CL 19786950 by Tim Smith in ue5-main branch]
2022-04-18 12:17:12 -04:00
Tim Smith
76b3f0f74a Undo //UE5/Main/Engine/Source/Programs/... changelist 19477828
#preflight skip
#rnx

[CL 19477910 by Tim Smith in ue5-main branch]
2022-03-23 08:30:01 -04:00
Tim Smith
40be3125a0 Moved C# project build support from UAT to EpicGames.Build. Isolated code referencing Microsoft.Build into a dll to avoid any issues calling Assembly.GetTypes(). In prior code, it would attempt to resolve the types for things using Microsoft.Build.Framework and fail to load it. By resolving that issue, any future changes to UBT that will utilize this code will not result in any build/target scripts needing to be modified if they use Assembly.GetTypes().
#rnx
#rb jonathan.adamczewski
#preflight 623b0e64c73745c600b8e626

[CL 19477828 by Tim Smith in ue5-main branch]
2022-03-23 08:17:23 -04:00