* Created RocketPeriodicClean command (use -SimulateCDN and/or -Preview for testing locally)
* repairs inconsistencies in the BI service
* Recovers manifests from P that are not found on the CDN
* Ensures labeled builds on Prod are labeled on GameDev
* removes orphaned BuildInfos
* removes unlabeled BuildInfos
* Deletes any manifests that are not referenced after the previous steps.
* Deletes any labels that are not used after the previous steps.
Added Compactify script
* Created unified Compactify command (use -SimulateCDN and/or -Preview for testing locally)
* Supports Rocket and Launcher
* Compactifies all associated CloudDirs on all the associated CDNs
* Can specify a subset of CDNs using -CDNLocations=XXX,YYY
* Tweaked existing compactify script to use EnumerateFiles and only walk the file list once.
* This should increase the speed of compactify as we don't have to walk millions of chunks more than once.
MCPBuildDelivery Changes:
* Added ToString() overloads for McpBuildInfo and McpLabel
* GetAppLabelNames() and GetAppNames() changes
* Flattened result instead of returning dictionaries.
* Support NULL for AppName to return all Apps.
* Added DeleteLabel() functionality.
* Added CDNLocation and BuildInfoLocation enums to allow programmatic, strongly-typed select of these environments.
* Used heavily by the cleanup scripts to abstract the operations it performs on all environments.
* Added conversion functions to go between McpConfigName and these enums.
* Added MountCDNShare(CDNLocation) that allows us to abstract access to the 3 fileshares we use to host chunks.
* Assert if called on Mac as we can't mount them there yet.
* Added CopyChunksToCDN(SrcCDN, DestCDN) that abstracts transporting chunks from one fileshare to another.
* Removed legacy support for -CDNDrive cmdline override, as it no longer makes sense globally now.
UBT Changes
* Added HashCodeHelper (from C# MCP) which assists creating IComparable<> implementations with reasonable GetHashCode() implementations.
FortBuild Changes
* Removed several MCP-related commands that are outdated and should no longer be in the code.
#codereview:eric.newman,gil.gribb,robert.manuszewski,carlos.cuello
[CL 2081078 by Wes Hunt in Main branch]
Fix for a regression that was preventing Portable Object(.po) localization files from being exported/imported to the appropriate culture folders. Enabled the OneSky integration in the LauncherLocalization build script and also made OneSky configuration settings more flexible to set/retrieve/hide.
[CL 2074870 by Wes Fudala in Main branch]
Now there are two commands UnrealSync and UnrealSyncList. UnrealSync syncs the workspace to given label using artist sync (i.e. according to ArtistSyncRules.xml) or all files. Additionally you can chose to sync in p4 preview mode. Instead of providing label name explicitly you can provide only a game name, then latested promoted game label will be chosen. If you skip game name also then latestest shared promoted label will be chosen.
UnrealSyncList in general lists all branch labels for the current workspace. The labels can be filtered by game (e.g. FortniteGame) or type (all, promotable or promoted). In promotable and promoted types if you skip game parameter then shared promotable is assumed. All labels are printed chronologically (from most recent). In all query type game parameter is ignored.
[CL 2074134 by Jaroslaw Palczynski in Main branch]