Commit Graph

80 Commits

Author SHA1 Message Date
David Harvey
93a54ca5ba Added a faster option for platforms to quickly return a single device in cases where enumerating all devices can potentially be slow.
#rnx
#jira UE-126034
#preflight 6138bf269c40ec000126cb3e
#rb nuno.leiria

[CL 17471071 by David Harvey in ue5-main branch]
2021-09-09 07:37:00 -04:00
jonathan adamczewski
8dc68a7f85 AutomationTool: Compile script modules within the application
Add a layer of caching to avoid running msbuild as much as possible.

#jira UE-109181
#rb ben.marsh

[CL 17102399 by jonathan adamczewski in ue5-main branch]
2021-08-09 10:39:09 -04:00
Brandon Schaefer
da6e2eb1e2 Rename LinuxAArch64 to LinuxArm64
#jira UE-118127
#rb Michael.Sartain
#fyi Marc.Audy, Aurel.Cordonnier

[CL 16660821 by Brandon Schaefer in ue5-main branch]
2021-06-14 13:39:47 -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
David Harvey
ccc5898e1e CrashReport: platform extensions can include crash report client.
#jira UE-93432
#rnx
#rb eric.mcdaniel

[CL 16638560 by David Harvey in ue5-main branch]
2021-06-11 05:57:18 -04:00
jeff newquist
5ea7789d60 Rename UE4CommandLine.txt to UECommandLine.txt and deal with all the related changes
#rb TBD
#jira UE-113713

[CL 16093056 by jeff newquist in ue5-main branch]
2021-04-22 10:29:26 -04:00
Luke Thatcher
6bd0f41a33 Add platform option to disable the Manifest_*_.txt files in staged builds
- Some platforms don't make use of these files, so their generation is unnecessary.

#jira UE-103275
#rb Ben.Marsh

[CL 15771665 by Luke Thatcher in ue5-main branch]
2021-03-22 20:02:49 -04:00
axel riffard
0c5f041391 Fix DeviceInfo substring for iOS and tvOS
Fix deployment error when there is a space in the project path
#rb Jack.Porter
#fyi josh.adams, nuno.leiria
#jira UE-103878

[CL 15451286 by axel riffard in ue5-main branch]
2021-02-18 04:43:31 -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
a3869f12d5 - Android Turnkey support for prerequisites (making sure Android Studio has been installed and run once sdk directory creation)
- Updated versioning to pass to SetupAndroid scripts instead of the script hardcoding it
- Added idea of code-based "FileSource" objects that can be used to install an SDK without needing to copy an installer, it's all in the SDKInstall command
- Prereqs are not working yet for Mac/Linux (logic will need to be ported on those platforms to get it right)
#rb chris.babcock

[CL 15298669 by Josh Adams in ue5-main branch]
2021-02-03 14:18:15 -04:00
Josh Adams
b0e4357576 - UBT Code changes to remove 32-bit Windows support (C++ code for 32-bit still exists)
#rb marc.audy (concept, not each file)

