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
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
}
public BuildEventContext BuildEventContext {
- get {
- return context;
+ get { return context; }
+ set {
+ if (value == null)
+ throw new ArgumentNullException ("value");
+ context = value;
}
}
}
--- /dev/null
+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);
+ }
+}
+
--- /dev/null
+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);
+ }
+}
+
--- /dev/null
+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; }
+ }
+}
+