Commit Graph

38 Commits

Author SHA1 Message Date
eric mcdaniel
2c802f8b37 Turnkey: Fix for determining supported device software versions
- issue
  - turnkey verifysdk command is not returning the supported device software version ranges for platforms without specific version ranges per device type
    - this also causes it to not report the current software version on the device
  - the editor uses this turnkey command so it is currently unable to report current or supported device software ranges for some platforms

- fix
  - turnkey verifysdk command now queries for supported device software range for the specific device type
    - if no supported version range is found, it then queries for device type independent versions for that platform

- testing
  - edtior now correctly reports software versions for Windows as well as some NDA'd platform devices

#rb David.Harvey
#jira none
#preflight 641216883c2db40029533b40

[CL 24669703 by eric mcdaniel in ue5-main branch]
2023-03-16 08:47:32 -04:00
eric mcdaniel
391d5185c3 Turnkey: Turnkey and editor support for controlling auto software update modes on platform devices
- this change just adds support to Turnkey and the editor UI to expose this support for supported platforms
  - follow on changes will be required to support the feature on a given platform

- Turnkey now tracks the auto software update mode per device
  - unknown/enable/disable
    - will be unknown for devices which do not support auto software updates or platforms which have not yet implemented support
- new UAT platform method SetDeviceAutoSoftwareUpdateMode() must be implemented for supporting platforms
- new Turnkey command DeviceAutoSoftwareUpdates for changing auto software update state on a device
- edtior exposes this functionality under the device entries in the platforms menu
  - devices which support auto software updates will expose an "Enable auto software updates" check box item in their Sdk Info menu
    - toggling this checkbox changes the auto software update policy on the device

#rb David.Harvey, Wojciech.Krywult
#jira UE-160691
#preflight 64012d69d249add4a205fe9c, 64078e72aa0042333551c821

[CL 24552009 by eric mcdaniel in ue5-main branch]
2023-03-07 19:11:50 -05:00
David Harvey
6b48bf288e Turnkey indicates to the platform whether an SDK is already installed when getting the install command, for platforms that need to handle this as a special case (uninstalling the current version, for example).
#jira UE-157918
#rnx
#rb Nuno.Leiria
#preflight 62d66d38185da2495f8281c3

[CL 21159722 by David Harvey in ue5-main branch]
2022-07-19 05:00:41 -04:00
David Harvey
37cb06fcf9 Platform SDK "Force Reinstall Sdk" is only shown in the editor if the 'best' SDK version is already selected, otherwise it shows 'Update Sdk'.
- note: 'best' is approximated as either MainVersion or MaxVersion to avoid touching the sdk file sources on editor startup.

#jira UE-158165
#rb Brian.White, Nuno.Leiria
#rnx
#preflight 62d53617f156340c79b0d02d

[CL 21145740 by David Harvey in ue5-main branch]
2022-07-18 06:38:28 -04:00
David Harvey
a9b875d704 Turnkey fast SDK switching is only attempted after the best version has been selected from the file source. This avoids re-downloading & re-installing an SDK unnecessarily.
#jira UE-157382
#rb Brian.White
#preflight 62bc0a773771c5710de2eb27

[CL 20871677 by David Harvey in ue5-main branch]
2022-06-29 04:21:44 -04:00
Josh Adams
5bd689a00d - FIxed a Turnkey bug where flags weren't surrounded in quotes, so the editor wasn't parsting all of the flags properly
#jira none
#rb trivial
#preflight skip

[CL 20053659 by Josh Adams in ue5-main branch]
2022-05-04 20:43:36 -04:00
Josh Adams
604aec8368 - Allow for multiple full sdks for a platform (uses a new SDKCollection class to gather sdk versions and their validityt, etc)
- Windows will be first to use it, but in a future CL, with toolchain separate from Windows SDK
- Cleaned up some of the PlatformSDK API to have fewer public members (mainly so the functions that receive multiple versions can be automatically populated with the current single version functions in the subclasses)
- Updated the Turnkey menu to handle multiple versions

#jira none
#rb david.harvey
#preflight 62508cd8f10bcc0f4fa8b5d1

