- It needs to have CookerSupportFilesSubdirectory passed in to BuildCookRun to activate (giving it the name of a subdirectory under the Staged directory to put the SDK files)
- it also writes a .bat file that can set the envvars needed for the minimal SDKs to be found by Unreal
#rb graeme.thornton
#preflight 634f1e9069246074dba2f09a
#p4v-cherrypick 22616289
[CL 22634717 by josh adams in ue5-main branch]
- Added code to patch paths for handling Programs having source in /Engine/Source/Programs/XYZ, their config fies, etc in /Engine/Programs/XYZ, and staging using /XYZ
- Mac can now apply -specifiedarchitecture to UAT builds of programs
- Added support to SlateUGS to load Pak files (programs have to opt-in to it in their main Build.cs)
#rb brandon.schaefer,david.harvey
#preflight 631a03202b7fe03eb6b0f16a
[CL 21894674 by Josh Adams in ue5-main branch]
The problem was that blueprint-only projects would return true for IsCodeBasedUProjectFile during staging. The issue was triggered by CL 21214930 where PropertyCacheKey (ProjectUtils.cs) was added. Before this change GetProjectProperties worked based only on the path to .uproject. After the change, it also takes the platform and configurations into account. It means that:
GetProjectProperties("...", SomePlatform, Debug)
GetProjectProperties("...", null, Debug)
may return different results. While it's probably the core or the fix this change implemented, it may given unexpected results because when null is passed as a list of platforms, internally all available platforms are taken into account and if only one of them requires the project to be compiled IsCodeBasedUProjectFile will return true, which may not be what our code is expected to see. That's what happened during staging - IsCodeBasedUProjectFile was invoked two times in a slightly different way leading to the automation code handling blueprint-only projects in an inconsistent-way during the whole process.
Fixed by modifying DeploymentContext to initialize IsCodeBasedProject by passing both the current platform and configurations.
#preflight 630e6bd0501b64ba334c3c2a
#rb none
#jira UE-162001
#rnx
[CL 21711241 by Wojciech Krywult in ue5-main branch]
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035
[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
Setting CustomConfig=Foo in a Target.cs file will cause it to overlay config files from Project/Config/Custom/Foo on top of the defaults, allowing easy override of things like OSS settings to support multiple stores
In development, -CustomConfig=foo can be specified in both C++ and C# to enable the same functionality, which can be used to select between multiple different stage/deploy configurations in a build script
#rb josh.adams, ben.marsh
#ROBOMERGE-SOURCE: CL 17017130 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v839-17012307)
[CL 17017144 by ben zeigler in ue5-release-engine-test branch]
- Fixed issue where -archive did not work with -skippackage for several platforms.
- Modified behaviour of -archive -archivedirectory so <path> will only become <path>/<CookedPlatform> *IF* <path> does not already contain CookedPlatform or PlatformName
Both of these issues allow greater flexibility in build scripts.
Specifically the first allows -package and -archive to be performed in separate steps which is necessary for scripts that want to "do stuff" before archiving or have different per-platform logic before archiving.
The second gives scripts flexibility in selecing directory structures without adding unncessary components.
E.g. a script can now archive development builds to <BuildDir>/<Project>/PS4/Development/<Project>.pkg without it becoming <BuildDir>/<Project>/PS4/Development/PS4/<Project>.pkg
#jira nojira
#rb swarm
#review-15847235 @jeff.farris, @yuriy.odonnell @josh.adams @jeff.newquist
(Checked in prior to feedback due to being a prerequisite for some Frosty tests)
[CL 15848176 by Andrew Grant in ue5-main branch]
- Formalizing all TargetPlatforms to have a Client version, rename WindowsNoEditor to Windows, and removing DDPI specification of TargetPlatforms, and generate them programmatically
- Updated names DeviceProfiles and Build scripts, as above
- Some PlatformInfo class cleanup
- Added a TNonDesktopTargetPlatformBase class to make most TargetPlatforms simpler
- Added "No Compiled Support" to the Turnkey LaunchOn menu when the TargetPlatforms aren't compiled in (to show that even if you install an SDK, you will need to compile before you can LaunchOn)\
- Starting the transition away from PlatformInfo::FPlatformInfo to FDDPI
[CL 13966487 by Josh Adams in ue5-main branch]