==========================
MAJOR FEATURES + CHANGES
==========================
Change 2828332 on 2016/01/14 by Matthew.Griffin
Ensure that warnings from Dynamic Compilation of build.cs files are propagated up to user when compiling in Visual Studio etc.
Change 2828335 on 2016/01/14 by Matthew.Griffin
Renaming AddThirdParty... functions to AddEngineThirdParty... so it's clear we're talking about third party libraries within the engine directory. This removes another couple of RunningRocket checks and uses the IsMonolithic property now.
Change 2831365 on 2016/01/16 by Ben.Marsh
Add a UAT command to remove any temp storage directories older than a specified length of time, and disable the GUBP node to do so when running with -NewEC. Better to set this up as a separate scheduled task for each temp storage folder we have, rather than run it as part of GUBP builds above a certain size.
Change 2832166 on 2016/01/18 by Ben.Marsh
Make INI file parsing much more tolerant to errors, because it prevents the build system from starting up. Now outputs warnings rather than throwing exceptions.
Change 2835725 on 2016/01/20 by Matthew.Griffin
Removed more uses of RunningRocket functions
Switch Linux staging check to see if required files exist until switched to using receipts
Always stage CrashReporter for Linux
Mac and Linux will not use Compile Lean And Mean when generating project files
Allow normal DynamicCompilation check to occur in binary builds
Allow XMPP dependency on WebRTC now that it's publically distributed
Change 2835864 on 2016/01/20 by Matthew.Griffin
Made sure -rocket is passed when generating project files as this has to work from UnrealVersionSelector with every version of the Engine we've released.
Also tidied up some arguments that are set in UVS and never used.
Change 2839932 on 2016/01/22 by Matthew.Griffin
Removed last uses of RunningRocket from UnrealBuildTool
Changed Mac Build.sh so that it doesn't try to build UBT so that it can be used in installed builds the same way as windows.
Combined code doing very similar things for single games and rocket projects.
Removed check on whether to add client and server targets in Rocket as we don't distribute the .target.cs files.
Removed RunningRocket function and the code checking for -rocket on the command line
Change 2846971 on 2016/01/28 by Matthew.Griffin
Replaced RunningRocket with IsEngineInstalled for all Engine programs that won't need to be built.
Change 2853879 on 2016/02/03 by Matthew.Griffin
Added UnrealLightmass to list of programs to build when Build Solution is used and Editor configuration is selected
#jira UE-25666
#lockdown Nick.Penwarden
[CL 2854567 by Ben Marsh in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2718441 on 2015/10/06 by Ben.Marsh@Ben.Marsh_T3245_Stream
Allow nodes to be added with an "explicit" frequency, meaning that they'll only be part of manually triggered builds (not CIS).
Change 2718698 on 2015/10/06 by Ben.Marsh@Ben.Marsh_T3245_Stream
Add a type of node that can execute an arbitrary sequence of tasks, and allow constructing graphs of such nodes from an XML file.
Change 2723013 on 2015/10/09 by Ben.Marsh@Ben.Marsh_T3245_Stream
Small utility to quickly capture a workspace, or delete files to restore the workspace to a previously captured state (and output a p4 sync list to restore it)
Change 2744521 on 2015/10/28 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream
Adding config entries to determine which platforms/configurations are available
Currently only written out as part of the Rocket Build process but could be done elsewhere for other types of installed build.
A near identical singleton class is used in both C++ and C# to load the config section and check whether configuration/platform combinations are valid.
Change 2773723 on 2015/11/19 by Ben.Marsh@Ben.Marsh_T3245_Stream
Copying UnrealGameSync into Engine/Source/Programs.
Change 2773914 on 2015/11/19 by Ben.Marsh@Ben.Marsh_T3245_Stream
PR #1687: [GitDependencies] New feature: ignore file support (.gitdepsignore) (Contributed by nbjk667)
Change 2775317 on 2015/11/20 by Ben.Marsh@Ben.Marsh_T3245_Stream
Add a -listtps option to UBT, which will find all the TPS files in any directory that's compiled into a target.
Change 2780832 on 2015/11/25 by Ben.Marsh@Ben.Marsh_T3245_Stream
Allow compiling a single file in UBT. Pass -singlefile=<Path> on command line to UBT to use.
Change 2781071 on 2015/11/25 by Ben.Marsh@Ben.Marsh_T3245_Stream
Precompile all valid engine modules for Rocket by default. Modules may set the PrecompileForTargets field to control which configurations they should be compiled for. Modules which currently fail to compile have this set to
PrecompileTargetsType.None.
#codereview Matthew.Griffin
Change 2784469 on 2015/12/01 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream
Added -FastPDB commandline parameter for UBT, so that we can make use of the /DEBUG:FASTLINK option in VS2015
Change 2784722 on 2015/12/01 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream
Made -FastPDB option part of BuildConfiguration instead of checking commandline at each place it's used. Also added option to override if someone doesn't want it automatically added to their project files.
Change 2787501 on 2015/12/02 by Ben.Marsh@Ben.Marsh_T3245_Stream
Restore change to gather VC environment directly from registry.
#lockdown Nick.Penwarden
[CL 2790002 by Ben Marsh in Main branch]
we now use an enum similar to UE4 with Fatal, Error, Warning, Display, Log, Verbose, and VeryVerbose
Log will only go to the log file unless -verbose is passed on the command line
reduced some of the output from UAT to be Log only
[CL 2631062 by Peter Sauerbrei in Main branch]
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]