Commit Graph

41 Commits

Author SHA1 Message Date
jonathan adamczewski
686a3a2f46 Cache the xcode version obtained from xcodebuild
Each invocation of `xcodebuild -version` can take > 100ms. Caching the result reduces startup time of UnrealBuildTool and AutomationTool by 1-2 seconds.

#jira none

[CL 16999582 by jonathan adamczewski in ue5-main branch]
2021-07-29 15:03:25 -04:00
joe kirchoff
d77482768d [Backout] - CL16961198
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
Use Microsoft.CodeAnalysis.CSharp.Workspaces for code analysis

#rb none
#rnx

[CL 16961691 by joe kirchoff in ue5-main branch]
2021-07-26 17:58:54 -04:00
Joe Kirchoff
8fcb4dc40e Use Microsoft.CodeAnalysis.CSharp.Workspaces for code analysis
#rb none
#rnx

[CL 16961198 by Joe Kirchoff in ue5-main branch]
2021-07-26 17:14:29 -04:00
jonathan adamczewski
97ecdfe20a StartupTraceListener:
Improve performance of StartupTraceListener.CopyTo() for very large trace logs by generating a string once, then iterating through the lines. Per-character iteration of a StringBuilder can perform very poorly.

#jira none
#trivial
#preflight 60f9e90a915a9200010d0d46

[CL 16933089 by jonathan adamczewski in ue5-main branch]
2021-07-22 20:27:42 -04:00
jonathan adamczewski
e065cdf9cb BuildUtilities:
- Add Unreal.DotnetPath
- in Unreal.FindRootDirectory(), fix assembly path case sooner (allows UBT to run even if I type 'Engine' as 'engine')

EpicGames.Core:
- Add RuntimePlatform.ExeExtension

#trivial
#jira none

[CL 16704658 by jonathan adamczewski in ue5-main branch]
2021-06-17 10:42:37 -04:00
jonathan adamczewski
5f654039a8 BuildUtilities:
Add Unreal.DotnetDirectory

#jira none
#trivial

[CL 16704515 by jonathan adamczewski in ue5-main branch]
2021-06-17 10:26:52 -04:00
jonathan adamczewski
2627bd963f AutomationTool:
Remove dependencies from AutomationTool -> AutomationToolUtils

Removes compile-time dependencies, except for the call to AutomationTool.Automation.Process - which will be changed in a future CL.

This change is part of preparing AutomationTool to be able to build All *.Automation.csproj projects (including AutomationUtils.Automation.csproj)

#jira UE-109181
#preflight 60caedc72ab21800016a73a5
#rb ben.marsh

[CL 16703954 by jonathan adamczewski in ue5-main branch]
2021-06-17 09:45:35 -04:00
jonathan adamczewski
1218776713 ExitCode.cs:
Copyright notice

#jira none
#trivial

[CL 16701181 by jonathan adamczewski in ue5-main branch]
2021-06-17 02:14:29 -04:00
jonathan adamczewski
90dde181c0 ExitCode:
Move enum from AutomationUtils.Automation to BuildUtilities

#jira none
#trivial
#preflight 60ca8a3d78c3b00001f86b24

[CL 16701095 by jonathan adamczewski in ue5-main branch]
2021-06-17 01:49:00 -04:00
jonathan adamczewski
3a4beda20c UnrealBuildToolTests:
Allow overriding the assembly location, to fix computation of RootLocation when running tests.

#jira none

[CL 16658527 by jonathan adamczewski in ue5-main branch]
2021-06-14 10:54:00 -04:00
jonathan adamczewski
4ece24e65a AutomationTool, BuildUtilities:
UnrealBuild -> Unreal for EngineDirectory, RootDirectory, IsEngineInstalled, UnrealBuildToolPath
Remove CommandUtils EngineDirectory, RootDirectory, IsEngineInstalled - use equvalents from UnrealBuildBase.Unreal

#jira none

[CL 16648181 by jonathan adamczewski in ue5-main branch]
2021-06-11 18:20:44 -04:00
jonathan adamczewski
f9cdd2dc5d UnrealBuildTool:
Move IsEngineInstalled() into BuildUtilities

#jira none

[CL 16642197 by jonathan adamczewski in ue5-main branch]
2021-06-11 11:37:23 -04:00
jonathan adamczewski
3757d1f085 BuildUtilities:
Ensure UnrealBuild.RootDirectory casing is consistent.

#jira none

[CL 16611964 by jonathan adamczewski in ue5-main branch]
2021-06-09 16:34:49 -04:00
jonathan adamczewski
3f32bcdae6 UnrealBuildTool:
Move StartupTraceListener.cs to BuildUtilities

#jira none

