From 70eb7c124540809690384916a91137aa127fc234 Mon Sep 17 00:00:00 2001 From: neoeinstein Date: Tue, 8 Apr 2008 15:43:18 +0000 Subject: [PATCH] BOO-987: Allow script to influence task success or failure. git-svn-id: https://svn.codehaus.org/boo/boo/trunk@2911 2c1201b4-01cd-e047-a400-b836ae1fbc61 --- src/Boo.Microsoft.Build.Tasks/AbstractScript.boo | 4 ++++ src/Boo.Microsoft.Build.Tasks/ExecBoo.boo | 1 + 2 files changed, 5 insertions(+) diff --git a/src/Boo.Microsoft.Build.Tasks/AbstractScript.boo b/src/Boo.Microsoft.Build.Tasks/AbstractScript.boo index 97675c35..76e72e7f 100644 --- a/src/Boo.Microsoft.Build.Tasks/AbstractScript.boo +++ b/src/Boo.Microsoft.Build.Tasks/AbstractScript.boo @@ -3,6 +3,7 @@ namespace Boo.Microsoft.Build.Tasks abstract class AbstractScript: [property(Task)] _task as ExecBoo [property(Arguments)] _args = System.Collections.Generic.Dictionary[of string,string]() + [property(Success)] _success = true Output: get: return Task.ScriptResult @@ -33,12 +34,15 @@ abstract class AbstractScript: def error([default(string.Empty)] msg as string): _task.Log.LogError(msg) + _success = false def error([default(string.Empty)] obj): error(obj.ToString()) + _success = false def error([required] ex as System.Exception): _task.Log.LogErrorFromException(ex) + _success = false abstract def Run(): pass \ No newline at end of file diff --git a/src/Boo.Microsoft.Build.Tasks/ExecBoo.boo b/src/Boo.Microsoft.Build.Tasks/ExecBoo.boo index 53705ef8..9d6a092e 100644 --- a/src/Boo.Microsoft.Build.Tasks/ExecBoo.boo +++ b/src/Boo.Microsoft.Build.Tasks/ExecBoo.boo @@ -78,6 +78,7 @@ class ExecBoo(Task): script.Task = self WithWorkingDir(Path.GetDirectoryName(script.Task.BuildEngine.ProjectFileOfTaskNode)) do: script.Run() + _buildSuccess = script.Success except x: Log.LogErrorFromException(x, true, true, _src) _buildSuccess = false -- 2.11.4.GIT