Commit Graph

1615 Commits

Author SHA1 Message Date
david harvey
46f5c56af0 Fix for custom deployment handlers interfering when multiple platforms are specified on the BuildCookRun command line.
#jira UE-218487
#rb tomasz.obrebski
#rnx

[CL 34674250 by david harvey in ue5-main branch]
2024-06-26 09:50:39 -04:00
zousar shaker
67cdc1bbb8 Fix a crash bug when no cooked output exists and you attempt to stage a build.
[CL 34660943 by zousar shaker in ue5-main branch]
2024-06-25 18:32:06 -04:00
zousar shaker
d9a5936c76 Extract CookedPackageStore and CookMetadataFiles functionality from IoStoreUtilities.cpp into Internal headers that allow use from IoStoreUtilities as well as PakFileUtilities. Allows Pak commands to accept a projectstore file argument and make use of data stored in zenserver.
#rb pj.kack

[CL 34623816 by zousar shaker in ue5-main branch]
2024-06-24 18:16:10 -04:00
zousar shaker
839606e1e9 2nd submit: Incremental step towards being able to stage to both a pak build as well as a nopak (streamng) build from a snapshot entirely stored in zenserver (no loose files on the filesystem except a ue.projectstore file).
Key changes:
- Removed the use of cookedfiles.manifest
- Changed IoStore mode of UnrealPak to  be capable of getting zenserver launch data from either a package store manifest (cbobject, metadata) OR a project store marker file (json)
- Ensured that the UAT and IoStore mode of UnrealPak can launch zenserver reliably by passing along the SponsorProcessId when launching zenserver
- Ensured that shader archives (and their accompanying json metadata files) can be read either as loose files on disk or directly from zenserver if it the data for them is internal to zenserver (ie: they have a valid  chunk id)
Remaining work:
- Pak mode of UnrealPak must be able to launch zenserver and pull data from it.

#rb PJ.Kack

[CL 34565129 by zousar shaker in ue5-main branch]
2024-06-21 11:48:33 -04:00
Ryan Hummer
002a22e3b7 Installed Engine Build tweaks
* Improved BuildGraph Compile task batching for Win64 Tools & Datasmith compiles
* Hookup extra compile args for Linux Compile tasks
* Allow extra args for DDC steps and Feature Packs
* Add an option to compile with or with out PCH for Windows Editor/Game

#rnx
#jira none

[CL 34560160 by Ryan Hummer in ue5-main branch]
2024-06-21 09:21:48 -04:00
ben marsh
f7f6ffc00e AutomationTool: Update BuildCommand to use nullable annotations.
#rnx

[CL 34505995 by ben marsh in ue5-main branch]
2024-06-19 13:31:34 -04:00
zousar shaker
082e9969db [Backout] - CL34481610
[FYI] Zousar.Shaker
Original CL Desc
-----------------------------------------------------------------
Incremental step towards being able to stage to both a pak build as well as a nopak (streamng) build from a snapshot entirely stored in zenserver (no loose files on the filesystem except a ue.projectstore file).
Key changes:
- Removed the use of cookedfiles.manifest
- Changed IoStore mode of UnrealPak to  be capable of getting zenserver launch data from either a package store manifest (cbobject, metadata) OR a project store marker file (json)
- Ensured that the UAT and IoStore mode of UnrealPak can launch zenserver reliably by passing along the SponsorProcessId when launching zenserver
- Ensured that shader archives (and their accompanying json metadata files) can be read either as loose files on disk or directly from zenserver if it the data for them is internal to zenserver (ie: they have a valid  chunk id)
Remaining work:
- Pak mode of UnrealPak must be able to launch zenserver and pull data from it.

#rb PJ.Kack

