Commit Graph

26 Commits

Author SHA1 Message Date
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
David Harvey
01b37b3de6 Added GetUserConfirmation to Turnkey IO provider, allowing better Yes/No prompts.
#jira UE-118572
#rb nuno.leiria
#rnx

[CL 16771619 by David Harvey in ue5-main branch]
2021-06-24 08:55:13 -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
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
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
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
24acd6cfeb - Fixed up AutoSDK on Mac in UE5
#fyi ryan.durand

[CL 14359881 by Josh Adams in ue5-main branch]
2020-09-21 17:53:19 -04:00
Josh Adams
b7ae971259 - Renamed a poorly named PlatformSDK function for AutoSDK (GetDesiredVersion -> GetMainVersion)
- Now allow AutoSDK directory name and internal version to be separate (Android only using this for now)
- Some code cleanup with associated functions

[CL 14283427 by Josh Adams in ue5-main branch]
2020-09-09 15:45:53 -04:00
Josh Adams
863cc0dfbd - Quick fix for Android SDK detection before bigger re-write in Main
#jira UE-98153
#robomerge release-5.0-m2

[CL 14282340 by Josh Adams in ue5-main branch]
2020-09-09 14:14:12 -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
441b2d296d - Close the popup windows for IOS prerequisities if there were no errors
[CL 13874312 by Josh Adams in ue5-main branch]
2020-07-16 10:04:39 -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
Josh Adams
94f4be4de1 - Renamed PlatformInfo::FPlatformInfo to PlatformInfo::FTargetPlatformInfo
- Renamed FDataDrivenPlatformRegistry::FPlatformInfo to FDataDrivenPlatformInfo
- Moved some fields from PlatformInfo::FTargetPlatformInfo to FDataDrivenPlatformInfo, and cleaned them up in the process
- Fixed the DataDrivePlatformInfo.ini files to match the previous items
- Removed FVanillaPlatformEntry, and now just using FTargetPlatformInfo to manage flavors under a vanilla PlatformInfo (see PlatformInfo::GetVanillaPlatformInfoArray())
- Cleaned up TPerPlatformValue, as it was often misused (took a group and platform name, but we can get the group from the platform name) [AnimationSharingManager.cpp, *Engine.cpp, Runtime\Engine\*, ]
- Fixed FBlueprintNativeCodeGenPaths::GetDefaultCodeGenPaths() to use IniPlatformName instead of some hacky code [BlueprintNativeCodeGenManifest.cpp]
- Fixed various Turnkey bugs that recent testing exposed
- Enabled AUTOSDKS_ENABLED in both Mac and Linux on the Editor side (not that there are much set up to use it)
- Using Turnkey to get the SDK status instead of ValidatePlatforms (gives more detailed information - may want to go back to ValidatePlatforms so only UBT is needed, but change it to give more info)
- Moved OnDeviceDiscovered and Lost delegates from each platform's TargetPlatform class to a static in ITargetPlatform - there was no need for per-platform implementations
- Started working on allowing for SDK to be installed with editor running and not need to restart editor - Work in Progress! It is not usable yet.
#fyi jack.porter
#rb pete.sauerbrei

[CL 13816905 by Josh Adams in ue5-main branch]
2020-07-01 17:07:12 -04:00
Josh Adams
ab4a48f566 - Moved UEBuildPlatformSDK into a separate DLL, BuildUtilities (similar to DotNETUtilities), allowing for better sharing of code between UBT and UAT (Turnkey in particular)
- Refactored SDK versioning into more formalized APIs for all platforms. Currently UBT will not error with bad versions, but that is coming.
- Turnkey updated to use new BuildUtilities
#rb ben.marsh

[CL 13733158 by Josh Adams in ue5-main branch]
2020-06-22 14:32:25 -04:00
Josh Adams
d7a9c8edeb - Turnkey from Editor support (install Sdk, flash devices as needed, storing Sdk info in DDPI for display in Launch On menu, etc)
- There is a second Launch dropdown button for now, the original is still there for now (quick launch of previous device will not do Turnkey at this time)
- Various platform turnkey support updates

[CL 13653953 by Josh Adams in ue5-main branch]
2020-06-09 16:36:54 -04:00
Josh Adams
ded3ab55a5 - Turnkey updates for running on Mac,
- Turnkey support for IOS (installing Xcode, installing .ipsw files, installing certs, updating and downloading provisions from Dev Center, etc) (initial version of a lot, but bare minimum working!)

[CL 13623669 by Josh Adams in ue5-main branch]
2020-06-04 17:15:23 -04:00
Josh Adams
9fcb1fb373 - Turnkey script changes for editor integration
[CL 13486475 by Josh Adams in ue5-main branch]
2020-05-21 12:25:06 -04:00
Josh Adams
c39ce85151 - Fixed Turnkey copyrights
- Latest changes

[CL 13345289 by Josh Adams in ue5-main branch]
2020-05-18 18:03:04 -04:00
Josh Adams
8bba31fece - Turnkey embracing AutoSdk system
- Added "expansion" which can find valid Sdks (to use with AutoSdk, etc)
- Added very early Build discovery to use with Gauntlet

[CL 13309975 by Josh Adams in ue5-main branch]
2020-05-14 13:55:47 -04:00
Josh Adams
fff05067b6 - Cleaned up manifest locations, finally checking in some manifests
- Epic's manifest uses google drive, with the "secrets" file pointed to via a variable in the TurnkeyManifest
- Improved caching saving/loading
- Have switchig BuildOnly Sdks working well

[CL 13240337 by Josh Adams in ue5-main branch]
2020-05-07 17:05:50 -04:00