[CL 16608546 by jonathan adamczewski in ue5-main branch]
2021-06-09 13:39:05 -04:00
jonathan adamczewski
64bfd9b3f4 UnrealBuildTool:
Move NativeProjects partially into BuildUtilities - class split to avoid pulling in a larger chain of dependencies.

#jira none

[CL 16608480 by jonathan adamczewski in ue5-main branch]
2021-06-09 13:32:14 -04:00
jonathan adamczewski
94b14ee042 UnrealBuildTool: move some path constants into BuildUtilities
RootDirectory, EngineDirectory, UnrealBuildToolPath are now found in BuildUtilities' UnrealBuild namesapce.

The way these are computed has changed. Previously, it was assumed that the application is UnrealBuildTool, and paths were constructed relative to that assembly.

Now, the assumption is that the process is located under a "Engine/Build/DotNET" sub-path and paths are constructed relative to that.

#jira none

[CL 16607440 by jonathan adamczewski in ue5-main branch]
2021-06-09 12:54:42 -04:00
jonathan adamczewski
78076f869d Move DirectoryLookupCache.cs to BuildUtilities
#jira none

[CL 16596484 by jonathan adamczewski in ue5-main branch]
2021-06-08 19:12:07 -04:00
jonathan adamczewski
44a6d5481e Move FileItem and DirectoryItem into BuildUtilities
#jira none

[CL 16596289 by jonathan adamczewski in ue5-main branch]
2021-06-08 19:05:33 -04:00
jonathan adamczewski
0af1ea99af Add a common C# method for detecting the current host platform to EpicGames.Core, and move many a test to use that code.
#jira none
#rb joe.kirchoff

[CL 16593582 by jonathan adamczewski in ue5-main branch]
2021-06-08 17:01:23 -04:00
Luke Thatcher
4a694b920b Move AutoSDK script version to Version.txt file inside the AutoSDK directory itself
- Previously, any changes made to AutoSDKs had to be submitted along with a bump in the version string returned by GetRequiredScriptVersionString(). Since this string is in UBT, the string has to be bumped in every branch where we need the AutoSDK changes to get applied.
 - Now, the script version string is stored in Version.txt, meaning there's only one place the version needs to be bumped to force all UBT instances in all branches to reapply an SDK.
 - Made GetRequiredScriptVersionString() private and removed platform implementations.

#rb Josh.Adams,Rolando.Caloca
#preflight 60804447a698b300013e5787

[CL 16076490 by Luke Thatcher in ue5-main branch]
2021-04-21 13:14:12 -04:00
josh adams
db463b031d - Fixed Android AutoSDK version from not showing up as valid in Turnkey
#rb trivial
[FYI] patrick.kelly

#ROBOMERGE-SOURCE: CL 15374628 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15374631 by josh adams in ue5-main branch]
2021-02-10 02:48:20 -04:00
josh adams
13682c6497 - Renamed FileRetriever class to ITurnkeyContext
- Enhanced Turnkey error reporting to the editor (TurnkeyContext now has Log and ReportError)
- Improved the SDK display in the editor
- Various bug fixes
- Renamed GetAutoSDKDirectoryForMasterVersion() to GetAutoSDKDirectoryForMainVersion()
#rb brian.white

#ROBOMERGE-SOURCE: CL 15357339 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15360341 by josh adams in ue5-main branch]
2021-02-08 17:07:27 -04:00
Josh Adams
f1b16e7ee5 Turnkey for device management and SDK apis for platforms coming online soon:
- Retooled some turnkey device management (DeviceInfo now knows its platform, so we don't need to associate a platform externally)
- Changed Control command to use Gauntlet devices to do the PowerOn etc type stuff since there is already support for device control in Gauntlet. Now Turnkey is more of an interactive/scriptable frontend to Gauntlet
- Allow for a platform to do a manual Sdk installation, which doesn't depend on finding a Turnkey file source
- Allow for a platform SDK to return custom versions. This is solely used by platform-specific code
#rb brandon.schaefer

[CL 15201829 by Josh Adams in ue5-main branch]
2021-01-26 05:30:58 -04:00
Josh Adams
ae46bd441e - Adding idea of "quick switching" installed SDKs if the platform can detect multiple installed SDKs
#rb turnkeyonly

[CL 15074259 by Josh Adams in ue5-main branch]
2021-01-13 18:45:41 -04:00
Jack Porter
75f53c8388 Fix up iOS remote build after move from Mono to dotnet
- build UBT/UAT on remote Mac
- exclude unnecessary UBT platform source from rsync upload
- modifications to UBT to allow it to compile with Linux and Lumin excluded
- manually convert CRLF for Mac shell scripts after rsync upload
#review
#rb Brandon.Schaefer
#fyi Ben.Marsh

[CL 15045791 by Jack Porter in ue5-main branch]
2021-01-11 21:17:03 -04:00