[CL 34498668 by zousar shaker in ue5-main branch]
2024-06-19 10:15:01 -04:00
zousar shaker
a7b5faeaf0 Incremental step towards being able to stage to both a pak build as well as a nopak (streamng) build from a snapshot entirely stored in zenserver (no loose files on the filesystem except a ue.projectstore file).
Key changes:
- Removed the use of cookedfiles.manifest
- Changed IoStore mode of UnrealPak to  be capable of getting zenserver launch data from either a package store manifest (cbobject, metadata) OR a project store marker file (json)
- Ensured that the UAT and IoStore mode of UnrealPak can launch zenserver reliably by passing along the SponsorProcessId when launching zenserver
- Ensured that shader archives (and their accompanying json metadata files) can be read either as loose files on disk or directly from zenserver if it the data for them is internal to zenserver (ie: they have a valid  chunk id)
Remaining work:
- Pak mode of UnrealPak must be able to launch zenserver and pull data from it.

#rb PJ.Kack

[CL 34481636 by zousar shaker in ue5-main branch]
2024-06-18 17:33:46 -04:00
michael wanderson
fa829ba278 ThirdParty source changes
- restored zlib source for cross platform builds in the UE stream
- added ninjabuild support to UBT cmake build target
- some minor catch2 and libpng changes to better support cross platform builds.


#ushell-cherrypick of 34416030 by David.Harvey

[CL 34445726 by michael wanderson in ue5-main branch]
2024-06-17 19:08:04 -04:00
stephen ma
ff0fe033ec Add -projectprogramoverride to allow BuildCookRun to override passed in uproject paramter when building programs.
[REVIEW] josh.adams
#rb Josh.Adams

[CL 34388872 by stephen ma in ue5-main branch]
2024-06-14 19:23:10 -04:00
pj kack
3ad849a688 UnrealPak: When the existing optional .uproject argument is provided first on the commandline, then let UnrealPak use that to set its project directory and override the monolithic engine program directory (Engine/Programs/UnrealPak).
This will make UnrealPak read from and use the project-specific ini files.
This will make UnrealPak write to and use the project-specific Saved directory, e.g. to save the UnrealPak.log file.
In the BuildCookRun/CopyBuildToStagingDirectory scripts always invoke UnrealPak with the .uproject file argument.
Always run UnrealPak itself with -nopak to avoid picking up and mounting any existing pak files in the project directory.

Motivation: When UnrealPak is run with -compressionEnableDDC it needs to use the project's ddc configuration instead of the engine's ddc configuration.

Note: When UnrealPak is invoked without the project argument it will still use the default program directory, and there is no change in behavior when e.g. manually executing inspection commands like list, extract and describe.
Note: All important packaging options are already passed on command line from BuildCookRun/CopyBuildToStagingDirectory, so from that perspective the change should be low risk, but in the future there is a possibility to reduce the number of command line options and rely on the project configuration instead.

#rb per.larsson
#tests identical binary output

[CL 34266589 by pj kack in ue5-main branch]
2024-06-11 03:37:13 -04:00
joe kirchoff
72a8c5996d Fix various XML comment issues in AutomationTool and various scripts (non-functional change)
#rnx

[CL 34263204 by joe kirchoff in ue5-main branch]
2024-06-10 21:51:45 -04:00
graeme thornton
6ccbb2644f [Backout] - CL34089536
[FYI] PJ.Kack
Original CL Desc
-----------------------------------------------------------------
UnrealPak: When the existing optional .uproject argument is provided first on the commandline, then let UnrealPak use that to set its project directory and override the monolithic engine program directory (Engine/Programs/UnrealPak).
This will make UnrealPak read from and use the project-specific ini files.
This will make UnrealPak write to and use the project-specific Saved directory, e.g. to save the UnrealPak.log file.
In the BuildCookRun/CopyBuildToStagingDirectory scripts always invoke UnrealPak with the .uproject file argument.

Motivation: When UnrealPak is run with -compressionEnableDDC it needs to use the project's ddc configuration instead of the engine's ddc configuration.

Note: When UnrealPak is invoked without the project argument it will still use the default program directory, and there is no change in behavior when e.g. manually executing inspection commands like list, extract and describe.
Note: All important packaging options are already passed on command line from BuildCookRun/CopyBuildToStagingDirectory, so from that perspective the change should be low risk, but in the future there is a possibility to reduce the number of command line options and rely on the project configuration instead.

