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]
Fix numeric separators being mistaken for single characters (which were being treated as strings) and consuming text it shouldn't have
Add detection for missing #undef LOCTEXT_NAMESPACE if one has been defined in the file
#rb Ben.Marsh
[CL 30380139 by marc audy in ue5-main branch]
The file open log is a facility that automatically keeps a log of all files the process has opened and their order. This is rather expensive as it (a) also tracks failed attempts to open files and (b) it maintains a large table in memory, storing which files have already been opened (so every file is only logged once). This table can easily grow into the tens of megabytes; even on an empty project I see this taking 60MB by itself. Making this optional allows us to skip this step for UEFN cloud cooks: in these cases we're throwing that log file away anyway.
#rb rob.perren
[CL 30344591 by sebastian schoner in ue5-main branch]
Introduced opt in localization for plugins. Plugins can be set to never have localization config files generated, auto-generated or have the localization pipeline use the user generated localization config files.
- All existing plugins with localization targets will be retrofitted to have a LocalizationConfigGenerationPolicy of Never to match current behavior.
- Introduced the LocalizationConfigGenerationPolicy enum to plugin descriptors and LocalizationTargetDescriptors. This controls whether plugin localization targets use user generated localization config files, auto-generated localization config files or if the plugin is never to have localization config files and thus not localized.
- Introduced a step in the Localize UAT command to auto-generate localization config files with default settings for plugins that opt into the auto-generation feature.
- Added a clean up step in the Localize uAT command to delete all auto-generated files and folders from a run of the command.
- Added a -PreserveAutoGeneratedResources flag for the Localize UAT command to preserve the auto-generated files and directories for debugging.
-Updated both the C# and C++ version of the LocalizationTargetDescriptor to contain the new LocalizationConfigGenerationPolicy and have them read and written from the plugin descriptor files.
- Updated the NewPluginLocalizationTarget command under the LocalizationTargetEditor UAT command to accept a LocalizationConfigGenerationPolicy as a command line argument for all plugin localization targets to be created.
If the parameter is not specified, the parameter defaults to the Auto LocalizationConfigGenerationPolicy for all the plugins specified.
#rb: Jamie.Dale
#jira: UE-194880, UE-194879
#test Used the NewPluginLocalizationTarget sub-command to create plugins with an auto localization target. Used the Localize UAT command to perform a gather for such a plugin. Config files were indeed generated, the plugin was gathered and the loc data stored in PluginName/Content/Localization and then the config files were deleted. No fuss, no muss
[CL 30172150 by leon huang in ue5-main branch]
[FYI] j.baumgartner
Original CL Desc
-----------------------------------------------------------------
[SubmitTool]
- Add CheckBalancedMacros validator and functionality to the script to accept a file list
- Added some extra error checking for CheckCopyrightNotices validator
- Add CheckUnacceptableWords validator and functionality to the script to accept a file list
- Fix an unacceptable word in SubmitTool.ini
#rb juan.legaz
[CL 30084969 by grant medine in ue5-main branch]
- Add CheckBalancedMacros validator and functionality to the script to accept a file list
- Added some extra error checking for CheckCopyrightNotices validator
- Add CheckUnacceptableWords validator and functionality to the script to accept a file list
- Fix an unacceptable word in SubmitTool.ini
#rb juan.legaz
[CL 29987348 by j baumgartner in ue5-main branch]
We have an option to skip encryption for PAK files but is it not consistently applied. This shows up for example when building the Content Worker: it sets the -SkipEncrpytion parameter in its packaging stage, yet the PAK tool is invoked with -encryptindex. This is relevant for modular builds, since those might not have encryption keys loaded at the time that the first PAK files are loaded.
[REVIEW] graeme.thornton
#rb Graeme.Thornton
[CL 29887972 by sebastian schoner in ue5-main branch]