Commit Graph

33 Commits

Author SHA1 Message Date
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
Joe Kirchoff
ebea927bd0 UnrealBuildTool: Fix analysis warnings
#rnx
#rb trivial
#preflight skipped

[CL 22214533 by Joe Kirchoff in ue5-main branch]
2022-09-27 19:15:34 -04:00
Joe Kirchoff
1e0e05a324 UnrealBuildTool: File IoHasher with caching based on last write time and file size, with simple saving and loading of the hash database
Add tests for Epicgames.IoHash

#rnx
#rb Ben.Marsh
#preflight 63334d76665f6b8f7f45c2e3

[CL 22209062 by Joe Kirchoff in ue5-main branch]
2022-09-27 16:42:06 -04:00
tim smith
0c077846eb Fixed issue where already built UBT plugins were not being listed properly.
#rb self
#rnx
#preflight 6332fb5ab20e73a0989d5f7d

[CL 22205909 by tim smith in ue5-main branch]
2022-09-27 10:35:15 -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
henrik karlsson
37301aef2c [UBT/EpicGames.Build]
* Removed debug code accidentally submitted (submitted from active change than shelf and ended up submitting these lines)

#rb Devin.Doucette
#preflight trivial

#ROBOMERGE-AUTHOR: henrik.karlsson
#ROBOMERGE-SOURCE: CL 21362243 via CL 21387021 via CL 21389408 via CL 21389788
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)

[CL 21392503 by henrik karlsson in ue5-main branch]
2022-08-15 15:48:11 -04:00
henrik karlsson
9b603cee85 [UnrealBuildTool]
* Added support for ".ubtignore" files that can be put in a folder to make ubt ignore the folder and its subfolder
* Fixed bug where project's plugin and source folder were visited multiple times (look in FileMetadataPreftch.cs)
* Changed so Lazy<File/DirectoryItem> is resolved directly on windows platform and only do the extra refresh on mac/linux (there seems to be some bugs on those platforms and we don't want to pay extra cost on windows)
* Added runtimeconfig.template.json and changed UnrealBuildTool to use server gc and a few more settings that improve performance
* Added so all file traversing paths is aware of .uplugin
* Added debug code to be able to write out which files that have been touched during UBT execution. This can serve as a way to identify places to add .ubtignore files

#rb Joe.Kirchoff
#preflight 62f685f8cf7afa018ba0a4a5

#ROBOMERGE-AUTHOR: henrik.karlsson
#ROBOMERGE-SOURCE: CL 21360427 via CL 21371108 via CL 21371121 via CL 21371139
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21371637 by henrik karlsson in ue5-main branch]
2022-08-13 02:43:13 -04:00
UnrealBot
73409369c0 Branch snapshot for CL 21319338
[CL 21319338 in ue5-main branch]
2022-08-10 16:03:37 +00: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
Joe Kirchoff
032c08b7ad Epicgames.Build: Use a Lazy FileSystemInfo to ensure info is initialized before use while still deferring the Refresh until accessed
#rnx
#rb none
#jira UE-156859
#preflight 62c631db3c5171c81722998b

[CL 20978882 by Joe Kirchoff in ue5-main branch]
2022-07-06 21:33:53 -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
04c076e820 Assortment of very quick UBT optimizations. 15% redunction in UBT null build for UE
#rb
#rnx
#preflight 6269818e8c2782e4f23e5285

[CL 19943474 by Tim Smith in ue5-main branch]
2022-04-27 14:16:14 -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
ee9ae5c66a Adding UBT plugin support currently only used by UHT
#rb jonathan.adamczewski ben.marsh
#preflight 625ff59ace2ef75d47707e74

[CL 19828042 by Tim Smith in ue5-main branch]
2022-04-20 08:27:26 -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
129d33624a Updated EpicGames.Build to be a net6 project.
#rb jonathan.adamczewsky
#preflight 6258081cd606fd159ec036f8

[CL 19753396 by Tim Smith in ue5-main branch]
2022-04-14 07:44:59 -04:00