#rb none
#jira none
#rnx
#preflight 646492502d446eac96a6fff9
- Each payload in the package is loaded or pulled and checked to make sure that it:
-- Could be accessed.
-- The hash stored in the FCompressedBuffer is the same as the original requested hash.
-- That the payload can be decompressed.
-- That the decompressed payload when hashed has the same hash as the original request.
- This should catch cases where the payload cannot be found or is corrupted in some way.
[CL 25503830 by paul chipchase in ue5-main branch]
#rb trivial
#jira none
#preflight 645cc3cc2965f6ea8e81cfab
- If a project contained too many packages the final .csv output file might be too large to import into some spread sheet systems, in these cases we need to split the output into multiple smaller .csv files.
- The output is now sent to its own subdirectory under saved, ''/payloadmanifest/"
- When done the commandlet will report the file path of each .csv written to disk
- Add the number of payloads discovered to the final output summary.
[CL 25424197 by paul chipchase in ue5-main branch]
#rb none
#jira UE-178523
#preflight 6437a727d03b1c87ddf5ca15
- The commandlets now accept '-PackageDir=' and '-PackageFolder=' commnad line args.
[CL 25021806 by paul chipchase in ue5-main branch]
#rb none
#jira UE-182196
#rnx
#preflight 642d2b1389339023eb66b663
- The new cmdline option will download each payload and make sure that the data is correct in addition to checking that the payload exists.
- Note: There is no way to control which backend returns the payload so the VA graph, or cmdline parameters would need to be changed be the caller to make sure they are checking the backend that they are interested in.
-- This new option is fairly slow and is intended to be used as part of an automated checking system rather than by users themselves, so needing to change the graph and running the commandlet once per backend that needs testing shouldn't be too hard to do.
[CL 24924696 by paul chipchase in ue5-main branch]
#rb none
#rnx
#preflight 641c01e2a6092dfb8dfa1478
- The previous default iteration mode could saturdate the worker threads, which would prevent the Zen DDC backend from running clean up code resulting in very large memory spikes.
- We now launch a limited number of tasks that process a limited number of payloads before completing. Once a task is finsihed we issue another until there is no more work to do.
- This seems to strike a good balance of keeping the network transfer at peak speed but allowing other systems time on the cpu.
- Removed all the experimental iteration modes and going all in on this solution, which makes the code easier to parse.
[CL 24759860 by paul chipchase in ue5-main branch]
#rb trivial
#jira none
#rnx
#preflight 640adf1eaf3fc352929322a9
- When a tester tried '-run=VirtualizationEditor.???' via powershell a spece was added so the editor got '-run=VirtualizationEditor .???' which doesn't parse correctly.
- Change the documentation to suggest using '-run="VirtualizationEditor.???"' so that the original text is preserved.
[CL 24588709 by paul chipchase in ue5-main branch]
#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]
#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]
#rb trivial
#jira UE-178518
#preflight 63fcb6f560163ed3c22e3d35
- The option will only checkin packages that were checked out by the commandlet. Local files or packages that were already open for edit will not be submitted.
[CL 24422913 by paul chipchase in ue5-main branch]
#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]
#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]
#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]
#rb Per.Larsson
#jira UE-172167
#rnx
#preflight 63c649b50225f00e1466bf92
- Cmdline to use '-run=VirtualizationEditor.RehydrateProject'.
- The commandlet will first scan the project to find all packages (.uasset/.umap) and then attempt to rehydrate them.
- If revision control is enabled then virtualized packages will be checked out using the current settings for the project (so things like -P4Changelist= will work)
[CL 23735823 by paul chipchase in ue5-main branch]
#rb Per.Larsson
#jira UE-172166
#rnx
#preflight 63c64982d040694ab83efdd1
- Cmdline to use '-run=VirtualizationEditor.VirtualizeProject'.
- The commandlet will first scan the project to find all packages (.uasset/.umap) and then attempt to virtualize them.
- If revision control is enabled then virtualized packages will be checked out using the current settings for the project (so things like -P4Changelist= will work)
[CL 23735820 by paul chipchase in ue5-main branch]
#rb Per.Larsson
#jira UE-169626
#rnx
#preflight 63bd670a71079a8d1c0e837b
- Since the API was forcing the caller to pass in a results structure to be filled in, we might as well make it the return value.
- Added a ::WasSuccessful method to the results structures that can be used instead of checking if the result had errors or not.
- Remove the reset method from FVirtualizationResult/FRehydrationResult as they no longer need it.
- The older deprecated methods still use the results enum, so we cannot easily deprecate those enums yet.
[CL 23626072 by paul chipchase in ue5-main branch]