[FYI] Josh.Adams
Original CL Desc
-----------------------------------------------------------------
- Fixed issue with FPaths::IsStaged() with -pak generated builds (the StagedBuild.ini file can't be in the .pak since it needs ProjectDir() to find .pak files!)
#rb ben.hoffman
[CL 32203658 by bob tellez in ue5-main branch]
#rb Per.Larsson
#jira UE-189912
#rnx
- There were multiple areas that checked if a cooked file was of a certain extension, this code has been consolidated in a single method ::CanCookedFileBeStaged and as we were excluding .ucas/.utoc I added .uondemandtoc to be excluded too.
- There are three places with code logic that try to copy container files from one location to another but each one is subtley different so I left the code duplication in place but added support to copy any .uondemandtoc file that might exist. Unlike the .ucas/.utoc the new type is optional so that had to be taken into account.
- ::DeletePakFiles has been updated to also delete all .uondemandtoc files present. The only code path calling this does not seem to be easily accessed, I have added a code comment describing the only method I found that could actually cause it to be executed to hopefully help the next person working in this area.
- Note that in the code branch for creating a patch for chunked installed builds (line 3955) I am not confident that this works at all. All if the file copying operations use 'PatchSourceContentPath' as the source which is almost certainly wrong and the path itself seems to always contain a wildcard character which would cause it to be wrong as well. For now I have followed the current code convention and used 'PatchSourceContentPath' when copying the .uondemandtoc but looking into this code path will need to be it's own work item.
[CL 32020661 by paul chipchase in ue5-main branch]
#rb Martin.Ridgers
#rnx
- Make sure that the path to the pakfile directory and the path to the cryptokeys are properly quoted.
[CL 31983383 by paul chipchase in ue5-main branch]
#rb Martin.Ridgers
#rnx
- Instead of passing in '-Upload=<PathToPaks>' the IasTool expects first a command 'Upload' followed by '<PathToPaks>' as it's own arg.
- Rather than adding an IasTool version of ::GetUnrealPakLocation, I have opted to keep the code all together in a single function as we are likely to remove this from the general staging scripts at some point.
[CL 31902068 by paul chipchase in ue5-main branch]
- Renamed some "FileReference ProjectName" to "FileReference ProjectFile"
- Passing in "null" for a lot of UnrealExe params, instead of "UnrealEditor-Cmd", so allow GetEditorForProject to be called (we must still allow for a true override, so we can't get rid of the param)
- Added FileSystemReference.Exists
#rb David.Harvey
[CL 31660211 by josh adams in ue5-main branch]
* Optionally output a CSV of changed/new packages.
* Add an additional directory input if containers get separated off during a build process
* Catch optional segment containers and patch up the container id per the id fix in a separate CL.
bunch of different preflights due to CIS issues.
#rb fabian.giesen
#jira UE-172130
[CL 31576665 by dan thompson in ue5-main branch]
Localize UAT command now supports taking multiple directories to include and exclude. The -IncludePluginsDirectory and -ExcludePluginsDirectory now both take multiple relative paths separated by the ";" character.
- Examples uses: RunUAT.bat Localize -IncludePluginsDirectory="Plugins/A;Plugins/B" -ExcludePluginsDirectory="Plugins/C;Plugins/D;Plugins/E"
#jira: FORT-697910
#rb: trivial
#test Locally ran the Localize command with multiple directories for -IncludePluginsDirectory and -ExcludePluginsDirectory. Set breakoints to verify that the directories were being processed and the plugisn were indeed being added to the appropriate lists.
[FYI] Jamie.Dale
[CL 31076947 by leon huang in ue5-main branch]
Fix for Auto localization generating absolute file paths instead of relative files paths causing downloads/uploads to fail for localization targets.
#jira: FORT-697929
#rb: grant.medine
[CL 31073545 by leon huang in ue5-main branch]
- Allow Localize UAT command to skip plugins that either have a .uplugin that isn't updated with a localization config generation policy or a config generation policy of Never.
- Added a log to inform user if no localization batches matching the user input criteria were found and early out of the build command.
- Cleaned up the logging for cleaning up auto-generated config files and directories. Now the logs print only when there actually were auto-generated logs and directories.
- All plugins that are a part of the user provided include list that does not have any localization targets or should not be gathered are now removed from the localization list and those plugins are not enabled.
#rb: Jamie.Dale
#jira: FORT-697911
[CL 30837248 by leon huang in ue5-main branch]
Allow multiple localization batches to run with a single invocation of the Editor.
- Previously, when plugins are added each plugin will be gathered by a new Editor process. This change collapses all the batches to be gathered by a single Editor.
- This consolidation is done by writing all of the config files needed for the gather into a .txt file and passed to the GatherText commandlet
- GatherTextCommandlet now supports the -ConfigList parameter which will load a .txt file with 1 config file per line to be executed.
- Introduced the ConsolidateConfigFiles parameter to the Localize UAT command. This consolidates all of the config files across the various localization batches into a single .txt file. This file is then passed to the GatherText commandlet to be run.
#rb: Jamie.Dale
#jira: FORT-697905
#test: Ran this locally to verify that localizing 2 plugins in batches and in consolidated form yield the same result. Non-unity of preflight also passed
[CL 30703287 by leon huang in ue5-main branch]
[FYI] Leon.Huang
Original CL Desc
-----------------------------------------------------------------
Localization:
Allow multiple localization batches to run with a single invocation of the Editor.
- Previously, when plugins are added each plugin will be gathered by a new Editor process. This change collapses all the batches to be gathered by a single Editor.
- This consolidation is done by writing all of the config files needed for the gather into a .txt file and passed to the GatherText commandlet
- GatherTextCommandlet now supports the -ConfigList parameter which will load a .txt file with 1 config file per line to be executed.
- Introduced the ConsolidateConfigFiles parameter to the Localize UAT command. This consolidates all of the config files across the various localization batches into a single .txt file. This file is then passed to the GatherText commandlet to be run.
#rb: Jamie.Dale
#jira: FORT-697905
#test: Ran this locally to verify that localizing 2 plugins in batches and in consolidated form yield the same result
[CL 30681015 by edwin maynard in ue5-main branch]
Allow multiple localization batches to run with a single invocation of the Editor.
- Previously, when plugins are added each plugin will be gathered by a new Editor process. This change collapses all the batches to be gathered by a single Editor.
- This consolidation is done by writing all of the config files needed for the gather into a .txt file and passed to the GatherText commandlet
- GatherTextCommandlet now supports the -ConfigList parameter which will load a .txt file with 1 config file per line to be executed.
- Introduced the ConsolidateConfigFiles parameter to the Localize UAT command. This consolidates all of the config files across the various localization batches into a single .txt file. This file is then passed to the GatherText commandlet to be run.
#rb: Jamie.Dale
#jira: FORT-697905
#test: Ran this locally to verify that localizing 2 plugins in batches and in consolidated form yield the same result
[CL 30680047 by leon huang in ue5-main branch]
CopyBuildToStagingDirectory - Use bAllowPerChunkCompression to enable bCompressed to override global compression settings.
This will correctly allow chunks to opt in and out of being compressed.
NOTE: If DDPI specifies a hardware compression setting of 'None', this won't work as expected because there will be no global compression settings to opt in to. In this case,
set bForceUseProjectCompressionFormatIgnoreHardwareOverride=true and bCompressed=False in [/Script/UnrealEd.ProjectPackagingSettings], then setup whatever project compression settings you would like chunks to
be able to opt in to.
#rb Daniel.Lamb
[CL 30412862 by justin marcus in ue5-main branch]
#rb Per.Larsson
#rnx
- We need to add a whitespace before appending 'AdditionalPakOptions' aotherwise they will be merged with the previous '-WriteTocToDisk' argument.
- We should only do this if we actually have additional pak options to avoid adding a pointless additional ' ' if there are no additional options.
[CL 30410640 by paul chipchase in ue5-main branch]