From fa501bf746e3f5c313ee2c2813861dc7e5096113 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 11 Oct 2010 04:27:09 +0530 Subject: [PATCH] [xbuild] Log TaskFinished even when task fails to initialize. --- .../Microsoft.Build.BuildEngine/BuildTask.cs | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildTask.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildTask.cs index 38bdad84bfa..b57dfd7588f 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildTask.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildTask.cs @@ -84,36 +84,38 @@ namespace Microsoft.Build.BuildEngine { [MonoTODO] public bool Execute () { - bool result; + bool result = false; TaskEngine taskEngine; LogTaskStarted (); ITask task = null; try { - task = InitializeTask (); - } catch (Exception e) { - LogError ("Error initializing task {0}: {1}", taskElement.LocalName, e.Message); - LogMessage (MessageImportance.Low, "Error initializing task {0}: {1}", - taskElement.LocalName, e.ToString ()); - return false; - } + try { + task = InitializeTask (); + } catch (Exception e) { + LogError ("Error initializing task {0}: {1}", taskElement.LocalName, e.Message); + LogMessage (MessageImportance.Low, "Error initializing task {0}: {1}", + taskElement.LocalName, e.ToString ()); + return false; + } - try { - taskEngine = new TaskEngine (parentTarget.Project); - taskEngine.Prepare (task, this.taskElement, GetParameters (), this.Type); - result = taskEngine.Execute (); - if (result) - taskEngine.PublishOutput (); - } catch (Exception e) { - task_logger.LogError ("Error executing task {0}: {1}", taskElement.LocalName, e.Message); - task_logger.LogMessage (MessageImportance.Low, - "Error executing task {0}: {1}", taskElement.LocalName, e.ToString ()); - result = false; + try { + taskEngine = new TaskEngine (parentTarget.Project); + taskEngine.Prepare (task, this.taskElement, GetParameters (), this.Type); + result = taskEngine.Execute (); + if (result) + taskEngine.PublishOutput (); + } catch (Exception e) { + task_logger.LogError ("Error executing task {0}: {1}", taskElement.LocalName, e.Message); + task_logger.LogMessage (MessageImportance.Low, + "Error executing task {0}: {1}", taskElement.LocalName, e.ToString ()); + result = false; + } + } finally { + LogTaskFinished (result); } - LogTaskFinished (result); - return result; } -- GitLab