Files
UnrealEngineUWP/Engine/Source/Programs/UnrealBuildTool/Platform/IOS/IOSPostBuildSyncMode.cs
Ben Marsh 6f927647b1 Changing C# code over to using EpicGames.Core over DotNETCommon.
#rb none
#rnx

[CL 14962096 by Ben Marsh in ue5-main branch]
2020-12-21 23:07:37 -04:00

81 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 EpicGames.Core;
#nullable disable
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;
}
}
}