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 31076958 by leon huang in 5.4 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 31073605 by leon huang in 5.4 branch]
Fix issue with auto-gen localization.
- Auto-gen localization config files are now correctly generating relative file paths.
- This allows auto-gen plugin localization targets to be uploaded to localization providers correctly.
On behalf of Leon Huang
#rb grant.medine
#tests Stepped through the upload code for Smartling. Without this code, the destination path is (wrongly) the absolute path to the plugin, resulting in the plugin not being able to be found. With this change and stepping through again, the destination path was rightly the relative path to the plugin and the plugin could be uploaded locally.
[CL 31018230 by leon huang in 5.4 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]
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]