Files
UnrealEngineUWP/Engine/Source/Programs/AutomationTool/AllDesktop/AllDesktopPlatform.Automation.cs
Wes Hunt cefa87e4b7 Ionic.zip code import
* Moving Ionic.Zip source code into UE4 from UE4 source.
* Only one left should be in Binaries/DotNET.
* Moving TPS info to source location.
* Deleting several copies that were floating around.

Assembly Resolve Refactor
* Added AssemblyUtils.InstallAssemblyResolver to handle resolving of known assemblies that may not exist in the same folder as the referencing assembly.
* This is now installed by UAT and UBT, which should handle all needs to load Ionic.Zip and RPCUtility.exe from scripts that install into subfolders of Binaries/DotNET.
* Other assemblies can be added easily as necesary, centralizing the location where this is handled.
* Removed AssemblyResolver from RPCUtilHelper as UBT handles it automatically now.
* Removed Ionic.Zip references from projects that weren't really using it.
#codereview:ben.marsh

[CL 2646891 by Wes Hunt in Main branch]
2015-08-06 15:55:44 -04:00

144 lines
4.0 KiB
C#

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Diagnostics;
using System.Net.NetworkInformation;
using System.Threading;
using AutomationTool;
using UnrealBuildTool;
public class AllDesktopPlatform : Platform
{
public AllDesktopPlatform()
: base(UnrealTargetPlatform.AllDesktop)
{
}
public override bool CanBeCompiled()
{
return false;
}
public override UnrealTargetPlatform[] GetStagePlatforms()
{
return new UnrealTargetPlatform[]
{
UnrealTargetPlatform.Win32,
// UnrealTargetPlatform.Win64,
UnrealTargetPlatform.Mac,
UnrealTargetPlatform.Linux,
};
}
public override void Package(ProjectParams Params, DeploymentContext SC, int WorkingCL)
{
SC.bIsCombiningMultiplePlatforms = true;
string SavedPlatformDir = SC.PlatformDir;
foreach (UnrealTargetPlatform DesktopPlatform in GetStagePlatforms())
{
Platform SubPlatform = Platform.Platforms[DesktopPlatform];
SC.PlatformDir = DesktopPlatform.ToString();
SubPlatform.Package(Params, SC, WorkingCL);
}
SC.PlatformDir = SavedPlatformDir;
SC.bIsCombiningMultiplePlatforms = false;
}
public override void GetFilesToArchive(ProjectParams Params, DeploymentContext SC)
{
SC.bIsCombiningMultiplePlatforms = true;
string SavedPlatformDir = SC.PlatformDir;
foreach (UnrealTargetPlatform DesktopPlatform in GetStagePlatforms())
{
Platform SubPlatform = Platform.Platforms[DesktopPlatform];
SC.PlatformDir = DesktopPlatform.ToString();
SubPlatform.GetFilesToArchive(Params, SC);
}
SC.PlatformDir = SavedPlatformDir;
SC.bIsCombiningMultiplePlatforms = false;
}
public override void GetConnectedDevices(ProjectParams Params, out List<string> Devices)
{
Devices = new List<string>();
}
public override ProcessResult RunClient(ERunOptions ClientRunFlags, string ClientApp, string ClientCmdLine, ProjectParams Params)
{
return null;
}
public override void GetFilesToDeployOrStage(ProjectParams Params, DeploymentContext SC)
{
SC.bIsCombiningMultiplePlatforms = true;
string SavedPlatformDir = SC.PlatformDir;
foreach (UnrealTargetPlatform DesktopPlatform in GetStagePlatforms())
{
Platform SubPlatform = Platform.Platforms[DesktopPlatform];
SC.PlatformDir = DesktopPlatform.ToString();
SubPlatform.GetFilesToDeployOrStage(Params, SC);
}
SC.PlatformDir = SavedPlatformDir;
SC.bIsCombiningMultiplePlatforms = false;
}
public override void ProcessArchivedProject(ProjectParams Params, DeploymentContext SC)
{
Console.WriteLine("***************************** PROCESSING ARCHIVED PROJECT ****************");
SC.bIsCombiningMultiplePlatforms = true;
string SavedPlatformDir = SC.PlatformDir;
foreach (UnrealTargetPlatform DesktopPlatform in GetStagePlatforms())
{
Platform SubPlatform = Platform.Platforms[DesktopPlatform];
SC.PlatformDir = DesktopPlatform.ToString();
SubPlatform.ProcessArchivedProject(Params, SC);
}
SC.PlatformDir = SavedPlatformDir;
SC.bIsCombiningMultiplePlatforms = false;
Console.WriteLine("***************************** DONE PROCESSING ARCHIVED PROJECT ****************");
}
/// <summary>
/// Gets cook platform name for this platform.
/// </summary>
/// <param name="CookFlavor">Additional parameter used to indicate special sub-target platform.</param>
/// <returns>Cook platform string.</returns>
public override string GetCookPlatform(bool bDedicatedServer, bool bIsClientOnly, string CookFlavor)
{
return "AllDesktop";
}
public override bool DeployPakInternalLowerCaseFilenames()
{
return false;
}
public override bool DeployLowerCaseFilenames(bool bUFSFile)
{
return false;
}
public override bool IsSupported { get { return true; } }
public override string Remap(string Dest)
{
return Dest;
}
public override PakType RequiresPak(ProjectParams Params)
{
return PakType.DontCare;
}
public override List<string> GetDebugFileExtentions()
{
return new List<string> { };
}
}