mirror of
https://github.com/MirrorNetworking/Mirror.git
synced 2024-11-18 02:50:32 +00:00
removing program class (#2161)
This commit is contained in:
parent
799e85a2e6
commit
aa49c54dd0
@ -144,7 +144,7 @@ static void OnCompilationFinished(string assemblyPath, CompilerMessage[] message
|
|||||||
HashSet<string> dependencyPaths = GetDependecyPaths(assemblyPath);
|
HashSet<string> dependencyPaths = GetDependecyPaths(assemblyPath);
|
||||||
|
|
||||||
// passing null in the outputDirectory param will do an in-place update of the assembly
|
// passing null in the outputDirectory param will do an in-place update of the assembly
|
||||||
if (Program.Process(unityEngineCoreModuleDLL, mirrorRuntimeDll, null, new[] { assemblyPath }, dependencyPaths.ToArray(), HandleWarning, HandleError))
|
if (Weaver.Process(unityEngineCoreModuleDLL, mirrorRuntimeDll, null, new[] { assemblyPath }, dependencyPaths.ToArray(), HandleWarning, HandleError))
|
||||||
{
|
{
|
||||||
// NOTE: WeaveFailed is critical for unit tests but isn't used elsewhere
|
// NOTE: WeaveFailed is critical for unit tests but isn't used elsewhere
|
||||||
WeaveFailed = false;
|
WeaveFailed = false;
|
||||||
|
20
Assets/Mirror/Editor/Weaver/Log.cs
Normal file
20
Assets/Mirror/Editor/Weaver/Log.cs
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Mirror.Weaver
|
||||||
|
{
|
||||||
|
public static class Log
|
||||||
|
{
|
||||||
|
public static Action<string> WarningMethod;
|
||||||
|
public static Action<string> ErrorMethod;
|
||||||
|
|
||||||
|
public static void Warning(string msg)
|
||||||
|
{
|
||||||
|
WarningMethod(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Error(string msg)
|
||||||
|
{
|
||||||
|
ErrorMethod(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,62 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace Mirror.Weaver
|
|
||||||
{
|
|
||||||
public static class Log
|
|
||||||
{
|
|
||||||
public static Action<string> WarningMethod;
|
|
||||||
public static Action<string> ErrorMethod;
|
|
||||||
|
|
||||||
public static void Warning(string msg)
|
|
||||||
{
|
|
||||||
WarningMethod(msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void Error(string msg)
|
|
||||||
{
|
|
||||||
ErrorMethod(msg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class Program
|
|
||||||
{
|
|
||||||
public static bool Process(string unityEngine, string netDLL, string outputDirectory, string[] assemblies, string[] extraAssemblyPaths, Action<string> printWarning, Action<string> printError)
|
|
||||||
{
|
|
||||||
CheckDllPath(unityEngine);
|
|
||||||
CheckDllPath(netDLL);
|
|
||||||
CheckOutputDirectory(outputDirectory);
|
|
||||||
CheckAssemblies(assemblies);
|
|
||||||
Log.WarningMethod = printWarning;
|
|
||||||
Log.ErrorMethod = printError;
|
|
||||||
return Weaver.WeaveAssemblies(assemblies, extraAssemblyPaths, outputDirectory, unityEngine, netDLL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void CheckDllPath(string path)
|
|
||||||
{
|
|
||||||
if (!File.Exists(path))
|
|
||||||
throw new Exception("dll could not be located at " + path + "!");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void CheckAssemblies(IEnumerable<string> assemblyPaths)
|
|
||||||
{
|
|
||||||
foreach (string assemblyPath in assemblyPaths)
|
|
||||||
CheckAssemblyPath(assemblyPath);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void CheckAssemblyPath(string assemblyPath)
|
|
||||||
{
|
|
||||||
if (!File.Exists(assemblyPath))
|
|
||||||
throw new Exception("Assembly " + assemblyPath + " does not exist!");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void CheckOutputDirectory(string outputDir)
|
|
||||||
{
|
|
||||||
if (outputDir != null && !Directory.Exists(outputDir))
|
|
||||||
{
|
|
||||||
Directory.CreateDirectory(outputDir);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -345,7 +345,7 @@ static bool Weave(string assName, AssemblyDefinition unityAssembly, AssemblyDefi
|
|||||||
|
|
||||||
// write to outputDir if specified, otherwise perform in-place write
|
// write to outputDir if specified, otherwise perform in-place write
|
||||||
WriterParameters writeParams = new WriterParameters { WriteSymbols = true };
|
WriterParameters writeParams = new WriterParameters { WriteSymbols = true };
|
||||||
if (outputDir != null)
|
if (!string.IsNullOrEmpty(outputDir))
|
||||||
{
|
{
|
||||||
CurrentAssembly.Write(Helpers.DestinationFileFor(outputDir, assName), writeParams);
|
CurrentAssembly.Write(Helpers.DestinationFileFor(outputDir, assName), writeParams);
|
||||||
}
|
}
|
||||||
@ -359,7 +359,7 @@ static bool Weave(string assName, AssemblyDefinition unityAssembly, AssemblyDefi
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool WeaveAssemblies(IEnumerable<string> assemblies, IEnumerable<string> dependencies, string outputDir, string unityEngineDLLPath, string mirrorNetDLLPath)
|
static bool WeaveAssemblies(IEnumerable<string> assemblies, IEnumerable<string> dependencies, string outputDir, string unityEngineDLLPath, string mirrorNetDLLPath)
|
||||||
{
|
{
|
||||||
WeavingFailed = false;
|
WeavingFailed = false;
|
||||||
WeaveLists = new WeaverLists();
|
WeaveLists = new WeaverLists();
|
||||||
@ -387,5 +387,44 @@ public static bool WeaveAssemblies(IEnumerable<string> assemblies, IEnumerable<s
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static bool Process(string unityEngine, string netDLL, string outputDirectory, string[] assemblies, string[] extraAssemblyPaths, Action<string> printWarning, Action<string> printError)
|
||||||
|
{
|
||||||
|
Validate(unityEngine, netDLL, outputDirectory, assemblies, extraAssemblyPaths);
|
||||||
|
Log.WarningMethod = printWarning;
|
||||||
|
Log.ErrorMethod = printError;
|
||||||
|
return WeaveAssemblies(assemblies, extraAssemblyPaths, outputDirectory, unityEngine, netDLL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Validate(string unityEngine, string netDLL, string outputDirectory, string[] assemblies, string[] extraAssemblyPaths)
|
||||||
|
{
|
||||||
|
CheckDllPath(unityEngine);
|
||||||
|
CheckDllPath(netDLL);
|
||||||
|
CheckOutputDirectory(outputDirectory);
|
||||||
|
CheckAssemblies(assemblies);
|
||||||
|
}
|
||||||
|
static void CheckDllPath(string path)
|
||||||
|
{
|
||||||
|
if (!File.Exists(path))
|
||||||
|
throw new Exception("dll could not be located at " + path + "!");
|
||||||
|
}
|
||||||
|
static void CheckAssemblies(IEnumerable<string> assemblyPaths)
|
||||||
|
{
|
||||||
|
foreach (string assemblyPath in assemblyPaths)
|
||||||
|
CheckAssemblyPath(assemblyPath);
|
||||||
|
}
|
||||||
|
static void CheckAssemblyPath(string assemblyPath)
|
||||||
|
{
|
||||||
|
if (!File.Exists(assemblyPath))
|
||||||
|
throw new Exception("Assembly " + assemblyPath + " does not exist!");
|
||||||
|
}
|
||||||
|
static void CheckOutputDirectory(string outputDir)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(outputDir) && !Directory.Exists(outputDir))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(outputDir);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user