3using System.Collections.Generic;
6using System.IO.Compression;
9using Newtonsoft.Json.Linq;
11using Nuke.Common.Utilities.Collections;
14using Nuke.Common.Utilities;
16using static
Nuke.Common.IO.PathConstruction;
30 T Self<T>() where T : INukeBuild => (T)(
object)
this;
31 T? SelfAs<T>() where T :
class, INukeBuild => (object)
this as T;
41 Target Package => _ => _
42 .Description(
"Same as running Package Project from Editor")
45 u => u.CleanDeployment,
52 var
self = Self<UnrealBuild>();
53 var androidTextureMode = SelfAs<IAndroidTargets>()?.TextureMode
54 ?? [ AndroidCookFlavor.Multi ];
57 var appLocalDir = self.UnrealEnginePath /
"Engine" /
"Binaries" /
"ThirdParty" /
"AppLocalDependencies";
58 self.Config.ForEach(config =>
63 .Target(
self.ProjectName)
64 .Clientconfig(
self.Config)
66 .AppLocalDirectory(appLocalDir)
67 .If(
self.ForDistribution(), _ => _
71 .ScriptsForProject(
self.ProjectPath)
72 .Targetplatform(
self.Platform)
77 .Archivedirectory(
self.GetOutput())
78 .If(InvokedTargets.Contains(
self.Cook),
82 .If(!InvokedTargets.Contains(
self.BuildEditor), _ => _
85 .If(isAndroidPlatform, _ => _
86 .Cookflavor(androidTextureMode)
88 .Apply(
self.UatGlobal)
91 .AppendRaw(
self.GetArgumentBlock(
"uat"))
92 )(
"", workingDirectory:
self.UnrealEnginePath);
The main build class Unreal projects using Nuke.Unreal should inherit from. This class contains all b...
A collection of utilities around basic functions regarding the environment of the Engine we're workin...
static Tool AutomationTool(EngineVersion ofVersion)
Prepare invocation for UAT.
Target for packaging the current project we're working on.
UatConfig UatPackage(UatConfig _)
UAT arguments to be applied every time UAT is called for Packaging. Explicitly implement this functio...