// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+using System;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
-public class SimpleTask : Task {
+namespace Foo
+{
+ public class NamespacedOutputTestTask : Task
+ {
+ public override bool Execute()
+ {
+ return true;
+ }
+
+ [Output]
+ public string Property
+ {
+ get { return "some_text"; }
+ }
+ }
+}
+
+public class OutputTestTask : Task {
+ public override bool Execute ()
+ {
+ return true;
+ }
+
+ [Output]
+ public string Property {
+ get { return "some_text"; }
+ }
+}
+
+public class RequiredTestTask_TaskItems : Task {
+ string output;
+ public override bool Execute ()
+ {
+ output = items == null ? "null" : "count: " + items.Length.ToString ();
+ return true;
+ }
+
+ ITaskItem [] items;
+ [Required]
+ public ITaskItem[] Property {
+ set { items = value; }
+ }
+
+ [Output]
+ public string Output
+ {
+ get { return output; }
+ }
+}
+
+public class RequiredTestTask_TaskItem : Task
+{
+ string output;
+ public override bool Execute ()
+ {
+ output = item == null ? "null" : "not null: " + item.ItemSpec;
+ return true;
+ }
+
+ ITaskItem item;
+ [Required]
+ public ITaskItem Property
+ {
+ set { item = value; }
+ }
+
+ [Output]
+ public string Output
+ {
+ get { return output; }
+ }
+}
+
+public class RequiredTestTask_String : Task
+{
+ string output;
+ public override bool Execute ()
+ {
+ output = property == null ? "null" : property.Length.ToString ();
+ return true;
+ }
+
+ string property;
+ [Required]
+ public string Property
+ {
+ set { property = value; }
+ }
+
+ [Output]
+ public string Output
+ {
+ get { return output; }
+ }
+}
+
+public class RequiredTestTask_IntArray: Task
+{
+ string output;
+ public override bool Execute ()
+ {
+ output = items == null ? "null" : "count: " + items.Length.ToString ();
+ return true;
+ }
+
+ int[] items;
+ [Required]
+ public int[] Property
+ {
+ set { items = value; }
+ }
+
+ [Output]
+ public string Output
+ {
+ get { return output; }
+ }
+}
+
+
+public class TrueTestTask : Task {
public override bool Execute ()
{
return true;
}
}
-public class OutputTestTast : Task {
+public class FalseTestTask : Task {
+ public override bool Execute ()
+ {
+ return false;
+ }
+}
+
+public class StringTestTask : Task {
public override bool Execute ()
{
return true;
}
+ string property;
+ string[] array;
+
[Output]
public string Property {
- get { return "some_text"; }
+ get { return property; }
+ set { property = value; }
}
+
+ [Output]
+ public string[] Array {
+ get { return array; }
+ set { array = value; }
+ }
}
+
+public class PublishTestTask : Task {
+ public override bool Execute ()
+ {
+ return true;
+ }
+
+ [Output]
+ public bool True {
+ get { return true; }
+ }
+
+ [Output]
+ public bool False {
+ get { return false; }
+ }
+
+ [Output]
+ public char Char {
+ get { return 'A'; }
+ }
+
+ [Output]
+ public int Int {
+ get { return -100; }
+ }
+
+ [Output]
+ public uint Uint {
+ get { return 100; }
+ }
+
+ [Output]
+ public float Float {
+ get { return 0.5f; }
+ }
+
+ [Output]
+ public double Double {
+ get { return 0.5; }
+ }
+
+ [Output]
+ public DateTime DateTimeNow {
+ get { return DateTime.Now; }
+ }
+}
+
+public class BatchingTestTask : Task
+{
+ ITaskItem [] sources;
+ string [] output;
+ string[] strings;
+ string single_string;
+
+ public override bool Execute ()
+ {
+ return true;
+ }
+
+ public ITaskItem [] Sources
+ {
+ set {
+ sources = value;
+ output = new string [sources.Length];
+ for (int i = 0; i < sources.Length; i++)
+ output [i] = sources [i].ItemSpec;
+ }
+ }
+
+ public string [] Strings
+ {
+ set { strings = value; }
+ }
+
+ public ITaskItem SingleTaskItem
+ {
+ set { single_string = value.ItemSpec; }
+ }
+
+ public string SingleString
+ {
+ set { single_string = value; }
+ }
+
+ [Output]
+ public string SingleStringOutput
+ {
+ get { return single_string; }
+ }
+
+ [Output]
+ public string [] Output
+ {
+ get { return output; }
+ }
+
+ [Output]
+ public string [] StringsOutput
+ {
+ get { return strings; }
+ }
+
+ [Output]
+ public ITaskItem [] TaskItemsOutput
+ {
+ get { return sources; }
+ set { sources = value; }
+ }
+}
+
+namespace Another
+{
+ public class SameTask : Task
+ {
+ string output;
+ public override bool Execute ()
+ {
+ output = "Another.SameTask";
+ return true;
+ }
+
+ [Output]
+ public string OutputString
+ {
+ get { return output; }
+ }
+ }
+}
+
+namespace Other
+{
+ public class SameTask : Task
+ {
+ string output;
+ public override bool Execute ()
+ {
+ output = "Other.SameTask";
+ return true;
+ }
+
+ [Output]
+ public string OutputString
+ {
+ get { return output; }
+ }
+ }
+}
+