Commit Graph

102 Commits

Author SHA1 Message Date
joe kirchoff
22cdb0b04a UnrealBuildTool: Clean up IsBuildMachine checks
#rnx

[CL 27019595 by joe kirchoff in ue5-main branch]
2023-08-10 20:59:28 -04:00
joe kirchoff
c44fc5fd4a UnrealBuildTool: Print action groups in parallel executor when building multi target
#rnx

[CL 27006666 by joe kirchoff in ue5-main branch]
2023-08-10 15:38:17 -04:00
ryan hummer
b8460946bc Change UnrealBuildException to print as errors
* Give it a unique exit code
* And introduce a new output format MinimalError to give minimal info output, but as an error

#rnx
#jira UE-191956
#rb joe.kirchoff, marc.audy, bryan.johnson

[CL 26823591 by ryan hummer in ue5-main branch]
2023-08-03 15:42:02 -04:00
Josh Adams
cb55033c0a - Disallow SDK.json reading if the platform isn't enabled on the platform
- If no DDPI.ini exists, mark the SDK as not usable on the platform (default the UEBuildPlaformSDK to disabled until the DDPI.ini file is read)
#rb joe.kirchoff
#jira UE-189549

[CL 26271235 by Josh Adams in ue5-main branch]
2023-06-27 17:19:49 -04:00
josh adams
305c260069 - Moved SDK versions (MainVersion and Min/Max SDK version) from C# strings to SDK.json files in the Platform's Config folder
- Allow for per-project override in a project's platform's config folder (this is merging with my other work on per-project SDKs and validation of multi-target builds)
- More versions will move over after this
#rb david.harvey

[CL 26150552 by josh adams in ue5-main branch]
2023-06-21 11:21:01 -04:00
chris constantinescu
eaa0b0ae58 Allow plugins "Tests" folder that can include test target and module files.
#rb Jerome.Delattre, Dave.Haslam
#jira UE-188420

[CL 25985206 by chris constantinescu in ue5-main branch]
2023-06-14 13:23:01 -04:00
josh adams
f6381544e2 - Allow a project to override the Main SDK version for a platform (the platform's project Engine.ini would set
[OverrideSDK]
  SDKVersion=x.y.z
and AutoSDK, or anything using GetMainVersion(), would use that version string instead
- If multiple targets are built in one run of UBT/UAT, it will error out because there is no support to switch SDKs (and builds happen in parallel, etc)
- This is not a complete solution, because it can cause problems with shared tools like ShaderCompileWorker, when different projects are on different SDKs and they have one SCW to share
- Renamed GetMainVersion to GetMainVersionInternal(), and wrapped that in a new non-vitual GetMainVersion() that calls GetMainVersionInternal() (and handles the ini overrides)
#rb david.harvey,dave.barrett
#jira UE-185364
#preflight 647a12e7b0670733186c928e

[CL 25767233 by josh adams in ue5-main branch]
2023-06-02 13:42:59 -04:00
Ben Marsh
c80dcd77cb Fix UBT/UAT building on Windows ARM64.
#preflight 6477562f4b0d5a1eb1411fa1

[CL 25701794 by Ben Marsh in ue5-main branch]
2023-05-31 10:31:38 -04:00
calvin zheng
d9d493619f Improved method of getting Xcode version
#jira UE-185817
#rb Josh.Adams
#preflight 646e55dc6c2a2532b1f164fd

[CL 25609928 by calvin zheng in ue5-main branch]
2023-05-24 15:01:27 -04:00
Tim Smith
1a617c5133 1) Added generic double buffer async file reader with the ability to specify buffer sizes.
2) Added the ability to directly set the IoHash in the file hasher
3) Modified the ComputeAsync hash method to provide a file size hint so it can default to a larger buffer size to improve performance.
4) Modified the ComputeAsync hash method to use the double buffer reader above.

#rb ben.marsh
#preflight 6438493a5a07ef375761ee35

[CL 25030313 by Tim Smith in ue5-main branch]
2023-04-13 15:02:03 -04:00
bryan sefcik
70f4bd7856 Moved UserDir logic to Unreal.cs and removed duplicate code.
#fyi joe.kirchoff
#preflight 642b30208f078cc7033df071

