Commit Graph

176 Commits

Author SHA1 Message Date
Joakim Lindqvist
f236ff9ae1 Reworked Automation assembly loading in netcore again, using LoadFrom could cause multiple copies of the same assembly to be loaded (once by path and once by identity) causing very confusing errors as the same types were no longer considered the same (ptr difference).
We now always load by identity and hint to our assembly resolver were to expect to find assemblies that are not in our Engine.

#rb ben.marsh

[CL 14689002 by Joakim Lindqvist in ue5-main branch]
2020-11-09 10:57:52 -04:00
Joakim Lindqvist
394b90b098 UBT changes required for netcore projects.
* Added support for more complex Msbuild conditions (using static property methods) as we use this to do per platform checks in the csprojs.
* Tweaks to the parsing of csprojs as expecations are different for netcore (mostly for how configurations are defined)
* Lastly if -dotnetcore flag is present when generating projects, use the netcore project files instead.

#rb ben.marsh

[CL 14572331 by Joakim Lindqvist in ue5-main branch]
2020-10-26 06:08:01 -04:00
Josh Adams
df33c7885f - Added file logging to GenerteProjectFiles (saved to Engine/Programs/UnrealBuildTool/Log_GPF.txt)
- Improved GPF's SDK error printouts, with no more red error text, and just a list of bad platform SDKs, and a link to the log file to get the detailed information if desired
#rb ben.marsh

[CL 14475783 by Josh Adams in ue5-main branch]
2020-10-12 18:14:03 -04:00
Josh Adams
788aad5cb0 - Updated UEBuildPlatform[SDK] to look in DDPI.ini and not bother setting up SDKs for platforms that aren't enabled (no need to print out errors for missing platform SDKs for platforms that aren't valid, like consoles on Mac)
- Streamlined the logs for bad SDK versions, especially when multiple platforms have bad SDKs
- Skip over non-enabled platforms in some Turnkey commands

[CL 14462457 by Josh Adams in ue5-main branch]
2020-10-09 13:20:15 -04:00
Joakim Lindqvist
4aa09904f2 UnrealBuildTool now supports running as a net core project.
Added a set of netcore csprojs to BuildUtilities and DotnetUtilities that build to a seperate output folder. This allows other tools to still target .net framework (like UAT for instance).
UBT is still by default targeted as .net framework.

Note that UBT built for net core has a different output directory Engine/Binaries/DotNet/UnrealBuildTool/UnrealBuildTool.exe - this is due to how a netcore project output looks with signficantly more files that are related to that application (that would be overwritten if using a shared directory).

To opt in to this set UE_USE_DOTNET=1 environment variable.
Please note that due to the changed output directory a lot of tooling will likely break at this point.

#rb ben.marsh

[CL 14419918 by Joakim Lindqvist in ue5-main branch]
2020-10-05 08:13:04 -04:00
christopher waters
f6ac73a50b Log to the console when we don't have a valid SDK. For now, only warn if the SDK is installed with the wrong version.
#rb Josh.Adams
#jira none

[CL 14388113 by christopher waters in ue5-main branch]
2020-09-24 13:00:46 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -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
Ben Marsh
03675533ea Rename UE4Game -> UnrealGame, UE4Client -> UnrealClient, UE4Server -> UnrealServer.
Mostly a find/replace, though I have looked through the changes and attempted to update references to other things as necessary (eg. renaming IOS plist files for IOS). I'm not set up to test on any platforms other than windows, and was hoping to get your blessing to submit and give QA enough time as possible to uncover issues before the next milestone release.

Particular things that I know I'm not sure about:
- Android references /UE4Game/ paths everywhere (for paths on device, I think). I have no idea if I've got them all.
- I've renamed the iOS mobileprovisions, but I don't know if they need regenerating for the new app name.
- Likewise, not sure what needs to be updated for icon bundles on iOS.

Things that have not been changed:
- Windows still uses IDI_UE4ICON for its icon
- UE4CommandLine.txt
- There's still a UE4Game module which is used by content-only projects

#rb none

[CL 14301890 by Ben Marsh in ue5-main branch]
2020-09-11 15:54:42 -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
Joakim Lindqvist
f6d7bf2fa9 Added UAT commands with helpers in DotNetUtilities for uploading and download trees of content to Jupiter (our new storage service).
#rb ben.marsh

[CL 14266118 by Joakim Lindqvist in ue5-main branch]
2020-09-07 07:28:34 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Josh Adams
860e2f7e4d - Use case insensitive comparisons int he AssemblyLocationCache as some assemblies names don't match the case of their filenames (the cache is generated by parsing the filename, not loading the assembly to get internal name)
#rb ben.marsh

[CL 14219700 by Josh Adams in ue5-main branch]
2020-08-31 11:57:10 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Ben Marsh
6ee8803dd7 Add support for passing properties to the <CsCompile> task, and fix parsing of ShooterGame project files in the BuildEditorAndTools.xml script.
#rb none
#rnx

[CL 14043020 by Ben Marsh in ue5-main branch]
2020-08-05 17:49:47 -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
Ben Marsh
32c246b956 Add additional tracing into to UAT/UBT.
#jira

[CL 13875431 by Ben Marsh in ue5-main branch]
2020-07-16 12:26:55 -04:00
Ben Marsh
0a655bd4f3 Add missing copyright notice.
#jira

[CL 13875427 by Ben Marsh in ue5-main branch]
2020-07-16 12:26:18 -04:00
Ben Marsh
b56e35dd18 Rename "Scopes" to "Spans" in exported telemetry data.
#jira

[CL 13875413 by Ben Marsh in ue5-main branch]
2020-07-16 12:24:49 -04:00
Ben Marsh
798e7ce776 Add a TraceSpan class that can be used to record timing information for UAT, and add tracing info for BuildGraph into it. Writes to a file in the directory specified by the UE_TELEMETRY_DIR environment variable.
#jira

[CL 13875408 by Ben Marsh in ue5-main branch]
2020-07-16 12:24:00 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -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
2e39adff82 - Fixed paths to known ThirdParty assemblies
#rb ben.marsh

[CL 13721810 by Josh Adams in ue5-main branch]
2020-06-19 17:05:51 -04:00
Josh Adams
12dfa939db - Moving Google Apis to Binaries/ThirdParty with Copy Local set to False in the references in UAT
- Deleted .net version DLLs that we aren't using (.net40 and .netstandard10/13)
#fyi andrew.grant,ben.marsh
#rb ben.marsh

[CL 13534400 by Josh Adams in ue5-main branch]
2020-05-24 15:49:30 -04:00