UEB-261 - Ensure that compiling AutomationTool in VS will compile all other Automation Projects
* Just set AutomationTool as your startup project and pass the command to execute.
* VS will build the script modules at build time, instead of every time at runtime.
* To make this happen, "UBT.exe -ProjectFiles" now generates a companion AutomationTool.csproj.References that make AutomationTool depend on all Automation modules.
* AutomationTool.exe defaults to not building script modules at runtime. Pass -compile if you want to dynamically build them.
* Without the .references file, AutomationTool will only build itself and you will need to pass -compile.
* RunUAT.bat still works that same, defaulting to runtime compilation and supporting -nocompile flag. It then passes -compile (or nothing) to AutomationTool.
Other
* All Automation projects target .Net 4.5. Some already were and had hard dependencies on them (Rocket and SyncGithub -> Octokit). Now that AutomationTool directly depends on them, everything had to use .Net 4.5.
* Decoupled logic for -NoCompile and -NoCompileEditor. The flags are still confusing, but -NoCompile is no longer linked to -NoCompileEditor.
* Had to leave in stub support in UAT for -NoCompile else RunUAT.bat passes it along and UAT complains that it doesn't understand it.
* Added a CommandUtils.Run option to support run command, but still output the run duration.
* Reduced the verbosity when UAT.proj is run from dozens of lines per module to a single Module -> Output line. It was looking like there were problems, but it was just msbuild spew.
#codereview:ben.marsh
[CL 2615060 by Wes Hunt in Main branch]
* Remove ErrorReporter.Error, replace with AutomationException with Error Code.
* Move ErrorCodes to AutomationException.
* Don't return exit codes. Solely rely on exceptions to propagate exit codes.
* Remove MainProc delegate
* Remove setting of Environment.ExitCode as it is ignored when main returns an int.
* ShutdownLogging is nothrow, as all exceptions would be ignored anyway.
* Wrap all shutdown steps so further ones get a chance to run.
* Move HostPlatform.Initialize into the global try/catch block
#codereview:ben.marsh
[CL 2605826 by Wes Hunt in Main branch]
- Changed logic for dealing with the download activity being backed out of
- Updated .bat file writing so that a second bat file which doesn't push the obb (but can remove it) is written
[CL 2581067 by Robert Jones in Main branch]
- Changed MakeAPK loop so that it can deal with multiple manifests
- Removed ability to make a Fat APK from same code as we don't/won't use it
[CL 2566503 by Robert Jones in Main branch]
- Changes deploy script back to old method
- Added code to deal with multiple OBB files for release vs dev and gives the user an option to use one (the other is removed from the device)
[CL 2542717 by Robert Jones in Main branch]
- Code additions to download data from Google Play Store if not on device
- Changes deploy to write new meta-data
- Changes to Android deploy to cache ini files once and re-read instead of the constant open/read we had
- Added template/code generation system so we can now generate Java files based on a template for project dependent names etc
[CL 2521147 by Robert Jones in Main branch]
exclude copying movie uassets or umaps (they will be cooked and copied to staging)
#ue4
#android
#codereview Peter.Sauerbrei
[CL 2494654 by Chris Babcock in Main branch]
- Moved HighQualityLightmap support check to IOSTargetPlatform so it can check project settings for Metal support
- Fixed some issues running on an x86_64 device
- Cleaned up some unused functions in TargetPlatform
#codereview niklas.smedberg
[CL 2478853 by Josh Adams in Main branch]
- all projects are now deployed to a subdirectory of UE4Game when launching
Related to OBB support changes. (Futher changes to follow)
- File name for OBB is now of format main.1.<details> rather than main.00001.<details> due to Google Play file naming requirements.
[CL 2458323 by Robert Jones in Main branch]
Added an error code for missing ue4game binaries when packaging a non code project.
Added a check in main frame actions to determine whether we display a dialog with the error message in it.
Fix for incorrect IOS stub path being logged
Fix for incorrect Android apk path being generated for non ue4game renames in ::GetFinalApkName
[CL 2427458 by Terence Burns in Main branch]
- Removed all the OBBInAPK hackery in UBT
- Updated the apk install scripts with some more information as to what it's doing [UE-8258]
[CL 2420664 by Josh Adams in Main branch]
- Added class to hold values (AndroidSDKSettings)
- Added code to Android editor module to setup the values on load
- Changed device detection so that the thread is always started and the SDK path can be changed on the fly
- Changed Platform Target Management Module so that a single platform can be checked via UBT
- Settings can now be sourced from an ini file via temp direct reading code (auto seralisation is disabled until later changes are made)
-- Settings currently not exposed in editor
- Added Mac Environment var setting support
Unreleated
- Envars can now be passed down to process start points in tools
#codereview michael.trepka
[CL 2412194 by Robert Jones in Main branch]