Files
UnrealEngineUWP/Engine/Source/Programs/AutomationTool/SharedUtils.cs

88 lines
2.1 KiB
C#
Raw Normal View History

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;
using System.Diagnostics;
using System.Reflection;
// NOTE: This file is shared with AutomationToolLauncher. It can NOT have any references to non-system libraries
namespace AutomationTool
{
internal class SharedUtils
{
/// <summary>
/// Parses the command line string and returns an array of passed arguments.
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
/// Unlike the default parsing algorithm, this will treat \r\n characters
/// just like spaces.
/// </summary>
/// <returns>List of command line arguments.</returns>
public static string[] ParseCommandLine()
{
var CmdLine = Environment.CommandLine;
var Args = new List<string>();
StringBuilder Arg = new StringBuilder(CmdLine.Length);
bool bQuote = false;
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
int bEscape = 0;
for (int Index = 0; Index < CmdLine.Length; ++Index)
{
bool bCanAppend = true;
char C = CmdLine[Index];
if (!bQuote && Char.IsWhiteSpace(C))
{
if (Arg.Length > 0)
{
Args.Add(Arg.ToString());
Arg.Clear();
}
bCanAppend = false;
}
else if (C == '\\' && Index < (CmdLine.Length - 1))
{
// Escape character
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
bEscape++;
bCanAppend = false;
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3058348) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2982033 on 2016/05/18 by Chad.Garyet Checking in progress on the ue4 BuildGraph conversion. Builds and Compiles editor and game on all platforms Builds DDC on win64 and mac Builds Tools on win64 Change 3047983 on 2016/07/13 by Ben.Marsh PR #2597: Fix P4 environment used for running BuildUGS commandlet (Contributed by paulevans) Change 3048267 on 2016/07/13 by Ben.Marsh BuildGraph: Allow more permissive list of characters for node names; just restrict against characters which are illegal in filenames. Allows creating aggregate names which match job names (eg. "Editor, Tools & Monolithics"). Change 3048293 on 2016/07/13 by Ben.Marsh BuildGraph: Allow passing -listonly without a specific -target=... parameter in BuildGraph, to see the contents of the entire script. Change 3048454 on 2016/07/13 by Ben.Marsh BuildGraph: Disable output of error messages when just printing the contents of the graph. Change 3048507 on 2016/07/13 by Ben.Marsh BuildGraph: Rename "Ticket" to "Token" for files used to ensure exclusive access to run part of a build. Change 3049459 on 2016/07/14 by Matthew.Griffin Updated location of HTML5 SDKs for Installed Builds #jira UE-32171 Change 3049675 on 2016/07/14 by Matthew.Griffin Ensured that all platforms are registered when running -validateplatform command #jira UE-31082 Change 3049922 on 2016/07/14 by Ben.Marsh UBT: Fix path to XML config file in boilerplate message. Change 3051483 on 2016/07/15 by Ben.Marsh EC: Remove code to prettify node names, now that we can have pretty node names explicitly. Change 3051522 on 2016/07/15 by Ben.Marsh BuildGraph: Change spawn task to fail if a non-zero exit code is returned by an external program. The minimum exit code to be treated as an error can be set using the "ErrorLevel" attribute, similar to ERRORLEVEL in DOS. Change 3051770 on 2016/07/15 by Ben.Marsh UGS: Add support for narrowing virtual streams; fetch event and precompiled binaries for parent stream instead. Change 3052990 on 2016/07/17 by Ben.Marsh Show the names of people with notifications disabled in the heading of failure emails, so it's clear that they're not on CC. Change 3053556 on 2016/07/18 by Ben.Marsh BuildGraph: Add a explicit <Option> tag instead of the <Property Default=""/> shenanigans, so that properties that are meant to be modified by the user are listed explicitly. Supported attributes are "DefaultValue" (which specifies a default if the user does not set it on the command line), "Description" (which explains the purpose of the option to users, which is displayed in a table when BuildGraph is invoked with the -listonly argument), and "Restrict" (which specifies a regex to validate an argument supplied by the user). Also add an <EnvVar Name="Blah"/> tag which imports the given environment variable as a property (or sets it to "" if it doesn't exist), and rename the <Choose>/<Option>/<Otherwise> triple to <Switch>/<Case>/<Default> to avoid confusion with the new <Option> tag. Change 3053688 on 2016/07/18 by Ben.Marsh Update build scripts to link to p4-swarm rather than p4-web in dashboard pages and notification emails. Change 3054039 on 2016/07/18 by Ben.Marsh Fix confusing message when compiler isn't installed if the target forces VS2013 Change 3054360 on 2016/07/18 by Ben.Marsh Remove GUBP support from EC scripts. Change 3054399 on 2016/07/18 by Ben.Marsh Remove circular include from Json.h -> JsonSerializerMacros.h -> Json.h Change 3055671 on 2016/07/19 by Ben.Marsh Remove incomplete UWP integration from UE4. Change 3055943 on 2016/07/19 by Ben.Marsh Remove the WinRT target platform. Change 3056270 on 2016/07/19 by Ben.Marsh Core: Move VectorRegister.h include to eliminate include dependency on UnrealMathUtility.h Change 3056390 on 2016/07/19 by Ben.Marsh Core: Directly include headers required by default JsonWriter template instantiation. Change 3057444 on 2016/07/20 by Ben.Marsh UBT: Fall back to checking for the VS140COMNTOOLS environment variable if we couldn't determine the Visual Studio installation directory from the registry. Allows using the standalone Visual Studio build tools to compile UE4. Change 3058337 on 2016/07/20 by Ben.Marsh Remove EnvVarsToXML. All target platforms now determine their compile environment directly from the registry. Change 3058348 on 2016/07/20 by Ben.Marsh Disable optimization for all automation projects. They don't generally do anything particularly CPU intensive, and VS2015 optimizations are inhibitive to debugging. [CL 3058822 by Ben Marsh in Main branch]
2016-07-20 20:25:02 -04:00
else if(bEscape == 0 && C == '^' && Index + 1 < CmdLine.Length && CmdLine[Index + 1] == '&')
{
// Visual studio seems to escape ampersands as if for a batch file when running UAT *without* the debugger attached (ie. ctrl-f5)
Index++;
C = CmdLine[Index];
}
else if (C == '\"')
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
bCanAppend = bEscape > 0;
if (bEscape == 0)
{
bQuote = !bQuote;
}
else
{
// Consume the scape character
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
bEscape--;
}
}
if (bCanAppend)
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
if (bEscape > 0)
{
// Unused escape character.
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x). Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory. Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning. Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core Further Realloc savings when realigning within a block. Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up. Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core Sort UHT modules by type to improve iteration times in conjunction with makefiles. Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core UHT error messages about missing GENERATED_BODY() macros updated to represent intended use. Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core Module types split into Game and Engine runtime versions. Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 StaticLoadObject will now respect LOAD_NoRedirects flag. Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore #UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443 Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core Removal of stats from MallocBinned2, to be readded later. Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core Clarification of some bucket hashing terminology. Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core Fix for a missing root build path on game modules. Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core Move FMalloc verification into a proxy object. Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix). Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core Simplification of MemSizeToPoolTable indexing. Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core Assert fixed. AllocateBlockFromPool's return value made debuggable. Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core UHT now returns an error code on a warning when -warningsaserrors is specified. Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241. Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core GitHub #1938 - wrong Max value of enum is used during net serialization Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps. Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core Generalized large pool allocations. More redundancy removed. Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB Added UserActivity property to crash description in CRP and CR website. [OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter DB column added to db-09 by ColinR matching this change. Published to server on Jan 18th 2016 Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB Added Linux to normal callstack parsing code on CR website [UE-25527] - Linux CrashReporter is missing information Published to server on Jan 19th 2016 Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal Fix issue for cancelling package loads when there are still packages queued. Call their PackageLoadedDelegate with a "Cancelled" result. Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()" - (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued) Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB CrashReportWebsite - fix exception thrown when parsing certain callstack formats Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance. Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 [CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
Arg.Append('\\', bEscape);
bEscape = 0;
}
Arg.Append(C);
}
}
if (Arg.Length > 0)
{
Args.Add(Arg.ToString());
}
// This code assumes that the first argument is the exe filename. Remove it.
Args.RemoveAt(0);
return Args.ToArray();
}
}
}