diff options
author | Atsushi Eno <atsushieno@veritas-vos-liberabit.com> | 2013-11-19 12:44:37 +0400 |
---|---|---|
committer | Atsushi Eno <atsushieno@veritas-vos-liberabit.com> | 2013-12-03 11:51:40 +0400 |
commit | 580fa5a9db86bb265dfd1c4eab3326a7b9653a18 (patch) | |
tree | 6ea1c9a6740740015a19f87d4d67e67bbd001a2a /mcs/class/Microsoft.Build.Framework | |
parent | 687bd6fa3115f960adf02132618739c19f3467fc (diff) |
Add missing ITaskFactory/2 and co. Add BuildEventArgs.set_Context().
Diffstat (limited to 'mcs/class/Microsoft.Build.Framework')
5 files changed, 59 insertions, 2 deletions
diff --git a/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework.dll.sources b/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework.dll.sources index d8be848568e..d24bf602ad3 100644 --- a/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework.dll.sources +++ b/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework.dll.sources @@ -32,6 +32,8 @@ Microsoft.Build.Framework/IForwardingLogger.cs Microsoft.Build.Framework/ILogger.cs Microsoft.Build.Framework/INodeLogger.cs Microsoft.Build.Framework/ITask.cs +Microsoft.Build.Framework/ITaskFactory.cs +Microsoft.Build.Framework/ITaskFactory2.cs Microsoft.Build.Framework/ITaskHost.cs Microsoft.Build.Framework/ITaskItem.cs Microsoft.Build.Framework/ITaskItem2.cs @@ -54,6 +56,7 @@ Microsoft.Build.Framework/TargetStartedEventHandler.cs Microsoft.Build.Framework/TaskCommandLineEventArgs.cs Microsoft.Build.Framework/TaskFinishedEventArgs.cs Microsoft.Build.Framework/TaskFinishedEventHandler.cs +Microsoft.Build.Framework/TaskPropertyInfo.cs Microsoft.Build.Framework/TaskStartedEventArgs.cs Microsoft.Build.Framework/TaskStartedEventHandler.cs diff --git a/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/BuildEventArgs.cs b/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/BuildEventArgs.cs index c92eaba1c65..fd2c709dd04 100644 --- a/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/BuildEventArgs.cs +++ b/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/BuildEventArgs.cs @@ -97,8 +97,11 @@ namespace Microsoft.Build.Framework } public BuildEventContext BuildEventContext { - get { - return context; + get { return context; } + set { + if (value == null) + throw new ArgumentNullException ("value"); + context = value; } } } diff --git a/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/ITaskFactory.cs b/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/ITaskFactory.cs new file mode 100644 index 00000000000..0d6820b8dcd --- /dev/null +++ b/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/ITaskFactory.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; + +namespace Microsoft.Build.Framework +{ + public interface ITaskFactory + { + string FactoryName { get; } + Type TaskType { get; } + void CleanupTask (ITask task); + ITask CreateTask (IBuildEngine taskFactoryLoggingHost); + TaskPropertyInfo [] GetTaskParameters (); + bool Initialize (string taskName, IDictionary<string, TaskPropertyInfo> parameterGroup, string taskBody, IBuildEngine taskFactoryLoggingHost); + } +} + diff --git a/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/ITaskFactory2.cs b/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/ITaskFactory2.cs new file mode 100644 index 00000000000..4659870f511 --- /dev/null +++ b/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/ITaskFactory2.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace Microsoft.Build.Framework +{ + interface ITaskFactory2 : ITaskFactory + { + ITask CreateTask (IBuildEngine taskFactoryLoggingHost, IDictionary<string, string> taskIdentityParameters); + bool Initialize (string taskName, IDictionary<string, string> factoryIdentityParameters, IDictionary<string, TaskPropertyInfo> parameterGroup, string taskBody, IBuildEngine taskFactoryLoggingHost); + } +} + diff --git a/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/TaskPropertyInfo.cs b/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/TaskPropertyInfo.cs new file mode 100644 index 00000000000..a6fbfaaf63e --- /dev/null +++ b/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework/TaskPropertyInfo.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; + +namespace Microsoft.Build.Framework +{ + [Serializable] + public class TaskPropertyInfo + { + public TaskPropertyInfo (string name, Type typeOfParameter, bool output, bool required) + { + Name = name; + PropertyType = typeOfParameter; + Output = output; + Required = required; + } + + public string Name { get; private set; } + public bool Output { get; private set; } + public Type PropertyType { get; private set; } + public bool Required { get; private set; } + } +} + |