Files
UnrealEngineUWP/Engine/Source/Programs/UnrealBuildTool/Platform/IOS/IOSPostBuildSyncMode.cs
Ryan Durand 9ef3748747 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870955 by Ryan Durand in Main branch]
2019-12-26 23:01:54 -05:00

79 lines
2.8 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tools.DotNETCommon;
namespace UnrealBuildTool
{
[Serializable]
class IOSPostBuildSyncTarget
{
public UnrealTargetPlatform Platform;
public UnrealTargetConfiguration Configuration;
public FileReference ProjectFile;
public string TargetName;
public TargetType TargetType;
public FileReference OutputPath;
public List<string> UPLScripts;
public VersionNumber SdkVersion;
public bool bCreateStubIPA;
public bool bSkipCrashlytics;
public DirectoryReference ProjectDirectory;
public DirectoryReference ProjectIntermediateDirectory;
public string ImportProvision;
public string ImportCertificate;
public string ImportCertificatePassword;
public Dictionary<string, DirectoryReference> FrameworkNameToSourceDir;
public bool bForDistribution = false;
public bool bBuildAsFramework = false;
public IOSPostBuildSyncTarget(ReadOnlyTargetRules Target, FileReference OutputPath, DirectoryReference ProjectIntermediateDirectory, List<string> UPLScripts, VersionNumber SdkVersion, Dictionary<string, DirectoryReference> FrameworkNameToSourceDir)
{
this.Platform = Target.Platform;
this.Configuration = Target.Configuration;
this.ProjectFile = Target.ProjectFile;
this.TargetName = Target.Name;
this.TargetType = Target.Type;
this.OutputPath = OutputPath;
this.UPLScripts = UPLScripts;
this.SdkVersion = SdkVersion;
this.bCreateStubIPA = Target.IOSPlatform.bCreateStubIPA;
this.bSkipCrashlytics = Target.IOSPlatform.bSkipCrashlytics;
this.ProjectDirectory = DirectoryReference.FromFile(Target.ProjectFile) ?? UnrealBuildTool.EngineDirectory;
this.ProjectIntermediateDirectory = ProjectIntermediateDirectory;
this.ImportProvision = Target.IOSPlatform.ImportProvision;
this.ImportCertificate = Target.IOSPlatform.ImportCertificate;
this.ImportCertificatePassword = Target.IOSPlatform.ImportCertificatePassword;
this.FrameworkNameToSourceDir = FrameworkNameToSourceDir;
this.bForDistribution = Target.IOSPlatform.bForDistribution;
this.bBuildAsFramework = Target.bShouldCompileAsDLL;
}
}
[ToolMode("IOSPostBuildSync", ToolModeOptions.XmlConfig | ToolModeOptions.BuildPlatforms)]
class IOSPostBuildSyncMode : ToolMode
{
[CommandLine("-Input=", Required = true)]
public FileReference InputFile = null;
[CommandLine("-XmlConfigCache=")]
public FileReference XmlConfigCache = null;
public override int Execute(CommandLineArguments Arguments)
{
Arguments.ApplyTo(this);
Arguments.CheckAllArgumentsUsed();
// Run the PostBuildSync command
IOSPostBuildSyncTarget Target = BinaryFormatterUtils.Load<IOSPostBuildSyncTarget>(InputFile);
IOSToolChain.PostBuildSync(Target);
return 0;
}
}
}