Files
UnrealEngineUWP/Engine/Source/Programs/AutomationTool/BuildGraph/Script.cs

1299 lines
42 KiB
C#
Raw Normal View History

Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq;
using UnrealBuildTool;
using AutomationTool;
using System.Reflection;
using System.Diagnostics;
using System.Xml.Schema;
namespace AutomationTool
{
/// <summary>
/// Implementation of XmlDocument which preserves line numbers for its elements
/// </summary>
class ScriptDocument : XmlDocument
{
/// <summary>
/// The file being read
/// </summary>
FileReference File;
/// <summary>
/// Interface to the LineInfo on the active XmlReader
/// </summary>
IXmlLineInfo LineInfo;
/// <summary>
/// Set to true if the reader encounters an error
/// </summary>
bool bHasErrors;
/// <summary>
/// Private constructor. Use ScriptDocument.Load to read an XML document.
/// </summary>
ScriptDocument(FileReference InFile)
{
File = InFile;
}
/// <summary>
/// Overrides XmlDocument.CreateElement() to construct ScriptElements rather than XmlElements
/// </summary>
public override XmlElement CreateElement(string Prefix, string LocalName, string NamespaceUri)
{
return new ScriptElement(File, LineInfo.LineNumber, Prefix, LocalName, NamespaceUri, this);
}
/// <summary>
/// Loads a script document from the given file
/// </summary>
/// <param name="File">The file to load</param>
/// <param name="Schema">The schema to validate against</param>
/// <param name="OutDocument">If successful, the document that was read</param>
/// <returns>True if the document could be read, false otherwise</returns>
public static bool TryRead(FileReference File, ScriptSchema Schema, out ScriptDocument OutDocument)
{
ScriptDocument Document = new ScriptDocument(File);
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
XmlReaderSettings Settings = new XmlReaderSettings();
Settings.Schemas.Add(Schema.CompiledSchema);
Settings.ValidationType = ValidationType.Schema;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
Settings.ValidationEventHandler += Document.ValidationEvent;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
using (XmlReader Reader = XmlReader.Create(File.FullName, Settings))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
// Read the document
Document.LineInfo = (IXmlLineInfo)Reader;
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
try
{
Document.Load(Reader);
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
catch (XmlException Ex)
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (!Document.bHasErrors)
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
{
CommandUtils.LogError("{0}", Ex.Message);
Document.bHasErrors = true;
}
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
// If we hit any errors while parsing
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Document.bHasErrors)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
OutDocument = null;
return false;
}
// Check that the root element is valid. If not, we didn't actually validate against the schema.
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Document.DocumentElement.Name != ScriptSchema.RootElementName)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
CommandUtils.LogError("Script does not have a root element called '{0}'", ScriptSchema.RootElementName);
OutDocument = null;
return false;
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Document.DocumentElement.NamespaceURI != ScriptSchema.NamespaceURI)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
CommandUtils.LogError("Script root element is not in the '{0}' namespace (add the xmlns=\"{0}\" attribute)", ScriptSchema.NamespaceURI);
OutDocument = null;
return false;
}
}
OutDocument = Document;
return true;
}
/// <summary>
/// Callback for validation errors in the document
/// </summary>
/// <param name="Sender">Standard argument for ValidationEventHandler</param>
/// <param name="Args">Standard argument for ValidationEventHandler</param>
void ValidationEvent(object Sender, ValidationEventArgs Args)
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Args.Severity == XmlSeverityType.Warning)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
CommandUtils.LogWarning("{0}({1}): {2}", File.FullName, Args.Exception.LineNumber, Args.Message);
}
else
{
CommandUtils.LogError("{0}({1}): {2}", File.FullName, Args.Exception.LineNumber, Args.Message);
bHasErrors = true;
}
}
}
/// <summary>
/// Implementation of XmlElement which preserves line numbers
/// </summary>
class ScriptElement : XmlElement
{
/// <summary>
/// The file containing this element
/// </summary>
public readonly FileReference File;
/// <summary>
/// The line number containing this element
/// </summary>
public readonly int LineNumber;
/// <summary>
/// Constructor
/// </summary>
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
public ScriptElement(FileReference InFile, int InLineNumber, string Prefix, string LocalName, string NamespaceUri, ScriptDocument Document)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
: base(Prefix, LocalName, NamespaceUri, Document)
{
File = InFile;
LineNumber = InLineNumber;
}
}
/// <summary>
/// Reader for build graph definitions. Instanced to contain temporary state; public interface is through ScriptReader.TryRead().
/// </summary>
class ScriptReader
{
/// <summary>
/// The current graph
/// </summary>
Graph Graph = new Graph();
/// <summary>
/// Mapping of global property name to values.
/// </summary>
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
Dictionary<string, string> GlobalProperties = new Dictionary<string, string>();
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// <summary>
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
/// List of property name to value lookups. Modifications to properties are scoped to nodes and agents. EnterScope() pushes an empty dictionary onto the end of this list, and LeaveScope() removes one.
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// ExpandProperties() searches from last to first lookup when trying to resolve a property name, and takes the first it finds.
/// </summary>
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
List<Dictionary<string, string>> ScopedProperties = new List<Dictionary<string, string>>();
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// <summary>
/// Schema for the script
/// </summary>
ScriptSchema Schema;
/// <summary>
/// The number of errors encountered during processing so far
/// </summary>
int NumErrors;
/// <summary>
/// Private constructor. Use ScriptReader.TryRead() to read a script file.
/// </summary>
/// <param name="Properties">Predefined property name to value mapping</param>
/// <param name="InSchema">Schema for the script</param>
private ScriptReader(IDictionary<string, string> Properties, ScriptSchema InSchema)
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
GlobalProperties = new Dictionary<string, string>(Properties, StringComparer.InvariantCultureIgnoreCase);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
ScopedProperties.Add(GlobalProperties);
Schema = InSchema;
}
/// <summary>
/// Try to read a script file from the given file.
/// </summary>
/// <param name="File">File to read from</param>
/// <param name="DefaultProperties">Manually defined properties to parse the graph with</param>
/// <param name="InSchema">Schema for the script</param>
/// <param name="Graph">If successful, the graph constructed from the given script</param>
/// <returns>True if the graph was read, false if there were errors</returns>
public static bool TryRead(FileReference File, IDictionary<string, string> DefaultProperties, ScriptSchema Schema, out Graph Graph)
{
// Check the file exists before doing anything.
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (!File.Exists())
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
CommandUtils.LogError("Cannot open '{0}'", File.FullName);
Graph = null;
return false;
}
// Read the file and build the graph
ScriptReader Reader = new ScriptReader(DefaultProperties, Schema);
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Reader.TryRead(File) && Reader.NumErrors == 0)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Graph = Reader.Graph;
return true;
}
else
{
Graph = null;
return false;
}
}
/// <summary>
/// Read the script from the given file
/// </summary>
/// <param name="File">File to read from</param>
bool TryRead(FileReference File)
{
// Read the document and validate it against the schema
ScriptDocument Document;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (!ScriptDocument.TryRead(File, Schema, out Document))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
NumErrors++;
return false;
}
// Read the root BuildGraph element
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
ReadGraphBody(Document.DocumentElement, File.Directory);
return true;
}
/// <summary>
/// Reads the contents of a graph
/// </summary>
/// <param name="Element">The parent element to read from</param>
/// <param name="BaseDirectory">Base directory to resolve includes against</param>
void ReadGraphBody(XmlElement Element, DirectoryReference BaseDirectory)
{
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
EnterScope();
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
foreach (ScriptElement ChildElement in Element.ChildNodes.OfType<ScriptElement>())
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
switch (ChildElement.Name)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
case "Include":
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
ReadInclude(ChildElement, BaseDirectory);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
break;
case "Property":
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
ReadProperty(ChildElement);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
break;
case "Local":
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
ReadLocalProperty(ChildElement);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
break;
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
case "Agent":
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
ReadAgent(ChildElement, null);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
break;
case "Aggregate":
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
ReadAggregate(ChildElement);
break;
case "Report":
ReadReport(ChildElement);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
break;
case "Notify":
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
ReadNotifier(ChildElement);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
break;
case "Trigger":
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
ReadTrigger(ChildElement);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
break;
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
case "Warning":
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
ReadDiagnostic(ChildElement, LogEventType.Warning, null, null, null);
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
break;
case "Error":
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
ReadDiagnostic(ChildElement, LogEventType.Error, null, null, null);
break;
case "Do":
ReadBlock(ChildElement, x => ReadGraphBody(x, BaseDirectory));
break;
case "Choose":
ReadChoice(ChildElement, x => ReadGraphBody(x, BaseDirectory));
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
break;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
default:
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
LogError(ChildElement, "Invalid element '{0}'", ChildElement.Name);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
break;
}
}
LeaveScope();
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
/// <summary>
/// Handles validation messages from validating the document against its schema
/// </summary>
/// <param name="Sender">The source of the event</param>
/// <param name="Args">Event arguments</param>
void ValidationHandler(object Sender, ValidationEventArgs Args)
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Args.Severity == XmlSeverityType.Warning)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
CommandUtils.LogWarning("Script: {0}", Args.Message);
}
else
{
CommandUtils.LogError("Script: {0}", Args.Message);
NumErrors++;
}
}
/// <summary>
/// Push a new property scope onto the stack
/// </summary>
void EnterScope()
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
ScopedProperties.Add(new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase));
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
/// <summary>
/// Pop a property scope from the stack
/// </summary>
void LeaveScope()
{
ScopedProperties.RemoveAt(ScopedProperties.Count - 1);
}
/// <summary>
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
/// Reads the definition for a trigger.
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
void ReadTrigger(ScriptElement Element)
{
string[] QualifiedName;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (EvaluateCondition(Element) && TryReadQualifiedObjectName(Element, out QualifiedName))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
// Validate all the parent triggers
ManualTrigger ParentTrigger = null;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
for (int Idx = 0; Idx < QualifiedName.Length - 1; Idx++)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
ManualTrigger NextTrigger;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (!Graph.NameToTrigger.TryGetValue(QualifiedName[Idx], out NextTrigger))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
LogError(Element, "Unknown trigger '{0}'", QualifiedName[Idx]);
return;
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (NextTrigger.Parent != ParentTrigger)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
LogError(Element, "Qualified name of trigger '{0}' is '{1}'", NextTrigger.Name, NextTrigger.QualifiedName);
return;
}
ParentTrigger = NextTrigger;
}
// Get the name of the new trigger
string Name = QualifiedName[QualifiedName.Length - 1];
// Create the new trigger
ManualTrigger Trigger;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (!Graph.NameToTrigger.TryGetValue(Name, out Trigger))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Trigger = new ManualTrigger(ParentTrigger, Name);
Graph.NameToTrigger.Add(Name, Trigger);
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
else if (Trigger.Parent != ParentTrigger)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
LogError(Element, "Conflicting parent for '{0}' - previously declared as '{1}', now '{2}'", Name, Trigger.QualifiedName, new ManualTrigger(ParentTrigger, Name).QualifiedName);
return;
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
// Read the child elements
ReadTriggerBody(Element, Trigger);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
/// <summary>
/// Reads the body of a trigger element
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
void ReadTriggerBody(XmlElement Element, ManualTrigger Trigger)
{
EnterScope();
foreach (ScriptElement ChildElement in Element.ChildNodes.OfType<ScriptElement>())
{
switch (ChildElement.Name)
{
case "Property":
ReadProperty(ChildElement);
break;
case "Local":
ReadLocalProperty(ChildElement);
break;
case "Agent":
ReadAgent(ChildElement, Trigger);
break;
case "Aggregate":
ReadAggregate(ChildElement);
break;
case "Notifier":
ReadNotifier(ChildElement);
break;
case "Warning":
ReadDiagnostic(ChildElement, LogEventType.Warning, null, null, Trigger);
break;
case "Error":
ReadDiagnostic(ChildElement, LogEventType.Error, null, null, Trigger);
break;
case "Do":
ReadBlock(ChildElement, x => ReadTriggerBody(x, Trigger));
break;
case "Choose":
ReadChoice(ChildElement, x => ReadTriggerBody(x, Trigger));
break;
default:
LogError(ChildElement, "Invalid element '{0}'", ChildElement.Name);
break;
}
}
LeaveScope();
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// <summary>
/// Read an include directive, and the contents of the target file
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="BaseDir">Base directory to resolve relative include paths from </param>
void ReadInclude(ScriptElement Element, DirectoryReference BaseDir)
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (EvaluateCondition(Element))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
FileReference Script = FileReference.Combine(BaseDir, Element.GetAttribute("Script"));
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Script.Exists())
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
TryRead(Script);
}
else
{
LogError(Element, "Cannot find included script '{0}'", Script.FullName);
}
}
}
/// <summary>
/// Reads a property assignment.
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
void ReadProperty(ScriptElement Element)
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (EvaluateCondition(Element))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
string Name = ReadAttribute(Element, "Name");
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (ValidateName(Element, Name))
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
{
GlobalProperties[Name] = ReadAttribute(Element, "Value");
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
}
/// <summary>
/// Reads a local property assignment.
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
void ReadLocalProperty(ScriptElement Element)
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (EvaluateCondition(Element))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
string Name = ReadAttribute(Element, "Name");
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (ValidateName(Element, Name))
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
{
ScopedProperties[ScopedProperties.Count - 1][Name] = ReadAttribute(Element, "Value");
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
}
/// <summary>
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
/// Reads the definition for an agent.
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
/// <param name="Trigger">The controlling trigger for nodes in this agent</param>
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
void ReadAgent(ScriptElement Element, ManualTrigger Trigger)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
string Name;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (EvaluateCondition(Element) && TryReadObjectName(Element, out Name))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
// Read the valid agent types. This may be omitted if we're continuing an existing agent.
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
string[] Types = ReadListAttribute(Element, "Type");
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
// Create the agent object, or continue an existing one
Agent Agent;
if (Graph.NameToAgent.TryGetValue(Name, out Agent))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Types.Length > 0 && Agent.PossibleTypes.Length > 0)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
string[] NewTypes = Agent.PossibleTypes.Intersect(Types, StringComparer.InvariantCultureIgnoreCase).ToArray();
if (NewTypes.Length == 0)
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
{
LogError(Element, "No common agent types with previous agent definition");
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
Agent.PossibleTypes = NewTypes;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
}
else
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Types.Length == 0)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
LogError(Element, "Missing type for agent '{0}'", Name);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
Agent = new Agent(Name, Types);
Graph.NameToAgent.Add(Name, Agent);
Graph.Agents.Add(Agent);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
// Process all the child elements.
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
ReadAgentBody(Element, Agent, Trigger);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
/// <summary>
/// Read the contents of an agent definition
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="ParentAgent">The agent to contain the definition</param>
/// <param name="ControllingTrigger">The enclosing trigger</param>
void ReadAgentBody(ScriptElement Element, Agent ParentAgent, ManualTrigger ControllingTrigger)
{
EnterScope();
foreach (ScriptElement ChildElement in Element.ChildNodes.OfType<ScriptElement>())
{
switch (ChildElement.Name)
{
case "Property":
ReadProperty(ChildElement);
break;
case "Local":
ReadLocalProperty(ChildElement);
break;
case "Node":
ReadNode(ChildElement, ParentAgent, ControllingTrigger);
break;
case "Aggregate":
ReadAggregate(ChildElement);
break;
case "Warning":
ReadDiagnostic(ChildElement, LogEventType.Warning, null, ParentAgent, ControllingTrigger);
break;
case "Error":
ReadDiagnostic(ChildElement, LogEventType.Error, null, ParentAgent, ControllingTrigger);
break;
case "Do":
ReadBlock(ChildElement, x => ReadAgentBody(x, ParentAgent, ControllingTrigger));
break;
case "Choose":
ReadChoice(ChildElement, x => ReadAgentBody(x, ParentAgent, ControllingTrigger));
break;
default:
LogError(ChildElement, "Unexpected element type '{0}'", ChildElement.Name);
break;
}
}
LeaveScope();
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// <summary>
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
/// Reads the definition for an aggregate
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
void ReadAggregate(ScriptElement Element)
{
string Name;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (EvaluateCondition(Element) && TryReadObjectName(Element, out Name) && CheckNameIsUnique(Element, Name))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
string[] RequiredNames = ReadListAttribute(Element, "Requires");
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
Graph.AggregateNameToNodes.Add(Name, ResolveReferences(Element, RequiredNames).ToArray());
}
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
/// <summary>
/// Reads the definition for a report
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
void ReadReport(ScriptElement Element)
{
string Name;
if (EvaluateCondition(Element) && TryReadObjectName(Element, out Name) && CheckNameIsUnique(Element, Name))
{
string[] RequiredNames = ReadListAttribute(Element, "Requires");
Report NewReport = new Report(Name);
foreach (Node ReferencedNode in ResolveReferences(Element, RequiredNames))
{
NewReport.Nodes.Add(ReferencedNode);
NewReport.Nodes.UnionWith(ReferencedNode.OrderDependencies);
}
Graph.NameToReport.Add(Name, NewReport);
}
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// <summary>
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
/// Reads the definition for a node, and adds it to the given agent
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
/// <param name="ParentAgent">Agent for the node to be added to</param>
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// <param name="ControllingTrigger">The controlling trigger for this node</param>
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
void ReadNode(ScriptElement Element, Agent ParentAgent, ManualTrigger ControllingTrigger)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
string Name;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (EvaluateCondition(Element) && TryReadObjectName(Element, out Name))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
string[] RequiresNames = ReadListAttribute(Element, "Requires");
string[] ProducesNames = ReadListAttribute(Element, "Produces");
string[] AfterNames = ReadListAttribute(Element, "After");
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2934481) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2934326 on 2016/04/05 by Andrew.Grant Modified row-error message for easier clarity of culprit. #rb #tests none Change 2934266 on 2016/04/05 by Leslie.Nivison Adding .tps files #rb none #test none Change 2934151 on 2016/04/05 by Andrew.Grant Fix for lightmass compilation with VS2015 update 2 #rb #tests none Change 2934101 on 2016/04/05 by Leslie.Nivison Moving .tps to build.cs location #rb none #test none Change 2934095 on 2016/04/05 by Leslie.Nivison Adding .tps files #rb none #test none Change 2934039 on 2016/04/05 by Aaron.McLeran OR-19011 Implementing CL 2933664 into //Orion/Dev-General/ #codereview Michael.Trepka #rb Michael.Trepka #tests compile and run orion Change 2934004 on 2016/04/05 by Bart.Bressler - Fix issue with ability widgets always showing as unactivatable in Replays - Fix issue with exhaust gameplay tag always triggering when jumping back in replays if the followed player was travelling at the time #rb cody.haskell #tests recorded replay, and viewed on PC Change 2933997 on 2016/04/05 by Marc.Audy Don't use ranged-for iterator for Actors since (bad) user content could spawn a new actor from an component unregister event #jira OR-19021 #rb none #tests compiles Change 2933808 on 2016/04/05 by Ben.Marsh BuildGraph: Include the group name in the telemetry data for each job step. Change 2933774 on 2016/04/05 by Ben.Marsh BuildGraph: Store node dependencies on each step in telemetry data, rather than on the job. Makes it easier to split out. Change 2933724 on 2016/04/05 by Dan.Youhon Add horizontal location offsets to MoveToActor root motion force along with several OffsetAlignment modes (from target to source, target actor forward, world space) - Hooked up to Sword Ultimate, updated Muriel's Ultimate with new offset settings #rb None #tests MultiPIE #codereview Andrew.Bains Change 2933700 on 2016/04/05 by Alexis.Matte Fix the bind T0 ref pose #code review: lina.halper, nick.darnell #rb: lina.halper #tests: import pyro fbx with bindT0RefPose option to true and make sure the result show the gobelin over the dynosaurus Change 2933667 on 2016/04/05 by Ben.Marsh BuildGraph: Include dependency information in stream telemetry, so we can calculate critical path in the dashboard. Change 2933655 on 2016/04/05 by Alexis.Matte Back out changelist 2933558 because integration can be problematic, this change will be redone manually #code review: lina.halper, nick.darnell #rb: lina.halper #tests: none Change 2933558 on 2016/04/05 by Alexis.Matte Merging using Dev-Editor_to_Orion_Dev-General Fix the bind T0 ref pose #code review: lina.halper, nick.darnell #rb: lina.halper #tests: import pyro fbx with bindT0RefPose option to true and make sure the result show the gobelin over the dynosaurus Change 2933539 on 2016/04/05 by Ben.Marsh BuildGraph: Add tooltip for a job's start time in the dashboard. #codereview Andrew.Grant Change 2933156 on 2016/04/05 by Ben.Marsh BuildGraph: Set up email notifications for new build system, and add an optional "NotifyOnWarnings" attribute to nodes to disable spam for localization and cooks. Will re-enable for cooks once we have the ability to include non-coders. #rb none #tests exported job definition for nightly build and verified recipients list Change 2933095 on 2016/04/05 by Alexis.Matte Merging using Dev-Editor_to_Orion_Dev-General Fix the skinxx workflow #code review: lina.halper, nick.darnell #rb: lina.halper [CL 2935407 by Andrew Grant in Main branch]
2016-04-06 15:34:41 -04:00
bool bNotifyOnWarnings = ReadBooleanAttribute(Element, "NotifyOnWarnings", true);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
// Resolve all the inputs we depend on
HashSet<NodeOutput> Inputs = ResolveInputReferences(Element, RequiresNames);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
// Gather up all the input dependencies, and check they're all upstream of the current node
HashSet<Node> InputDependencies = new HashSet<Node>();
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
foreach (Node InputDependency in Inputs.Select(x => x.ProducingNode).Distinct())
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (InputDependency.ControllingTrigger != null && InputDependency.ControllingTrigger != ControllingTrigger && !InputDependency.ControllingTrigger.IsUpstreamFrom(ControllingTrigger))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
LogError(Element, "'{0}' is dependent on '{1}', which is behind a different controlling trigger ({2})", Name, InputDependency.Name, InputDependency.ControllingTrigger.QualifiedName);
}
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
else
{
InputDependencies.Add(InputDependency);
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
// Recursively include all their dependencies too
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
foreach (Node InputDependency in InputDependencies.ToArray())
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
InputDependencies.UnionWith(InputDependency.InputDependencies);
}
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
// Add the name of the node itself to the list of outputs.
List<string> OutputNames = new List<string>();
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
foreach (string ProducesName in ProducesNames)
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (ProducesName.StartsWith("#"))
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
{
OutputNames.Add(ProducesName.Substring(1));
}
else
{
LogError(Element, "Output tag names must begin with a '#' character ('{0}')", ProducesName);
}
}
OutputNames.Add(Name);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
// Gather up all the order dependencies
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
HashSet<Node> OrderDependencies = new HashSet<Node>(InputDependencies);
OrderDependencies.UnionWith(ResolveReferences(Element, AfterNames));
// Recursively include all their order dependencies too
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
foreach (Node OrderDependency in OrderDependencies.ToArray())
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
{
OrderDependencies.UnionWith(OrderDependency.OrderDependencies);
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
// Check that we're not dependent on anything completing that is declared after the initial declaration of this agent.
int AgentIdx = Graph.Agents.IndexOf(ParentAgent);
for (int Idx = AgentIdx + 1; Idx < Graph.Agents.Count; Idx++)
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
foreach (Node Node in Graph.Agents[Idx].Nodes.Where(x => OrderDependencies.Contains(x)))
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
LogError(Element, "Node '{0}' has a dependency on '{1}', which was declared after the initial definition of '{2}'.", Name, Node.Name, ParentAgent.Name);
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
}
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
// Construct and register the node
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (CheckNameIsUnique(Element, Name))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
// Add it to the node lookup
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
Node NewNode = new Node(Name, Inputs.ToArray(), OutputNames.ToArray(), InputDependencies.ToArray(), OrderDependencies.ToArray(), ControllingTrigger);
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2934481) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2934326 on 2016/04/05 by Andrew.Grant Modified row-error message for easier clarity of culprit. #rb #tests none Change 2934266 on 2016/04/05 by Leslie.Nivison Adding .tps files #rb none #test none Change 2934151 on 2016/04/05 by Andrew.Grant Fix for lightmass compilation with VS2015 update 2 #rb #tests none Change 2934101 on 2016/04/05 by Leslie.Nivison Moving .tps to build.cs location #rb none #test none Change 2934095 on 2016/04/05 by Leslie.Nivison Adding .tps files #rb none #test none Change 2934039 on 2016/04/05 by Aaron.McLeran OR-19011 Implementing CL 2933664 into //Orion/Dev-General/ #codereview Michael.Trepka #rb Michael.Trepka #tests compile and run orion Change 2934004 on 2016/04/05 by Bart.Bressler - Fix issue with ability widgets always showing as unactivatable in Replays - Fix issue with exhaust gameplay tag always triggering when jumping back in replays if the followed player was travelling at the time #rb cody.haskell #tests recorded replay, and viewed on PC Change 2933997 on 2016/04/05 by Marc.Audy Don't use ranged-for iterator for Actors since (bad) user content could spawn a new actor from an component unregister event #jira OR-19021 #rb none #tests compiles Change 2933808 on 2016/04/05 by Ben.Marsh BuildGraph: Include the group name in the telemetry data for each job step. Change 2933774 on 2016/04/05 by Ben.Marsh BuildGraph: Store node dependencies on each step in telemetry data, rather than on the job. Makes it easier to split out. Change 2933724 on 2016/04/05 by Dan.Youhon Add horizontal location offsets to MoveToActor root motion force along with several OffsetAlignment modes (from target to source, target actor forward, world space) - Hooked up to Sword Ultimate, updated Muriel's Ultimate with new offset settings #rb None #tests MultiPIE #codereview Andrew.Bains Change 2933700 on 2016/04/05 by Alexis.Matte Fix the bind T0 ref pose #code review: lina.halper, nick.darnell #rb: lina.halper #tests: import pyro fbx with bindT0RefPose option to true and make sure the result show the gobelin over the dynosaurus Change 2933667 on 2016/04/05 by Ben.Marsh BuildGraph: Include dependency information in stream telemetry, so we can calculate critical path in the dashboard. Change 2933655 on 2016/04/05 by Alexis.Matte Back out changelist 2933558 because integration can be problematic, this change will be redone manually #code review: lina.halper, nick.darnell #rb: lina.halper #tests: none Change 2933558 on 2016/04/05 by Alexis.Matte Merging using Dev-Editor_to_Orion_Dev-General Fix the bind T0 ref pose #code review: lina.halper, nick.darnell #rb: lina.halper #tests: import pyro fbx with bindT0RefPose option to true and make sure the result show the gobelin over the dynosaurus Change 2933539 on 2016/04/05 by Ben.Marsh BuildGraph: Add tooltip for a job's start time in the dashboard. #codereview Andrew.Grant Change 2933156 on 2016/04/05 by Ben.Marsh BuildGraph: Set up email notifications for new build system, and add an optional "NotifyOnWarnings" attribute to nodes to disable spam for localization and cooks. Will re-enable for cooks once we have the ability to include non-coders. #rb none #tests exported job definition for nightly build and verified recipients list Change 2933095 on 2016/04/05 by Alexis.Matte Merging using Dev-Editor_to_Orion_Dev-General Fix the skinxx workflow #code review: lina.halper, nick.darnell #rb: lina.halper [CL 2935407 by Andrew Grant in Main branch]
2016-04-06 15:34:41 -04:00
NewNode.bNotifyOnWarnings = bNotifyOnWarnings;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
Graph.NameToNode.Add(Name, NewNode);
// Register each of the outputs as a reference to this node
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
foreach (NodeOutput Output in NewNode.Outputs)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Output.Name == Name || CheckNameIsUnique(Element, Output.Name))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
Graph.NameToNodeOutput.Add(Output.Name, Output);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
}
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
// Add all the tasks
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
ReadNodeBody(Element, NewNode, ParentAgent, ControllingTrigger);
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
// Add it to the current agent
ParentAgent.Nodes.Add(NewNode);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
}
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
/// <summary>
/// Reads the contents of a node element
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="NewNode">The new node that has been created</param>
/// <param name="ParentAgent">Agent for the node to be added to</param>
/// <param name="ControllingTrigger">The controlling trigger for this node</param>
void ReadNodeBody(XmlElement Element, Node NewNode, Agent ParentAgent, ManualTrigger ControllingTrigger)
{
EnterScope();
foreach (ScriptElement ChildElement in Element.ChildNodes.OfType<ScriptElement>())
{
switch (ChildElement.Name)
{
case "Property":
ReadProperty(ChildElement);
break;
case "Local":
ReadLocalProperty(ChildElement);
break;
case "Warning":
ReadDiagnostic(ChildElement, LogEventType.Warning, NewNode, ParentAgent, ControllingTrigger);
break;
case "Error":
ReadDiagnostic(ChildElement, LogEventType.Error, NewNode, ParentAgent, ControllingTrigger);
break;
case "Do":
ReadBlock(ChildElement, x => ReadNodeBody(x, NewNode, ParentAgent, ControllingTrigger));
break;
case "Choose":
ReadChoice(ChildElement, x => ReadNodeBody(x, NewNode, ParentAgent, ControllingTrigger));
break;
default:
ReadTask(ChildElement, NewNode.Tasks);
break;
}
}
LeaveScope();
}
/// <summary>
/// Reads a block element
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="ReadContents">Delegate to read the contents of the element, if the condition evaluates to true</param>
void ReadBlock(ScriptElement Element, Action<ScriptElement> ReadContents)
{
if (EvaluateCondition(Element))
{
ReadContents(Element);
}
}
/// <summary>
/// Reads a "Choose" element
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="ReadContents">Delegate to read the contents of the element, if the condition evaluates to true</param>
void ReadChoice(ScriptElement Element, Action<ScriptElement> ReadContents)
{
foreach (ScriptElement ChildElement in Element.ChildNodes.OfType<ScriptElement>())
{
if (ChildElement.Name == "Otherwise" || EvaluateCondition(ChildElement))
{
ReadContents(ChildElement);
break;
}
}
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// <summary>
/// Reads a task definition from the given element, and add it to the given list
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="Tasks">List of tasks to add to</param>
void ReadTask(ScriptElement Element, List<CustomTask> Tasks)
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (EvaluateCondition(Element))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
// Get the reflection info for this element
ScriptTask Task;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (!Schema.TryGetTask(Element.Name, out Task))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
LogError(Element, "Unknown task '{0}'", Element.Name);
return;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
// Check all the required parameters are present
bool bHasRequiredAttributes = true;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
foreach (ScriptTaskParameter Parameter in Task.NameToParameter.Values)
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (!Parameter.bOptional && !Element.HasAttribute(Parameter.Name))
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
{
LogError(Element, "Missing required attribute - {0}", Parameter.Name);
bHasRequiredAttributes = false;
}
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
// Read all the attributes into a parameters object for this task
object ParametersObject = Activator.CreateInstance(Task.ParametersClass);
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
foreach (XmlAttribute Attribute in Element.Attributes)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (String.Compare(Attribute.Name, "If", StringComparison.InvariantCultureIgnoreCase) != 0)
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
{
// Get the field that this attribute should be written to in the parameters object
ScriptTaskParameter Parameter;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (!Task.NameToParameter.TryGetValue(Attribute.Name, out Parameter))
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
{
LogError(Element, "Unknown attribute '{0}'", Attribute.Name);
continue;
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
// Expand variables in the value
string ExpandedValue = ExpandProperties(Attribute.Value);
// Parse it and assign it to the parameters object
object Value;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Parameter.FieldInfo.FieldType.IsEnum)
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
{
Value = Enum.Parse(Parameter.FieldInfo.FieldType, ExpandedValue);
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
else if (Parameter.FieldInfo.FieldType == typeof(Boolean))
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
{
Value = Condition.Evaluate(ExpandedValue);
}
else
{
Value = Convert.ChangeType(ExpandedValue, Parameter.FieldInfo.FieldType);
}
Parameter.FieldInfo.SetValue(ParametersObject, Value);
}
}
// Construct the task
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (bHasRequiredAttributes)
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
{
Tasks.Add((CustomTask)Activator.CreateInstance(Task.TaskClass, ParametersObject));
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
}
/// <summary>
/// Reads the definition for an email notifier
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
void ReadNotifier(ScriptElement Element)
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (EvaluateCondition(Element))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
string[] TargetNames = ReadListAttribute(Element, "Targets");
string[] ExceptNames = ReadListAttribute(Element, "Except");
string[] IndividualNodeNames = ReadListAttribute(Element, "Nodes");
string[] TriggerNames = ReadListAttribute(Element, "Triggers");
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
string[] ReportNames = ReadListAttribute(Element, "Reports");
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
string[] Users = ReadListAttribute(Element, "Users");
string[] Submitters = ReadListAttribute(Element, "Submitters");
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
bool? bWarnings = Element.HasAttribute("Warnings") ? (bool?)ReadBooleanAttribute(Element, "Warnings", true) : null;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
// Find the list of targets which are included, and recurse through all their dependencies
HashSet<Node> Nodes = new HashSet<Node>();
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (TargetNames != null)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
HashSet<Node> TargetNodes = ResolveReferences(Element, TargetNames);
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
foreach (Node Node in TargetNodes)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Nodes.Add(Node);
Nodes.UnionWith(Node.InputDependencies);
}
}
// Add all the individually referenced nodes
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (IndividualNodeNames != null)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
HashSet<Node> IndividualNodes = ResolveReferences(Element, IndividualNodeNames);
Nodes.UnionWith(IndividualNodes);
}
// Exclude all the exceptions
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (ExceptNames != null)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
HashSet<Node> ExceptNodes = ResolveReferences(Element, ExceptNames);
Nodes.ExceptWith(ExceptNodes);
}
// Update all the referenced nodes with the settings
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
foreach (Node Node in Nodes)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Users != null)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Node.NotifyUsers.UnionWith(Users);
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Submitters != null)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Node.NotifySubmitters.UnionWith(Submitters);
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (bWarnings.HasValue)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Node.bNotifyOnWarnings = bWarnings.Value;
}
}
// Add the users to the list of triggers
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (TriggerNames != null)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
foreach (string TriggerName in TriggerNames)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
ManualTrigger Trigger;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Graph.NameToTrigger.TryGetValue(TriggerName, out Trigger))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Trigger.NotifyUsers.UnionWith(Users);
}
else
{
LogError(Element, "Trigger '{0}' has not been defined", TriggerName);
}
}
}
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 2959429) ========================== MAJOR FEATURES + CHANGES ========================== Change 2945275 on 2016/04/15 by Ben.Marsh BuildCommonTools: Stop forcing the DeleteBuildProducts flag to true; just respect the -Clean parameter from the command line. Change 2946668 on 2016/04/18 by Ben.Marsh EC: Prevent lookbehind for UBT error strings on Mac. Change 2952657 on 2016/04/22 by Ben.Marsh UGS: Require the user to explicitly choose to show *.uprojectdirs files, to discourage people from selecting the first thing they see in a synced branch. The uprojectdirs workflow is only used by Engine QA, but catches a lot of people out. Change 2954256 on 2016/04/25 by Ben.Marsh EC: Fix lines starting with error: and warning: being swallowed by the postprocessor. Also remove confusing 4 line look-behind on generic error and warning messages. Change 2954449 on 2016/04/25 by Ben.Marsh Use the original application name for log files (and for the prefix in stdout), rather than the application name after the host platform has modified it. Prevents UAT/UBT calls showing up with a "mono: " prefix on Mac, rather than "AutomationTool:" or "UnrealBuildTool:". Change 2955885 on 2016/04/26 by Ben.Marsh BuildGraph: Allow passing -Clean on the command line to propagate to UE4Build, impacting how targets are compiled as well as clearing the cached BuildGraph state. Add a second parameter, -ClearHistory, to just wipe the history of completed nodes. Change 2955919 on 2016/04/26 by Chad.Garyet Fixed timestamp resolution to check for two seconds instead of two ticks. This was causing mac builders to throw false positives on file changes Change 2956118 on 2016/04/26 by Ben.Marsh BuildGraph: Add support for conditional blocks in BuildGraph scripts, either with a simple condition, or picking from a list of options. Two new elements can be added anywhere in scripts: <Do If="..."> <!-- Inner elements --> </Do> <Choose> <Option If="..."> <!-- Inner elements --> </Option> <Option If="..."> <!-- Inner elements --> </Option> <Otherwise> <!-- Inner elements --> </Otherwise> </Choose> Change 2956792 on 2016/04/26 by Ben.Marsh EC: Prevent scheduled builds being queued up, and starting at times other than the times they're scheduled for. Prevents builds which have just been added to the stream settings from starting immediately, and prevents full builds starting during the day (as soon as the first change is made). Change 2957131 on 2016/04/26 by Ben.Marsh EC: Increase the precedence of the stack trace matcher. Change 2957419 on 2016/04/27 by Ben.Marsh EC: Skip the "end: stack for UAT" line in postp. Change 2957588 on 2016/04/27 by Ben.Marsh Core: Change formatting for callstacks for crashes and ensures so that EC can parse them from logs more easily. Change 2958047 on 2016/04/27 by Ben.Marsh BuildGraph: Feature to generate reports as part of build graph scripts. Reports operate similarly to triggers, but just provide a summary of completed jobsteps without offering to run a downstream job. Syntax is similar to declaring aggregates: <Report Name="Summary" Requires="Node1;Node2"/> Change 2958188 on 2016/04/27 by Ben.Marsh BuildGraph: Automatically generate a report when a preflight completes. Change 2959053 on 2016/04/28 by Ben.Marsh BuildGraph: Move the CleanTempStorage commandlet into BuildGraph, and add support for cleaning out new-style temp storage directories (which do not contain TempManifest files). Change 2959429 on 2016/04/28 by Ben.Marsh UAT: Add a script to describe a stream being copied up to its parent. To use, just run the UAT command "StreamCopyDescription -Stream=//UE4/Dev-Build". Optionally specify -Changes=//UE4/OtherStream/Engine/... #lockdown Nick.Penwarden [CL 2959583 by Ben Marsh in Main branch]
2016-04-28 14:13:21 -04:00
// Add the users to the list of reports
if (ReportNames != null)
{
foreach (string ReportName in ReportNames)
{
Report Report;
if (Graph.NameToReport.TryGetValue(ReportName, out Report))
{
Report.NotifyUsers.UnionWith(Users);
}
else
{
LogError(Element, "Report '{0}' has not been defined", ReportName);
}
}
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
}
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
/// <summary>
/// Reads a warning from the given element, evaluates the condition on it, and writes it to the log if the condition passes.
/// </summary>
/// <param name="Element">Xml element to read the definition from</param>
/// <param name="EventType">The diagnostic event type</param>
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
/// <param name="EnclosingNode">The node that this diagnostic is declared in, or null</param>
/// <param name="EnclosingAgent">The agent that this diagnostic is declared in, or null</param>
/// <param name="EnclosingTrigger">The trigger that this diagnostic is declared in, or null</param>
void ReadDiagnostic(ScriptElement Element, LogEventType EventType, Node EnclosingNode, Agent EnclosingAgent, ManualTrigger EnclosingTrigger)
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (EvaluateCondition(Element))
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
{
string Message = ReadAttribute(Element, "Message");
GraphDiagnostic Diagnostic = new GraphDiagnostic();
Diagnostic.EventType = EventType;
Diagnostic.Message = String.Format("{0}({1}): {2}", Element.File.FullName, Element.LineNumber, Message);
Diagnostic.EnclosingNode = EnclosingNode;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
Diagnostic.EnclosingAgent = EnclosingAgent;
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
Diagnostic.EnclosingTrigger = EnclosingTrigger;
Graph.Diagnostics.Add(Diagnostic);
}
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// <summary>
/// Checks that the given name does not already used to refer to a node, and print an error if it is.
/// </summary>
/// <param name="Element">Xml element to read from</param>
/// <param name="Name">Name of the alias</param>
/// <param name="Nodes">Array of nodes that this name should resolve to</param>
/// <returns>True if the name was registered correctly, false otherwise.</returns>
bool CheckNameIsUnique(ScriptElement Element, string Name)
{
// Get the nodes that it maps to
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Graph.ContainsName(Name))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
LogError(Element, "'{0}' is already defined; cannot add a second time", Name);
return false;
}
return true;
}
/// <summary>
/// Resolve a list of references to a set of nodes
/// </summary>
/// <param name="Element">Element used to locate any errors</param>
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
/// <param name="ReferenceNames">Sequence of names to look up</param>
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// <returns>Hashset of all the nodes included by the given names</returns>
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
HashSet<Node> ResolveReferences(ScriptElement Element, IEnumerable<string> ReferenceNames)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
HashSet<Node> Nodes = new HashSet<Node>();
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
foreach (string ReferenceName in ReferenceNames)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Node[] OtherNodes;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Graph.TryResolveReference(ReferenceName, out OtherNodes))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Nodes.UnionWith(OtherNodes);
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
else if (!ReferenceName.StartsWith("#") && Graph.NameToNodeOutput.ContainsKey(ReferenceName))
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
{
LogError(Element, "Reference to '{0}' cannot be resolved; did you mean '#{0}'?", ReferenceName);
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
else
{
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
LogError(Element, "Reference to '{0}' cannot be resolved; check it has been defined.", ReferenceName);
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
}
return Nodes;
}
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
/// <summary>
/// Resolve a list of references to a set of nodes
/// </summary>
/// <param name="Element">Element used to locate any errors</param>
/// <param name="ReferenceNames">Sequence of names to look up</param>
/// <returns>Set of all the nodes included by the given names</returns>
HashSet<NodeOutput> ResolveInputReferences(ScriptElement Element, IEnumerable<string> ReferenceNames)
{
HashSet<NodeOutput> Inputs = new HashSet<NodeOutput>();
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
foreach (string ReferenceName in ReferenceNames)
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
{
NodeOutput[] ReferenceInputs;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Graph.TryResolveInputReference(ReferenceName, out ReferenceInputs))
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
{
Inputs.UnionWith(ReferenceInputs);
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
else if (!ReferenceName.StartsWith("#") && Graph.NameToNodeOutput.ContainsKey(ReferenceName))
Copying //UE4/Orion-Staging to //UE4/Main (Source //Orion/Dev-General @ 2927258) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2927181 on 2016/03/29 by Dmitry.Rekman (Optionally) exclude idle time from server FPS charts. - Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers). - Server FPS charts analytics events and log output will include the information if idle time was excluded. - Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log. #rb Paul.Moore #codereview Paul.Moore, Michael.Noland #tests Ran Linux server and Windows client on compatible content. Change 2927084 on 2016/03/29 by Ben.Marsh BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately. #rb none #tests none Change 2927060 on 2016/03/29 by Michael.Noland Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter) Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup) #rb marcus.wassmer #tests Ran and did some fps charts Change 2927048 on 2016/03/29 by Michael.Noland HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD) #tests Compiled and ran Paragon #rb marcus.wassmer Change 2926920 on 2016/03/29 by Ben.Marsh BuildGraph: Update schema with Rename task. Change 2926911 on 2016/03/29 by Ben.Marsh BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/> #rb none #tests none Change 2926908 on 2016/03/29 by Andrew.Grant Fix for CDO properties of renamed blueprints not being applied #rb none #tests loaded Origin map (renamed from Playgo3) and verified properties are applied. Change 2926799 on 2016/03/29 by Jason.Bestimt #ORION_DG - Merge MAIN (23) @ CL# 2926780 #RB:none #Tests:none Change 2926663 on 2016/03/29 by david.nikdel #ROBOMERGE-OBO: jason.bestimt #ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662 #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ORION_23 - Potential fix for Cook failures "Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd." #RB:none #Tests: none [CodeReviewed]: andrew.grant, dan.oconnor Change 2926510 on 2016/03/29 by Andrew.Grant Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock) #rb none #tests compiled Change 2926495 on 2016/03/29 by Rob.Cannaday Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it #jira FORT-18947 #jira OR-17695 #tests golden path #rb eric.newman Change 2926427 on 2016/03/29 by Josh.Markiewicz #UE4 - fixed typo #rb none #tests none Change 2926250 on 2016/03/29 by Martin.Mittring fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect #rb:Chris.Bunner #codereview:Brian.Karis Change 2926224 on 2016/03/29 by Daniel.Lamb Fix for potenital threading issue with Console manager removing vars which could cause double free. #rb Robert.Manuszewski #test Orion cook Change 2926174 on 2016/03/29 by Gareth.Martin Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people #rb #tests editor Change 2925968 on 2016/03/29 by David.Nikdel #MCP #OSS - Read RedirectUrl from ini #RB: Eric.Newman #TESTS: compiled in another branch (merge over) #ROBOMERGE: Main [CL 2929424 by Andrew Grant in Main branch]
2016-03-31 15:18:30 -04:00
{
LogError(Element, "Reference to '{0}' cannot be resolved; did you mean '#{0}'?", ReferenceName);
}
else
{
LogError(Element, "Reference to '{0}' cannot be resolved; check it has been defined.", ReferenceName);
}
}
return Inputs;
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
/// <summary>
/// Reads an object name from its defining element. Outputs an error if the name is missing.
/// </summary>
/// <param name="Element">Element to read the name for</param>
/// <param name="Name">Output variable to receive the name of the object</param>
/// <returns>True if the object had a valid name (assigned to the Name variable), false if the name was invalid or missing.</returns>
bool TryReadObjectName(ScriptElement Element, out string Name)
{
// Check the name attribute is present
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (!Element.HasAttribute("Name"))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
LogError(Element, "Missing 'Name' attribute");
Name = null;
return false;
}
// Get the value of it, strip any leading or trailing whitespace, and make sure it's not empty
string Value = ReadAttribute(Element, "Name");
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (!ValidateName(Element, Value))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Name = null;
return false;
}
// Return it
Name = Value;
return true;
}
/// <summary>
/// Reads an qualified object name from its defining element. Outputs an error if the name is missing.
/// </summary>
/// <param name="Element">Element to read the name for</param>
/// <param name="QualifiedName">Output variable to receive the name of the object</param>
/// <returns>True if the object had a valid name (assigned to the Name variable), false if the name was invalid or missing.</returns>
bool TryReadQualifiedObjectName(ScriptElement Element, out string[] QualifiedName)
{
// Check the name attribute is present
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (!Element.HasAttribute("Name"))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
LogError(Element, "Missing 'Name' attribute");
QualifiedName = null;
return false;
}
// Get the value of it, strip any leading or trailing whitespace, and make sure it's not empty
string[] Values = ReadAttribute(Element, "Name").Split('.');
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
foreach (string Value in Values)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (!ValidateName(Element, Value))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
QualifiedName = null;
return false;
}
}
// Return it
QualifiedName = Values;
return true;
}
/// <summary>
/// Checks that the given name is valid syntax
/// </summary>
/// <param name="Element">The element that contains the name</param>
/// <param name="Name">The name to check</param>
/// <returns>True if the name is valid</returns>
bool ValidateName(ScriptElement Element, string Name)
{
// Check it's not empty
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Name.Length == 0)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
LogError(Element, "Name is empty");
return false;
}
// Check there are no invalid characters
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
for (int Idx = 0; Idx < Name.Length; Idx++)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Idx > 0 && Name[Idx] == ' ' && Name[Idx - 1] == ' ')
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
LogError(Element, "Consecutive spaces in object name");
return false;
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (!Char.IsLetterOrDigit(Name[Idx]) && Name[Idx] != '_' && Name[Idx] != ' ')
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
LogError(Element, "Invalid character in object name - '{0}'", Name[Idx]);
return false;
}
}
return true;
}
/// <summary>
/// Expands any properties and reads an attribute.
/// </summary>
/// <param name="Element">Element to read the attribute from</param>
/// <param name="Name">Name of the attribute</param>
/// <returns>Array of names, with all leading and trailing whitespace removed</returns>
string ReadAttribute(ScriptElement Element, string Name)
{
return ExpandProperties(Element.GetAttribute(Name));
}
/// <summary>
/// Expands any properties and reads a list of strings from an attribute, separated by semi-colon characters
/// </summary>
/// <param name="Element"></param>
/// <param name="Name"></param>
/// <returns>Array of names, with all leading and trailing whitespace removed</returns>
string[] ReadListAttribute(ScriptElement Element, string Name)
{
string Value = ReadAttribute(Element, Name);
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
return Value.Split(new char[] { ';' }).Select(x => x.Trim()).Where(x => x.Length > 0).ToArray();
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
}
/// <summary>
/// Reads an attribute from the given XML element, expands any properties in it, and parses it as a boolean.
/// </summary>
/// <param name="Element">Element to read the attribute from</param>
/// <param name="Name">Name of the attribute</param>
/// <param name="DefaultValue">Default value if the attribute is missing</param>
/// <returns>The value of the attribute field</returns>
bool ReadBooleanAttribute(ScriptElement Element, string Name, bool bDefaultValue)
{
bool bResult = bDefaultValue;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Element.HasAttribute(Name))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
string Value = ReadAttribute(Element, Name).Trim();
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Value.Equals("true", StringComparison.InvariantCultureIgnoreCase))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
bResult = true;
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
else if (Value.Equals("false", StringComparison.InvariantCultureIgnoreCase))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
bResult = false;
}
else
{
LogError(Element, "Invalid boolean value '{0}' - expected 'true' or 'false'", Value);
}
}
return bResult;
}
/// <summary>
/// Reads an attribute from the given XML element, expands any properties in it, and parses it as an enum of the given type.
/// </summary>
/// <typeparam name="T">The enum type to parse the attribute as</typeparam>
/// <param name="Element">Element to read the attribute from</param>
/// <param name="Name">Name of the attribute</param>
/// <param name="DefaultValue">Default value for the enum, if the attribute is missing</param>
/// <returns>The value of the attribute field</returns>
T ReadEnumAttribute<T>(ScriptElement Element, string Name, T DefaultValue) where T : struct
{
T Result = DefaultValue;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Element.HasAttribute(Name))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
string Value = ReadAttribute(Element, Name).Trim();
T EnumValue;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (Enum.TryParse(Value, true, out EnumValue))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Result = EnumValue;
}
else
{
LogError(Element, "Invalid value '{0}' - expected {1}", Value, String.Join("/", Enum.GetNames(typeof(T))));
}
}
return Result;
}
/// <summary>
/// Outputs an error message to the log and increments the number of errors, referencing the file and line number of the element that caused it.
/// </summary>
/// <param name="Element">The script element causing the error</param>
/// <param name="Format">Standard String.Format()-style format string</param>
/// <param name="Args">Optional arguments</param>
void LogError(ScriptElement Element, string Format, params object[] Args)
{
CommandUtils.LogError("{0}({1}): {2}", Element.File.FullName, Element.LineNumber, String.Format(Format, Args));
NumErrors++;
}
/// <summary>
/// Evaluates the (optional) conditional expression on a given XML element via the If="..." attribute, and returns true if the element is enabled.
/// </summary>
/// <param name="Element">The element to check</param>
/// <returns>True if the element's condition evaluates to true (or doesn't have a conditional expression), false otherwise</returns>
bool EvaluateCondition(ScriptElement Element)
{
// Check if the element has a conditional attribute
const string AttributeName = "If";
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (!Element.HasAttribute(AttributeName))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
return true;
}
// If it does, try to evaluate it.
try
{
string Text = ExpandProperties(Element.GetAttribute("If"));
return Condition.Evaluate(Text);
}
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
catch (ConditionException Ex)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
LogError(Element, "Error in condition: {0}", Ex.Message);
return false;
}
}
/// <summary>
/// Expand all the property references (of the form $(PropertyName)) in a string.
/// </summary>
/// <param name="Text">The input string to expand properties in</param>
/// <returns>The expanded string</returns>
string ExpandProperties(string Text)
{
string Result = Text;
for (int Idx = Result.IndexOf("$("); Idx != -1; Idx = Result.IndexOf("$(", Idx))
{
// Find the end of the variable name
int EndIdx = Result.IndexOf(')', Idx + 2);
if (EndIdx == -1)
{
break;
}
// Extract the variable name from the string
string Name = Result.Substring(Idx + 2, EndIdx - (Idx + 2));
// Find the value for it, either from the dictionary or the environment block
string Value = null;
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
for (int ScopeIdx = ScopedProperties.Count - 1; ScopeIdx >= 0; ScopeIdx--)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Dev-Build to //UE4/Main (Source: //UE4/Dev-Build @ 2944521) ========================== MAJOR FEATURES + CHANGES ========================== Change 2909886 on 2016/03/15 by Matthew.Griffin Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build. Change 2911727 on 2016/03/16 by Matthew.Griffin Added Platform Type and Architecture to Installed Platform Info Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds Added temporary hack to write Android architecture until I can get it from build process Change 2913692 on 2016/03/17 by Ben.Marsh UAT: Move script to archive a build for UGS into a public folder. Change 2915445 on 2016/03/18 by Ben.Marsh UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying. Change 2915450 on 2016/03/18 by Ben.Marsh UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited. Change 2925830 on 2016/03/29 by Matthew.Griffin Added new selective download tags Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings Change 2926437 on 2016/03/29 by Ben.Marsh PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi) Change 2927399 on 2016/03/30 by Matthew.Griffin Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist. Change 2933093 on 2016/04/05 by Ben.Marsh PR #2232: Updated copyright text to 2016 (Contributed by erikbye) Change 2936221 on 2016/04/07 by Matthew.Griffin Adding checks on architecture for android config options Change 2938021 on 2016/04/08 by Ben.Marsh UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account. Change 2939332 on 2016/04/11 by Matthew.Griffin Added AdditionalBundleResources to external file list so that they should be included in Launcher releases Change 2939767 on 2016/04/11 by Ben.Marsh BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging. Change 2941611 on 2016/04/12 by Ben.Marsh UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line. Change 2942037 on 2016/04/13 by Ben.Marsh UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats. Change 2942640 on 2016/04/13 by Ben.Marsh GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels. Change 2942728 on 2016/04/13 by Ben.Marsh BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML. Change 2942735 on 2016/04/13 by Ben.Marsh BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs) Change 2943568 on 2016/04/14 by Ben.Marsh EC: Print out the log folder at the start of each job. Change 2944421 on 2016/04/14 by Ben.Marsh EC: Add GitHub dashboard page which shows the current syncing state #lockdown Nick.Penwarden [CL 2944733 by Ben Marsh in Main branch]
2016-04-14 20:35:31 -04:00
if (ScopedProperties[ScopeIdx].TryGetValue(Name, out Value))
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087) ========================== MAJOR FEATURES + CHANGES ========================== #lockdown Nick.Penwarden Change 2903938 on 2016/03/10 by Frank.Gigliotti Added an instance ID to FAnimMontageInstance #CodeReview Laurent.Delayen #RB Laurent.Delayen #Tests PIE Change 2903745 on 2016/03/10 by Wes.Hunt Update Oodle TPS #rb none #tests none #codereview:john.pollard Change 2903689 on 2016/03/10 by Uriel.Doyon New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero. #rb marcus.wasmer #codereview marcus.wassmer #tests editor, playing PC games, trying the new command Change 2903669 on 2016/03/10 by Aaron.McLeran OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds - Change only effects debug stat commands for audio guys #rb none #tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds Change 2903625 on 2016/03/10 by John.Pollard XB1 Oodle SDK #rb none #tests none #codereview Jeff.Campeau Change 2903577 on 2016/03/10 by Ben.Marsh Remaking latest build scripts from //UE4/Main @ 2900980. Change 2903560 on 2016/03/10 by Ben.Marsh Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP. Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components: * Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules. * Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts. * Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts. * Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts. * Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on. Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name. Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope. Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs. File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on. Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system. A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type. #rb none #codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett #tests local only so far, but not part of any build process yet Change 2903539 on 2016/03/10 by John.Pollard Improve replay playback debugging of character movement #rb none #tests replays Change 2903526 on 2016/03/10 by Ben.Marsh Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks. #rb none #tests none Change 2903512 on 2016/03/10 by Dan.Youhon Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s #rb None #tests Compiles Change 2903474 on 2016/03/10 by Marc.Audy Fix crash if ChildActor is null #rb None #tests None Change 2903314 on 2016/03/10 by Marc.Audy Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken #rb James.Golding #tests Selection of child actors works as expected #jira UE-28201 Change 2903298 on 2016/03/10 by Simon.Tovey Disabling the trails optimization. #tests none #rb none #codereview Olaf.Piesche Change 2903124 on 2016/03/10 by Robert.Manuszewski Small refactor to pak signing to help with exe protection #rb none #tests none [CL 2907678 by Andrew Grant in Main branch]
2016-03-13 18:53:13 -04:00
{
break;
}
}
Value = Value ?? "";
// Replace the variable, or skip past it
Result = Result.Substring(0, Idx) + Value + Result.Substring(EndIdx + 1);
// Make sure we skip over the expanded variable; we don't want to recurse on it.
Idx += Value.Length;
}
return Result;
}
}
}