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]
This allows the build to be uploaded Amazon S3 during packaging. the game http link can directly shared with other people. This does not depend on AMZ SDK and only uses REST API.
[CL 2611867 by Ankit Khare 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]
- big build products which are sent over the wire are now compressed.
- modfied HTML5Launcher to serve compressed files. Added this to the final packaged game too because python simple http server does not handle compressed files.
- combined various javascript utlity files into one.
#codereview josh.adams, james.moran
[CL 2577658 by Ankit Khare in Main branch]
- don't include debuggin info / minify development builds - cuts development binary size from 200Mb to 69Mb.
- generate symbols file
- modify template to download this symbols file on the fly on a crash and use it generate an unmangled and unminified callstack. ( we now have real callstacks for shippign builds!)
#codereview josh.adams , james.moran
[CL 2556055 by Ankit Khare in Main branch]
UPLAT-685 (Remove Virtual File System to reduce run-time memory overhead and allow for larger worlds in HTML5)
#codereview josh.adams, james.moran
[CL 2505577 by Ankit Khare in Main branch]
- Fixes to the Mac HTML5 Device selection. .app files now work correctly.
- Re-enabled HTML5 in Mac Editor.
- Added HTML5LaunchHelper executable to clean up the process of LaunchOn for HTML5.
- Improve HTML5 SDK Settings Editor interface. Only the emscripten install directory is needed now, SDK version are automatically picked up and selected for use.
- Change UnrealPak to also account for bytes saved (>64KB) and percentage size of original file (<90%) when choosing to automatically turn off compression.
- Added Server Port option for HTML5 deploy to stop clashes on port 8000
- Adding more logging for use during debugging & tracing.
- Added an option to turn on HTML5 tracing api and added calls to the api.
- Fix up check() macros to throw alert messages and be more clear that something has gone wrong on HTML5.
#codereview Ankit.Khare
[CL 2452979 by James Moran 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]
Android SDK path backslash duplication fix.
Fix for User inis not saving array properties correctly.
#codereview Ankit.Khare, Josh.Adams
[CL 2418611 by James Moran in Main branch]