This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
This is a preparatory change ahead of adding the ability to build NET Core projects to the CsCompile task, and subsequent conversion of NET Framework projects to NET Core. On its own, it should have no substantive visible effect.
#jira none
[CL 16008195 by jonathan adamczewski in ue5-main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2986511 on 2016/05/23 by Ben.Marsh
UdpMessaging: Force references to symbols in the files containing UDP automated tests. Since plugins are compiled into static libraries before being linked into the executable, the linker will exclude any object files which don't have any referenced symbols. In non-unity builds, or adaptive unity builds with modified test files, this results in the tests not being linked in.
Change 2993274 on 2016/05/27 by Ben.Marsh
Fix UGS enumerating deleted .target.cs files when trying to detect editor target name.
Change 2994265 on 2016/05/31 by Ben.Marsh
Add info about setting up CIS integration and zipped editor builds in UGS.
Change 2994275 on 2016/05/31 by Ben.Marsh
PR #2443: [Unreal Game Sync] Added -project so shortcut or script can hint at the project file to open. (Contributed by paulevans)
Change 2994287 on 2016/05/31 by Ben.Marsh
UnrealGameSync: Add information about how UGS self-patches and updates.
Change 2996928 on 2016/06/01 by Ben.Marsh
UnrealGameSync: Fix trying to sync files which are open for branch or move/add. They don't exist on the server yet.
Change 2997619 on 2016/06/02 by Ben.Marsh
UAT: Fix PRX files not being remapped on PS4. All non-UFS should be allowed to be remapped, and UFS files can be if we're not using a PAK file.
Change 2999769 on 2016/06/03 by Ben.Marsh
UBT: Fix codepaths which assume that the current user account has a personal folder. The SYSTEM account (which Jenkins defaults to using) does not.
Change 3004879 on 2016/06/07 by Ben.Marsh
Remove copy of AWSSDK in NotForLicensees folder.
Change 3004902 on 2016/06/07 by Ben.Marsh
UAT: Switch MCP to use version of AWSSDK that's not in a NotForLicensees folder.
Change 3005892 on 2016/06/08 by Ben.Marsh
Add the GitHub promotion to the UE4 binary release build.
Change 3016241 on 2016/06/16 by Ben.Marsh
UGS: Always sync version files at the same changelist as everything else (rather than head revision)
Change 3016446 on 2016/06/16 by Ben.Marsh
PR #2279: Use MSBuild instead of DevEnv for solution builds (Contributed by FineRedMist)
Change 3016472 on 2016/06/16 by Ben.Marsh
PR #2442: pointing to the pull requests page of the repo (Contributed by KrishMunot)
Change 3017694 on 2016/06/17 by Ben.Marsh
EC: Produce an error if trying to sync back to a changelist more than 30 days before the most recent change. Meant to catch errors in entered CL fields from the dashboard. Can be overridden by specifying --allow-old-change in the build arguments.
Change 3017695 on 2016/06/17 by Ben.Marsh
UBT: Use a well defined order for parsing configuration files, rather than ignoring one file if another has a newer timestamp. Prevents confusing behavior where settings can be present, but are completely ignored. Now prioritizes the BuildConfiguration.xml file in the My Documents/Unreal Engine/UnrealBuildTool, followed by the one in AppData/Roaming/Unreal Engine/UnrealBuildTool. Both are added to the Config section of the solution if present, under different folders.
#jira UE-24271
Change 3017698 on 2016/06/17 by Ben.Marsh
Rename the <MsBuild> task to <CsCompile>, highlighting the fact that it only actually works on .csproj files (and not .sln files or other project types).
#jira UEB-664
Change 3017701 on 2016/06/17 by Ben.Marsh
BuildGraph: Relax a lot of the restrictions relating to using output tags from nodes. Output tags may contain an arbitrary set of files, including files which are also in other tags or produced by other nodes, but will not be written to temp storage more than once. The default tagged set of files for a node (eg. #MyNodeName) now includes all build products produced by that node.
Temp storage now separates the storing of build products from the tags which reference them. A TempStorageFileList object is written for each output tag, which includes a list of files as well as a list of the storage blocks referenced by it. When a node depends on a tag, the TempStorageFileList is read first and used to determine which storage blocks to read.
All tasks now have overloaded functions for returning the tags which they modify and/or reference, and errors are produced if an existing tag is modified, or referenced without being added as an input dependency.
Change 3017714 on 2016/06/17 by Ben.Marsh
BuildGraph: Allow specifying multiple tag names in the 'Tag' attribute of build tasks (or 'With' attribute of the 'Tag' task).
Change 3018007 on 2016/06/17 by Ben.Marsh
UBT: Add sections to the target receipt listing files which are required to build using precompiled binaries (as previously generated using -generateexternalfilelist), and runtime dependencies that may be required when using precompiled binaries but aren't actually required for the current target (which previously had to be specified through InstalledEngineFilters.ini). Tested by running UBT with arguments "UE4Game Win64 Development -precompile -xgeexport" and examining target receipt.
#jira UE-28761
Change 3018322 on 2016/06/17 by Ben.Marsh
PR #2518: Improvements for Clang on Windows (Contributed by Mattiwatti)
Change 3018365 on 2016/06/17 by Ben.Marsh
Misc: Fixes for warnings compiling ShaderCompileWorker on Clang
Change 3018397 on 2016/06/17 by Ben.Marsh
UnrealVS: Add an UnrealVS command to run a single-file-compile with UBT
Change 3019421 on 2016/06/20 by Ben.Marsh
Fix compilation of FreeType on Clang for Windows - there's an fttypes.h header already in the Windows SDK, so use a relative include path instead.
Change 3019423 on 2016/06/20 by Ben.Marsh
PR #2518: Improvements for Clang on Windows (Contributed by Mattiwatti)
Change 3020377 on 2016/06/20 by Ben.Marsh
UBT: Fix strings not being escaped before writing to JSON files.
Change 3020378 on 2016/06/20 by Ben.Marsh
UBT: Exclude precompiled files from the target receipt which are outside the engine and project directories. We don't need SDK libs being added to the precompile list.
Change 3020966 on 2016/06/21 by Ben.Marsh
EC: Allow scheduling builds at a certain offset past midnight, using the schedule formatted like "Every 20m from 04:00", and add scheduled builds of target platforms for dev streams every 4 hours. Also make the meaning of "Editor Only" and "Editor, Tools & Monolithics" build names consistent between Dev streams and Main, and add a new "Editor, Tools, Monolithics & DDC" build type includes additional DDC build for //UE4/Main.
#rb none
#lockdown Nick.Penwarden
[CL 3020980 by Ben Marsh in Main branch]
==========================
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]
* 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]