Files

70 lines
2.0 KiB
C#
Raw Permalink Normal View History

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
using System;
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.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.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
using System.Xml;
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
namespace AutomationTool
{
/// <summary>
/// Stores a list of nodes which can be executed on a single agent
/// </summary>
[DebuggerDisplay("{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
class 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>
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
/// Name of this agent. Used for display purposes in a build system.
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>
public string Name;
/// <summary>
/// Array of valid agent types that these nodes may run on. When running in the build system, this determines the class of machine that should
/// be selected to run these nodes. The first defined agent type for this branch will be used.
/// </summary>
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
public string[] PossibleTypes;
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>
/// List of nodes in this agent group.
/// </summary>
public List<Node> Nodes = new List<Node>();
/// <summary>
/// Constructor
/// </summary>
/// <param name="InName">Name of this agent group</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="InPossibleTypes">Array of valid agent types. See comment for AgentTypes member.</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
public Agent(string InName, string[] InPossibleTypes)
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 = InName;
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
PossibleTypes = InPossibleTypes;
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
/// <summary>
/// Writes this agent group out to a file, filtering nodes by a controlling trigger
/// </summary>
/// <param name="Writer">The XML writer to output to</param>
/// <param name="ControllingTrigger">The controlling trigger to filter by</param>
public void Write(XmlWriter Writer, ManualTrigger ControllingTrigger)
{
if (Nodes.Any(x => x.ControllingTrigger == ControllingTrigger))
{
Writer.WriteStartElement("Agent");
Writer.WriteAttributeString("Name", Name);
Writer.WriteAttributeString("Type", String.Join(";", PossibleTypes));
foreach (Node Node in Nodes)
{
if (Node.ControllingTrigger == ControllingTrigger)
{
Node.Write(Writer);
}
}
Writer.WriteEndElement();
}
}
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
}
}