public override bool Execute() { var logger = new Logger(Log); var sandbox = BuildEngine4.GetRegisteredTaskObject(BuildEngine.ProjectFileOfTaskNode, RegisteredTaskObjectLifetime.Build) as Sanbox; if (sandbox == null) { return(true); } try { sandbox.Client.ExecutePostBuildAdaptations(logger); } catch (Exception e) { logger.Error($"Assembly adaptation pre build execution failed. Details: {e.GetBaseException().Message}"); } return(!Log.HasLoggedErrors); }
public override bool Execute() { var logger = new Logger(Log); var sandbox = BuildEngine4.GetRegisteredTaskObject(BuildEngine.ProjectFileOfTaskNode, RegisteredTaskObjectLifetime.Build) as Sanbox; if (sandbox == null) { return(true); } CompilesToAdd = Enumerable.Empty <ITaskItem>().ToArray(); CompilesToRemove = Enumerable.Empty <ITaskItem>().ToArray(); if (!Test && Assembly.GetEntryAssembly() == null) { return(true); } try { var replacements = sandbox.Client.ReplaceCompileItems(logger); Func <CompileItemReplacement, ITaskItem> selector = r => { return(ItemsCompile.FirstOrDefault(c => string.Equals(c.GetMetadata("FullPath"), r.Source, StringComparison.InvariantCultureIgnoreCase))); }; CompilesToAdd = replacements.Select(r => new TaskItem(r.Target)).OfType <ITaskItem>().ToArray(); CompilesToRemove = replacements.Select(selector).ToArray(); } catch (Exception e) { logger.Error($"Assembly compile replacement failed. Details: {e.GetBaseException().Message}"); } return(!Log.HasLoggedErrors); }
public override bool Execute() { var logger = new Logger(Log); var sandbox = BuildEngine4.GetRegisteredTaskObject(BuildEngine.ProjectFileOfTaskNode, RegisteredTaskObjectLifetime.Build) as Sanbox; if (sandbox == null) { return(true); } try { sandbox.Dispose(); BuildEngine4.UnregisterTaskObject(BuildEngine.ProjectFileOfTaskNode, RegisteredTaskObjectLifetime.Build); } catch (Exception e) { logger.Error($"Success cleanup task failed. Details: {e.GetBaseException().Message}"); } return(!Log.HasLoggedErrors); }