Commit Graph

1592 Commits

Author SHA1 Message Date
graeme thornton
160f915a6f Handle a case where a custom stage copy handler is specified but cannot be found. Catch the exception and continue with a warning
#rb will.brown

[CL 32245514 by graeme thornton in ue5-main branch]
2024-03-14 10:57:13 -04:00
bob tellez
71af430da1 [Backout] - CL32181808
[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]
2024-03-13 00:39:06 -04:00
josh adams
869985981d - 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 32181819 by josh adams in ue5-main branch]
2024-03-12 11:48:25 -04:00
paul chipchase
6934fbffe4 Improve .uondemandtoc handling during staging.
#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]
2024-03-05 10:36:41 -05:00
josh adams
7c99ad4d71 - Added StagedBuild.ini file to staged builds so runtime code can determine if the build is staged or not
- Using it now in SubmitTool and in ProjectDir() logic
#rb paul.chipchase

[CL 32017558 by josh adams in ue5-main branch]
2024-03-05 08:45:23 -05:00
paul chipchase
af6970375e Fix the IAS staging arg '-Upload=LocalZen' to work with projects that contain spaces in their path.
#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]
2024-03-04 03:28:12 -05:00
ben marsh
89455d1556 Update allowed .NET versions to fix build warnings, and add support for parsing NET core versions.
#jira UE-208533

[CL 31910618 by ben marsh in ue5-main branch]
2024-02-29 11:26:16 -05:00
paul chipchase
e206a99620 Changed the staging option '-Upload=LocalZen' to use IasTool rather than UnrealPak.
#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]
2024-02-29 05:20:55 -05:00
josh adams
2b258842b5 - Cleaned up remaining UnrealEditor-Cmd.exe hardcodes, and using the recently checked in GetEditorForProject function
- 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]
2024-02-20 18:03:33 -05:00
josh adams
386e9bdc0e - Split up the UAT BuildCommand into 2 agendas, one for project targets, one for shared, so per-project SDKs won't cause conflicts with shared targets
#rb david.harvey

[CL 31578265 by josh adams in ue5-main branch]
2024-02-16 15:41:57 -05:00
dan thompson
15fd28a21e Reference Chunk Database:
* 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]
2024-02-16 15:10:30 -05:00
per larsson
ffb7f81acf UAT - include container files (.utoc/.ucas) when checking for existing staged files
#rb Paul.Chipchase
#jira UE-205954

[CL 31380291 by per larsson in ue5-main branch]
2024-02-12 09:12:57 -05:00
leon huang
f25546bc2b Localization:
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]
2024-01-31 20:17:05 -05:00
leon huang
09e2f44d45 Localization:
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]
2024-01-31 19:09:34 -05:00
zousar shaker
9f1b48b917 Change naming of .projectstore to ue.projectstore to avoid having hidden by default status on Mac/Linux.
#rb dan.engelbrecht

[CL 31054932 by zousar shaker in ue5-main branch]
2024-01-31 13:01:29 -05:00
chris babcock
9ece3c0a0c Add x86_64 architecture to Android installed build
#jira UE-198183
#android
[REVIEW] [at]Jack.Porter
#rb Jack.Porter

[CL 31022164 by chris babcock in ue5-main branch]
2024-01-30 16:50:06 -05:00
joe kirchoff
68c06bfbcc UnrealBuildTool: Remove VS2019 support
#jira UE-190039

[CL 30943783 by joe kirchoff in ue5-main branch]
2024-01-26 17:21:00 -05:00
leon huang
4ca1807120 Localization:
- 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]
2024-01-24 04:20:16 -05:00
leon huang
e081b22abe 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. Non-unity of preflight also passed

[CL 30703287 by leon huang in ue5-main branch]
2024-01-18 19:28:00 -05:00
edwin maynard
095a90ad86 [Backout] - CL30679846
[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]
2024-01-18 07:07:19 -05:00
leon huang
cc4f2e613f 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 30680047 by leon huang in ue5-main branch]
2024-01-18 05:02:14 -05:00
will brown
cd95976e6b UAT - Extending ICustomStageCopyHandler to support overriding of the plugin manifest file creation. Allows game projects to have control over how plugin descriptors are added to the manifest
#rb Josh.Adams, robert.millar

[CL 30668433 by will brown in ue5-main branch]
2024-01-17 16:09:07 -05:00
justin marcus
b43cbb53f2 GenerateStreamingInstallManifest - Add AllowPerChunkCompressionWildcard to allow pak files to opt into or out of being compressed through CompressedChunkWildcard.
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]
2023-12-20 11:01:36 -05:00
paul chipchase
3a42001e9c Fix the use of 'AdditionalPakOptions' when '-Upload=LocalZen' is set during staging
#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]
2023-12-20 07:59:58 -05:00
marc audy
1650901674 Fix single character overconsuming
[CL 30385309 by marc audy in ue5-main branch]
2023-12-18 18:39:14 -05:00