[CL 19692492 by Josh Adams in ue5-main branch]
2022-04-08 15:34:51 -04:00
dave hunter
f3ae77f168 Prevent exceptions from propagating when verifying sdks
An exception was getting thrown on the Mac when checking for hololens when looping through all possible platforms.  I felt the safest option was to prevent any exceptions when checking for SDK versions, that way we can simply treat the SDK as not present if an exception occurs.

#rb will.damon
#jira UE-135899
#preflight n/a

#ROBOMERGE-AUTHOR: dave.hunter
#ROBOMERGE-SOURCE: CL 18806616 in //UE5/Release-5.0/... via CL 18808573 via CL 18822182
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18822494 by dave hunter in ue5-main branch]
2022-02-02 02:46:19 -05:00
david harvey
5c7a628097 Turnkey will show the current device software version when updating.
#jira UE-139445
#rnx
#rb Eric.McDaniel
#preflight 61ead7dae4313f36f01ceff6

#ROBOMERGE-AUTHOR: david.harvey
#ROBOMERGE-SOURCE: CL 18690055 in //UE5/Release-5.0/... via CL 18690062 via CL 18690071
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18690077 by david harvey in ue5-main branch]
2022-01-21 11:08:21 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
dmytro vovk
cd4ffa251e Cache Turnkey veryfication results to reduce iteration times
#rb Nuno.Leiria
#jira UE-113865

#ROBOMERGE-SOURCE: CL 17223681 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17223690 by dmytro vovk in ue5-release-engine-test branch]
2021-08-18 18:06:57 -04:00
jonathan adamczewski
55f53bcc8b ExitCode:
Move enum from AutomationUtils.Automation to BuildUtilities

#jira none
#trivial
#preflight 60ca8a3d78c3b00001f86b24

#ROBOMERGE-SOURCE: CL 16701095 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16701097 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-17 01:49:34 -04:00
josh adams
98aadf5c36 - Categorized Turnkey commands
- Added ability to have input list options be headers (prefix with ;)
#rb nuno.leiria

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

[CL 15472224 by josh adams in ue5-main branch]
2021-02-19 11:59:55 -04:00
rolando caloca
9adc4e68d0 UE5EA - Fix Turnkey crash with null PossiblePlatforms
Fix a typo
#rb Josh.Adams

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

[CL 15389456 by rolando caloca in ue5-main branch]
2021-02-11 13:47: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
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
dbdede82f3 - C# Turnkey now uses ID, not Name, for proper connection to editor turnkey calls
- Changed RunLocal* functions in UnrealBuildTools.Utils to use UTF-8 stdout
- IOS device detection (TVOS needs some testing still)
#rb jack.porter,axel.riffard

[CL 15277910 by Josh Adams in ue5-main branch]
2021-02-01 22:36:31 -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
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
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
Josh Adams
ce7af5910c - Stopped returning SDKNotFound for bad SDKs in VerifySDK, because it's not an actual error case, it's normal operation. Trying to install an SDK and that failing can still return errors
#review-15051866 devin.doucette

[CL 15051923 by Josh Adams in ue5-main branch]
2021-01-12 13:35:42 -04:00
Josh Adams
d02e3bec0b - Fixed crash with getting SDK info on legacy NDA platforms when the Platforms directory doesn't exist
#rb devin.doucette

[CL 15051428 by Josh Adams in ue5-main branch]
2021-01-12 12:49:05 -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
Josh Adams
60c8673e12 - Updated Turnkey studio settings (split into separate .xml file so it can be read without trying to hunt down server files, added idea of what platforms are supported by the studio). Set Epic settings
- Return more info from Turnkey so callers can know if Turnkey can install full or autosdks (based on studio settings)
- Added idea of project settings having custom builds that can be run from Turnkey (and with a later checkin, Platforms menu in the editor)
#rb ben.marsh (just the code that chains Automation commands, as seen in ExecuteBuild)

[CL 14916239 by Josh Adams in ue5-main branch]
2020-12-14 14:46:33 -04:00
Josh Adams
57691b9c28 - Locally copied remote files are now remembered so won't be re-downloaded within one run of Turnkey (helps if updating multiple devkits with windows share sources)
- Don't attempt to install an flash SDK on a device that can't be connected to

[CL 14386709 by Josh Adams in ue5-main branch]
2020-09-24 10:31:16 -04:00