103 lines
3.9 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|