Commit Graph

8 Commits

Author SHA1 Message Date
paul chipchase
1619183e14 Factor out the multithreaded pull system from PrecachePayloadsCommandlet to the general utilities so that other VA commandlets can make use of it.
#rb trivial
#jira UE-182196
#rnx
#preflight 642c20f5d6069e71b1f39f80

[CL 24909424 by paul chipchase in ue5-main branch]
2023-04-04 09:16:58 -04:00
paul chipchase
9b96e61b1b Move some comon functionality from UPrecachePayloadsCommandlet to the general utilities so that other commandlets can use it.
#rb trivial
#jira UE-182196
#rnx
#preflight 642bff7689339023ebf971fa

[CL 24908348 by paul chipchase in ue5-main branch]
2023-04-04 07:05:12 -04:00
paul chipchase
9e48b8d00b Fix the 'CheckForVirtualizedContent ' commandlet to be able to check engine content once again.
#rb none
#jira UE-174785
#rnx
#preflight 63ff0ceeae54ee4ce912c17c

- Recently how we discover packages for the VA commandlets was changed to be much faster but it was also changed to automatically filter out all engine content as we removed the optional (opt in) feature of virtualizing engine content.
- This meant that 'CheckForVirtualizedContent' would not be able to check engine packages if '-CheckEngine' was set as we were not providing the commandlet with them.
- ::FindAllPackages has been renamed ::FindPackages and both it and ::DiscoverPackages now accept a flags parameter that allows the caller to request that engine content be excluded.
- Although most commandlets do not want engine content, having the engine content filter as opt in closer matches existing apis and will probably lead to less mistakes.

[CL 24459148 by paul chipchase in ue5-main branch]
2023-03-01 03:47:24 -05:00
paul chipchase
4a9de4ab1b The VA commandlet 'ValidateVirtualizedContent' now iterates over all packages in a project and makes sure that any virtualized payloads encountered can be found in persistent storage. The original version of this commandlet has been renamed to 'CheckForVirtualizedContent' and continues to be used to make sure that virtualized packages do not get submitted to places that they should not.
#rb trivial
#jira UE-176611
#preflight 63fe18fcf43e53f68189d869

- Renamed UValidateVirtualizedContentCommandlet to UCheckForVirtualizedContentCommandlet. P4 rename was not done because I wanted to repurpose UValidateVirtualizedContentCommandlet and adding new versions of the code files after renaming them is likely to cause weird p4 merge issues in the future.

[CL 24442899 by paul chipchase in ue5-main branch]
2023-02-28 10:48:04 -05:00
paul chipchase
5b0faa30ca Speed up package discovery for VA commandlets.
#rb Per.Larsson
#jira UE-167454
#rnx
#preflight 63f5e5b9ac06ce789f047431

- Replace use of ::NormalizePackageNames with the asset registry for finding packages.
- We can use the async version of SearchAllAssets so that we don't have to wait on the asset registry cache being saved to disk.
- ::FindAllPackages now returns all paths in our standard form (relative to Engine\Binaries\<Platform>) where as NormalizePackageNames would return a mix of formats depending on the mount point location.

[CL 24359197 by paul chipchase in ue5-main branch]
2023-02-22 07:39:51 -05:00
paul chipchase
aeea97a14a Virtualization commandlets now exclude engine packages.
#rb trivial
#jira UE-177015
#preflight 63eb87720a06073fef3110dd

- In CL 24208899 we removed the option to virtualize engine content which means that the virtualization commandlets can use NORMALIZE_ExcludeEnginePackages when searching for packages.
- This helps make our logging a bit more readable, for example if someone were to run the virtualize project commandlet on a new project containing only a single package we will no longer return the number of engine packages + 1 when reporting how many packages are being considered for virtualization. This should help the user to have more confidence in the numbers that we are reporting.

[CL 24209315 by paul chipchase in ue5-main branch]
2023-02-14 08:14:57 -05:00
paul chipchase
90e67c80bf Add a commandlet -run=VirtualizationEditor.ValidateVirtualizedContent to validate that the engine/project/directory does not contain virtualized data
#rb Per.Larsson
#jira UE-174785
#rnx
#preflight 63d3d027f6267152017a68dd

- There are some circumstances where we want to be sure that locations do not contain virtualized data. As an example we were to accidently virtualize an engine package and then distribute that with an engine release it will not work for people. This commandlet is designed to be run as part of a CIS to detect this sort of thing and raise errors so that they can be corrected.
- We support three forms of validation
-- '-CheckEngine' which errors if the engine or its plugins contain virtualized data
-- '-CheckProject' which errors if the current project or its plugins contain virtualized data
-- '-CheckDir' which errors if the given directory or its subdirectories contain virtualized data. More than one path can be supplied by using '+' as the delimiter.

[CL 23905198 by paul chipchase in ue5-main branch]
2023-01-30 04:56:40 -05:00
paul chipchase
2566e67f35 Move some common commandlet code to a utility file so that the virtualization commandlets can share.
#rb Sebastian.Nordgren
#rnx
#preflight 63c11303305002c641cda826

[CL 23675149 by paul chipchase in ue5-main branch]
2023-01-13 03:31:00 -05:00