[CL 15265424 by Josh Adams in ue5-main branch]
2021-01-31 15:09:58 -04:00
Josh Adams
fe52551c2a - Removed deprecated XboxOne platform
- Removed PostSplashScreen plugin that was only whitelisted for XboxOne (if we just remove the whitelist, it would build for all platforms, which we don't want)
#rb Marc.Audy (concept, not each file)
#fyi david.harvey

[CL 15265407 by Josh Adams in ue5-main branch]
2021-01-31 14:34:28 -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
brian white
5af388b31d [Turnkey] Add the ability to specify the target of RunExternalCommand requires administrative elevation. For use when the target is known to need elevation and may not return the correct error code to trigger automatic elevation.
#rb Josh.Adams

[CL 15166084 by brian white in ue5-main branch]
2021-01-22 15:26:45 -04:00
brian white
76666ef361 [Turnkey] Add the ability to print a message before installing and SDK. Add 'PauseForUser' action to facilitate displaying a message (without capturing input). It displays a prompt to the user and waits for acknowledgement.
#rb Josh.Adams
#rnx

[CL 15149541 by brian white in ue5-main branch]
2021-01-20 19:02:02 -04:00
Josh Adams
2752e9a381 - Started work on "Control" command that can be used to execute basic functionality that is currently in C++ (poweron, reboot, etc). Work in progress
- Some Turnkey utilities cleanup/refactor for getting platforms/devices from commandline, and generic method for getting options from commandline or user
- Allow multiple Turnkey executions on a single RunUAT commandline (RunUAT Turnkey -command=Control -operation=Reboot Turnkey -command=Control -operation=Disconnect)
#rb sebastian.nordgren

[CL 15144469 by Josh Adams in ue5-main branch]
2021-01-20 10:20:37 -04:00
Ben Marsh
6f927647b1 Changing C# code over to using EpicGames.Core over DotNETCommon.
#rb none
#rnx

[CL 14962096 by Ben Marsh in ue5-main branch]
2020-12-21 23:07:37 -04:00
Joakim Lindqvist
e7039d3d35 UBT and UAT now use .NET Core instead of Framework and Mono. This means that we use the same runtime on Windows, Linux and Mac. Further benefits including newer C# features and a lot of intresting features for the future around AOT and Tiered compilation.
Some behavior changes:
Output paths - Both tools are now output to a subdirectory of Binaries/Dotnet, I believe most hardcoded paths have been fixed up but there may be tools that will fail because of this.
UAT Plugin Building - As .NET Core does not support AppDomain unloading, how we build the plugins has changed quite a bit, these are now built before UAT is started rather then by UAT itself. If you just start UAT via RunUAT.bat/sh this should just continue to work.

#rb ben.marsh

[CL 14834347 by Joakim Lindqvist in ue5-main branch]
2020-12-02 06:57:13 -04:00
Josh Adams
0e77401f63 - Added support for a platform to use the Staging type and also filename in some circumstances the filename (could change to ONLY have the filename version of the function)
#rb andrew.grant

[CL 14822029 by Josh Adams in ue5-main branch]
2020-11-30 14:10:35 -04:00
Josh Adams
d0daf0380c - Moved valid device software (flash) versions into UEBuildPlatformSDK subclasses to put alongside the SDK version, and made them min-max
- General fixes for some platforms
- DDPI now remembers the SDK version information from Turnkey
- Updated Turnkey Launch menu to have SDK information, including device software versions,
- Moved the initial turnkey query earlier before AutoSDKs are setup so envvars are not blown away for the child process
- Added concept of "Prepare For Debugging", but not enabled on any platforms yet (what it means is per platform, and is somewhere between cooking and packaging)
- VerifySdk Turnkey command now puts its output into a (x=y, z=w) format for easier parsing in C++
- NullCopyProvider now copies large remote files, and remote directories, locally before using

[CL 14377385 by Josh Adams in ue5-main branch]
2020-09-23 11:47:14 -04:00
Josh Adams
de850319ff Turnkey:
- Added SDK installation pre/post-ambles so the platform can give user more
information on what's happening, and what to do on a failure (or a success)
- Added some defaults for Studio settings in TurnkeyManifest.xml, to show how to set in a studio's .xml file
- Added/updated some Studio settings/names
- Added bCanConnect flag to DeviceInfo (in case a platform can list devices even if they are unable to flash/run/etc - in which case the fields may or may not be correct)
- Added $(AllPlatforms) and $(AutoSDKPlatforms) built-in variables

[CL 14219769 by Josh Adams in ue5-main branch]
2020-08-31 12:05:23 -04:00
Josh Adams
18d2cc10dd - Fixed RetrieveFIleSource as used from IOSPlatform.Automation to use the new FileSource stuff instead of Custom SdkInfo
[CL 13966949 by Josh Adams in ue5-main branch]
2020-07-29 17:10:58 -04:00
Josh Adams
88c2ccf6bc Massive Turnkey refactor for simplicity for licensees:
- Moved installation from manifest.xml to Automtion platform functions
- SdkInfo has been removed, now it's just FIleSource, which can be used generically
- Redid Expansion stuff completely, so it's inline into the FileSource fields
- Added support for list expansions (so we can use a variable in the .xml instead of enumerating a CopyProvider, can speed things up)
- Allow full wildcard support in GoogleDrive provider
- Not all SDkInfos have been converted to FileSources

[CL 13965630 by Josh Adams in ue5-main branch]
2020-07-29 14:40:30 -04:00
Josh Adams
1439675a3e - Added tagged retrieval to work with regex'd tags
- Added some Turnkey settings to IOSRuntimeSettings
- Added some of the IOSRuntimeSettings to be stripped out in the IniKeyBlacklist so that passwords aren't shipped
- Fixed smb: volume mounting in Turnkey
- Changed IOS prereq validation to be driven more by the bundleid, and then will hunt down a cert that matches the "best" provision that matches the bundleid. Then, uses the bundleid (with regex) to find a cert to install via Turnkey. Full wildcards can break it, so TeamID can be used to narrow down valid provisions

[CL 13886561 by Josh Adams in ue5-main branch]
2020-07-17 16:07:26 -04:00
Josh Adams
6ff7f16d09 - Update IOS prerequisite handling (now fully interactive, even if not super smooth, with AppleScript to show dialog/Terminal windows)
- Added support for smb:// paths on Mac (mounts a volume and uses /Volumes, C# doesn't understand UNC paths)
- Updated path to .p12, and the signing identity from Apple Developer to Apple Development (as seen in latest certs)
- Added a new SdkInfo state (InvalidPrerequisites)
- Made IOS prerequisites not actually do any fixing if -UpdateIfNeeded is not specified

[CL 13864007 by Josh Adams in ue5-main branch]
2020-07-15 12:20:35 -04:00