From 865929c434ae39d62f72cd1b0157fe916c7976a7 Mon Sep 17 00:00:00 2001 From: "Frank A. Krueger" Date: Fri, 23 Mar 2018 13:58:29 -0700 Subject: [PATCH] Turn linker resolution errors into warnings --- Ooui.Wasm.Build.Tasks/BuildDistTask.cs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Ooui.Wasm.Build.Tasks/BuildDistTask.cs b/Ooui.Wasm.Build.Tasks/BuildDistTask.cs index 363a921..7ae6da5 100644 --- a/Ooui.Wasm.Build.Tasks/BuildDistTask.cs +++ b/Ooui.Wasm.Build.Tasks/BuildDistTask.cs @@ -123,6 +123,7 @@ namespace Ooui.Wasm.Build.Tasks context.CoreAction = AssemblyAction.CopyUsed; context.UserAction = AssemblyAction.CopyUsed; context.OutputDirectory = managedPath; + context.IgnoreUnresolved = true; pipeline.PrependStep (new ResolveFromAssemblyStep (asmPath, ResolveFromAssemblyStep.RootVisibility.Any)); @@ -212,7 +213,7 @@ namespace Ooui.Wasm.Build.Tasks p.AppendStep (new PreserveUsingAttributesStep (bclAssemblies.Values.Select (Path.GetFileNameWithoutExtension))); p.AppendStep (new BlacklistStep ()); p.AppendStep (new TypeMapStep ()); - p.AppendStep (new MarkStep ()); + p.AppendStep (new MarkStepWithUnresolvedLogging { Log = Log }); p.AppendStep (new SweepStep ()); p.AppendStep (new CleanStep ()); p.AppendStep (new RegenerateGuidStep ()); @@ -220,6 +221,21 @@ namespace Ooui.Wasm.Build.Tasks return p; } + class MarkStepWithUnresolvedLogging : MarkStep + { + public TaskLoggingHelper Log; + + protected override void HandleUnresolvedType (TypeReference reference) + { + Log.LogWarning ($"Failed to resolve type {reference}"); + } + + protected override void HandleUnresolvedMethod (MethodReference reference) + { + Log.LogWarning ($"Failed to resolve method {reference}"); + } + } + void ExtractClientJs () { var oouiPath = refpaths.FirstOrDefault (x => Path.GetFileName (x).Equals ("Ooui.dll", StringComparison.InvariantCultureIgnoreCase));