Files
UnrealEngine/Engine/Source/Programs/UnrealBuildTool/Platform/TVOS/TVOSExports.cs
2025-05-18 13:04:45 +08:00

103 lines
3.9 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using EpicGames.Core;
using Microsoft.Extensions.Logging;
namespace UnrealBuildTool
{
/// <summary>
/// Public TVOS functions exposed to UAT
/// </summary>
public static class TVOSExports
{
/// <summary>
///
/// </summary>
/// <param name="InProject"></param>
/// <param name="Distribution"></param>
/// <param name="MobileProvision"></param>
/// <param name="SigningCertificate"></param>
/// <param name="TeamUUID"></param>
/// <param name="bAutomaticSigning"></param>
public static void GetProvisioningData(FileReference InProject, bool Distribution, out string? MobileProvision, out string? SigningCertificate, out string? TeamUUID, out bool bAutomaticSigning)
{
IOSProjectSettings ProjectSettings = ((TVOSPlatform)UEBuildPlatform.GetBuildPlatform(UnrealTargetPlatform.TVOS)).ReadProjectSettings(InProject);
if (ProjectSettings == null)
{
MobileProvision = null;
SigningCertificate = null;
TeamUUID = null;
bAutomaticSigning = false;
return;
}
if (ProjectSettings.bAutomaticSigning)
{
MobileProvision = null;
SigningCertificate = null;
TeamUUID = ProjectSettings.TeamID;
bAutomaticSigning = true;
}
else
{
IOSProvisioningData Data = ((IOSPlatform)UEBuildPlatform.GetBuildPlatform(UnrealTargetPlatform.TVOS)).ReadProvisioningData(ProjectSettings, Distribution);
if (Data == null)
{
MobileProvision = null;
SigningCertificate = null;
TeamUUID = ProjectSettings.TeamID;
bAutomaticSigning = true;
}
else
{
MobileProvision = Data.MobileProvision;
SigningCertificate = Data.SigningCertificate;
TeamUUID = Data.TeamUUID;
bAutomaticSigning = false;
}
}
}
/// <summary>
///
/// </summary>
/// <param name="Config"></param>
/// <param name="ProjectFile"></param>
/// <param name="InProjectName"></param>
/// <param name="InProjectDirectory"></param>
/// <param name="Executable"></param>
/// <param name="InEngineDir"></param>
/// <param name="bForDistribution"></param>
/// <param name="CookFlavor"></param>
/// <param name="bIsDataDeploy"></param>
/// <param name="bCreateStubIPA"></param>
/// <param name="BuildReceiptFileName"></param>
/// <param name="Logger"></param>
/// <returns></returns>
public static bool PrepForUATPackageOrDeploy(UnrealTargetConfiguration Config, FileReference ProjectFile, string InProjectName, DirectoryReference InProjectDirectory, FileReference Executable, DirectoryReference InEngineDir, bool bForDistribution, string CookFlavor, bool bIsDataDeploy, bool bCreateStubIPA, FileReference BuildReceiptFileName, ILogger Logger)
{
TargetReceipt Receipt = TargetReceipt.Read(BuildReceiptFileName);
return new UEDeployTVOS(Logger).PrepForUATPackageOrDeploy(Config, ProjectFile, InProjectName, InProjectDirectory.FullName, Executable, InEngineDir.FullName, bForDistribution, CookFlavor, bIsDataDeploy, bCreateStubIPA, Receipt);
}
/// <summary>
///
/// </summary>
/// <param name="ProjectFile"></param>
/// <param name="Config"></param>
/// <param name="ProjectDirectory"></param>
/// <param name="bIsUnrealGame"></param>
/// <param name="GameName"></param>
/// <param name="bIsClient"></param>
/// <param name="ProjectName"></param>
/// <param name="InEngineDir"></param>
/// <param name="AppDirectory"></param>
/// <param name="Receipt"></param>
/// <param name="Logger"></param>
/// <returns></returns>
public static bool GeneratePList(FileReference ProjectFile, UnrealTargetConfiguration Config, DirectoryReference ProjectDirectory, bool bIsUnrealGame, string GameName, bool bIsClient, string ProjectName, DirectoryReference InEngineDir, DirectoryReference AppDirectory, TargetReceipt Receipt, ILogger Logger)
{
return new UEDeployTVOS(Logger).GeneratePList(ProjectFile, Config, ProjectDirectory.FullName, bIsUnrealGame, GameName, bIsClient, ProjectName, InEngineDir.FullName, AppDirectory.FullName, Receipt);
}
}
}