#rb per.larsson
#tests identical binary output

[CL 34107564 by graeme thornton in ue5-main branch]
2024-06-04 17:23:55 -04:00
pj kack
9e01741303 UnrealPak: When the existing optional .uproject argument is provided first on the commandline, then let UnrealPak use that to set its project directory and override the monolithic engine program directory (Engine/Programs/UnrealPak).
This will make UnrealPak read from and use the project-specific ini files.
This will make UnrealPak write to and use the project-specific Saved directory, e.g. to save the UnrealPak.log file.
In the BuildCookRun/CopyBuildToStagingDirectory scripts always invoke UnrealPak with the .uproject file argument.

Motivation: When UnrealPak is run with -compressionEnableDDC it needs to use the project's ddc configuration instead of the engine's ddc configuration.

Note: When UnrealPak is invoked without the project argument it will still use the default program directory, and there is no change in behavior when e.g. manually executing inspection commands like list, extract and describe.
Note: All important packaging options are already passed on command line from BuildCookRun/CopyBuildToStagingDirectory, so from that perspective the change should be low risk, but in the future there is a possibility to reduce the number of command line options and rely on the project configuration instead.

#rb per.larsson
#tests identical binary output

[CL 34089539 by pj kack in ue5-main branch]
2024-06-04 06:12:40 -04:00
pj kack
05aabbc15a BuildCookRun: Always try to copy the default UnrealPak.log file to the UAT logs folder after every invocation of UnrealPak.
This log file may contain more verbose logging than the one generated by RunAndLog() based on stdout/stderr.
Route all calls to UnrealPak through the same RunUnrealPak function.

#rb dan.engelbrecht
#rnx

[CL 33920501 by pj kack in ue5-main branch]
2024-05-27 02:43:45 -04:00
zousar shaker
67fe4b2afe Fix stage/deploy functionality so that if you're using fileserver/projectstore functionality, it doesn't write a layout file that expects loose files (INIs, etc) to be on the filesystem. This required moving some pieces of functionality onto ProjectParams so that they are accessible by a platform automation layer.
#rb dan.engelbrecht, PJ.Kack

[CL 33041507 by zousar shaker in ue5-main branch]
2024-04-17 13:30:25 -04:00
ryan hummer
499148fadf Fixing InstalledEngineBuild failing for licensees
Removing redundant copy as well, as the files are already tagged via other steps

#jira UE-212012
#rb jeremie.roy

[CL 32873716 by ryan hummer in ue5-main branch]
2024-04-11 02:36:20 -04:00
zousar shaker
51ae87ada2 Treat "nopak" staging with use of zenstore as a equivalent to enabling the "fileserver" commandline argument during stage time alone.
#rb dan.engelbrecht

[CL 32772541 by zousar shaker in ue5-main branch]
2024-04-05 16:59:33 -04:00
eric knapik
ddbc03d3a8 Fix issue when trying alternative staging dir.
Dir parameter must exist.

[CL 32640687 by eric knapik in ue5-main branch]
2024-04-01 11:22:44 -04:00
eric knapik
deace613c4 Add fallback option for when the metadata directory does not exist when performing a DLC cook.
Potential location when an override cook dir is provided.

#rb Joshua.Shlemmer

[CL 32547612 by eric knapik in ue5-main branch]
2024-03-27 12:42:36 -04:00
zousar shaker
106b9499e0 Convert ue.projectstore file to json.
#rb dan.engelbrecht

[CL 32464544 by zousar shaker in ue5-main branch]
2024-03-24 22:03:42 -04:00
will brown
2f6c5f922d Calling the CustomCopyHandler during CreatePakResponseFileFromStagingManifest so that the copy output file can be correctly added to the PakResponse
#rb Josh.Adams, Zousar.Shaker

[CL 32346844 by will brown in ue5-main branch]
2024-03-19 21:57:14 -04:00
josh adams
2be3d72a42 - Fixed IsStaged with CrashReportClient living in a staged build
#rb paul.chipchase

[CL 32305504 by josh adams in ue5-main branch]
2024-03-18 13:54:15 -04:00
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