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]
- Use the binary name that matches the staged binary.
- Do not require IP if running under Linux and not starting remotely.
[CL 2538679 by Dmitry Rekman in Main branch]
- Updated to latest from Rush (encharm).
- Further simplified the install - no need to build LND locally anymore (on Ubuntu).
- Staging fixed to include LND libs.
- Added clang requirement as suggested in PR #1066 (previously clang version was up to the user).
[CL 2516336 by Dmitry Rekman in Main branch]
- This is a first pass
- Mac uses data outside the .app so that there's only one copy of the content. This should get a bootstrap executable like Windows has
- Only tested on Mac so far, although it doesn't handle D3D11 shaders, or some of the icon updating for the bootstrap working
- Added Desktop platform icons
[CL 2505866 by Josh Adams in Main branch]
- Requirement to build CrashReportClient when packaging projects on/for Linux may be non-obvious, especially for users building from sources (UE-12063).
#codereview Ben.Marsh
[CL 2485254 by Dmitry Rekman 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]
fix for Android unable to launch projects via UFE
fix for Project Launcher default roles settings not being used
TTP347511, TTP347613, TTP347768
#ue4
[CL 2311418 by Peter Sauerbrei in Main branch]
- Note: target framework for UAT (mono project) is upped to 4.5 to match UBT.
#codereview Josh.Adams, Michael.Trepka, Kellan.Carr, Gil.Gribb
[CL 2285233 by Dmitry Rekman in Main branch]
No more UE4Game, the binary will have the project project name and will be placed in <Project>/Binaries/Linux/.
TTP #338841
[CL 2276622 by Dmitry Rekman in Main branch]
- Configured by GameDir/Config/PerfCounters.json (should be deployed by UAT now).
- Shared memory regions have a name of perfcounters-of-pid-%d.
#codereview Josh.Markiewicz, Bob.Tellez, Ivan.Horvath, Josh.Adams
[CL 2272832 by Dmitry Rekman in Main branch]