Source code for uetools.commands.uat.cook

from dataclasses import dataclass

from argklass.command import Command

from uetools.core.conf import find_project, uat
from uetools.core.run import popen_with_format
from uetools.core.util import command_builder
from uetools.format.cooking import CookingFormatter

from .arguments import BuildCookRunArguments

# ogMonitoredProcess: Running Serialized UAT: [ cmd.exe /c
# ""E:/UnrealEngine/Engine/Build/BatchFiles/RunUAT.bat"
#   -ScriptsForProject="E:/Examples/Acaraceim/Acaraceim.uproject"
#   Turnkey
#   -command=VerifySdk
#   -platform=Win64
#   -UpdateIfNeeded
#   -EditorIO
#   -EditorIOPort=54995
#   -project="E:/Examples/Acaraceim/Acaraceim.uproject"
#   BuildCookRun
#   -nop4
#   -utf8output
#   -nocompileeditor
#   -skipbuildeditor
#   -cook
#   -project="E:/Examples/Acaraceim/Acaraceim.uproject"
#   -target=AcaraceimClient
#   -unrealexe="E:\UnrealEngine\Engine\Binaries\Win64\UnrealEditor-Cmd.exe"
#   -platform=Win64
#   -stage
#   -archive
#   -package
#   -build
#   -pak
#   -iostore
#   -compressed
#   -prereqs
#   -archivedirectory="E:/Examples/Acaraceim/Saved/StagedBuilds"
#   -client
#   -clientconfig=Shipping
#   -nodebuginfo"
#   -nocompile
#   -nocompileuat ]


[docs] class CookGameUAT(Command): """Cook your main game using UAT""" name: str = "cook" # fmt: off
[docs] @dataclass class Arguments(BuildCookRunArguments): build : bool = True cook : bool = True stage : bool = True prereqs : bool = True distribution : bool = True pak : bool = True unattended : bool = True utf8output : bool = True noP4 : bool = True nullrhi : bool = True nocompileeditor : bool = True skipbuildeditor : bool = True nodebuginfo : bool = True
# fmt: on
[docs] @staticmethod def execute(args): assert args.project is not None args.project = find_project(args.project) uat_args = command_builder(args) cmd = [uat()] + ["BuildCookRun"] + uat_args + ["-nocompileuat"] print(" ".join(cmd)) fmt = CookingFormatter(24) fmt.print_non_matching = True returncode = popen_with_format(fmt, cmd, shell=False) fmt.summary() return returncode
COMMANDS = CookGameUAT