[CL 24899656 by bryan sefcik in ue5-main branch]
2023-04-03 16:21:25 -04:00
bryan sefcik
78aa2dfd58 Did a pass through the code to make it thread safe.
#fyi joe.kirchoff
#preflight 6424da90e11ce5214fcbfde7

[CL 24849236 by bryan sefcik in ue5-main branch]
2023-03-29 21:12:39 -04:00
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
bryan sefcik
f541d9983e Updated finding rule files to be thread safe.
#fyi joe.kirchoff
#preflight 64233839b72410fc17e9aa40

[CL 24824452 by bryan sefcik in ue5-main branch]
2023-03-28 15:24:54 -04:00
Joe Kirchoff
1b044d8f36 EpicGames.Build: Don't throw an exception if a path in AdditionalSearchPath doesn't exist
#rnx
#rb trivial
#preflight 63ff8a2ff43e53f68137ead4

[CL 24465656 by Joe Kirchoff in ue5-main branch]
2023-03-01 12:46:25 -05:00
Joe Kirchoff
982e9af6a1 Fix quote escaping
#rnx
#rb trivial
#preflight 63f3da0d91018822cc5eeb56

[CL 24323590 by Joe Kirchoff in ue5-main branch]
2023-02-20 15:52:12 -05:00
Joe Kirchoff
06b21637c5 UnrealBuild: Escape quotes for multi-target builds
#rnx
#rb trivial
#jira UE-177375
#preflight 63efd9c552460c3a1f521f58

[CL 24288930 by Joe Kirchoff in ue5-main branch]
2023-02-17 15:07:46 -05:00
tim smith
a4c3bf1186 Added the "Build" directory as locations UBT will scan for UBT plugins.
#rb brandon.schaefer
#jira UE-176903
#preflight 63ea62d5de74ffbae5f3b4fa

[CL 24195515 by tim smith in ue5-main branch]
2023-02-13 19:01:07 -05:00
joe kirchoff
23ee50f97d UnrealBuildTool: Fix typo in DirectoryItem docstring
#rnx
#rb trivial
#jira UE-175817

[CL 23961121 by joe kirchoff in ue5-main branch]
2023-02-01 19:29:54 -05:00
joe kirchoff
346eeabb72 UnrealBuildTool: When checking timestamps of produced files, also consider creation time as in some cases copied outputs (such as from a cache) can have a newer creation time than last write time
#rnx
#rb Ryan.Hummer
#preflight 63d9887dd21dbe1d290047ab

[CL 23942163 by joe kirchoff in ue5-main branch]
2023-01-31 19:26:51 -05:00
henrik karlsson
36288047d1 [EpicGames.Build]
* DirectoryItem - Added CompatRead/Write to BinaryArchive

#preflight 63d82ec05c69f453c11ff1b9
#rb joe.kirchoff

[CL 23923500 by henrik karlsson in ue5-main branch]
2023-01-31 01:17:27 -05:00
joe kirchoff
2758a19a3a EpicGames.Build: Fix UserSettingDirectory not being statically initialized in the correct order, which is preventing WritableEngineDirectory from being set correctly for installed builds.
#rnx
#jira UE-173996
#rb trivial

[CL 23785360 by joe kirchoff in ue5-main branch]
2023-01-19 22:02:58 -05: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
4a262359a0 UnrealBuildTool: Store Action file lists in SortedSets rather than Lists, since these collections should never have duplicate entries and sorting them helps when checking for action conflicts
Requires implementing IComparable\IEquatable in FileItem (and I also implemented them in DirectoryItem for consistency)

#rnx
#rb Tim.Smith
#preflight 63c1cce4a06ab115ea17ba4f
#preflight 63c70f4d7763631ba15486ea

[CL 23745743 by Joe Kirchoff in ue5-main branch]
2023-01-17 16:35:14 -05:00
Joe Kirchoff
ed38136400 EpicGames.Build: Fix XML comment for NativeProjectBase.FindProjectFile()
#rnx
#rb trivial
#preflight 63c0a2ab1a06fc61059913eb

[CL 23672045 by Joe Kirchoff in ue5-main branch]
2023-01-12 19:18:56 -05:00