public string CreateConstructor() { var sb = new StringBuilder(); sb.AppendLine("\t\tpublic Default()"); sb.AppendLine("\t\t{"); foreach (var property in _project.Properties) { sb.AppendFormat("\t\t\t{0}{1}", CreatePropertySetter(property.Value), Environment.NewLine); } sb.AppendLine(); sb.Append( "\t\t\t//TODO: Correct Order. The task order is generated in the order they are found in the file (which is probably not the order they need to be run in)"); sb.AppendLine(); var defaultTarget = _project.Targets.Select(x => x).Where(x => x.Name == _project.DefaultTarget).First(); foreach (var target in TargetTreeBuilder.CreateTree(defaultTarget)) { sb.AppendFormat("\t\t\tAddTask({0});{1}", target.Name.ToVariableString(), Environment.NewLine); } sb.AppendLine("\t\t}"); return(sb.ToString()); }
public void TwoDepencanciesOnCleanShouldWork() { //default needs clean and compile //compile also needs clean var defaultTarget = new Target() { Name = "BuildAll" }; var compileTarget = new Target() { Name = "Compile" }; var cleanTarget = new Target() { Name = "Clean" }; compileTarget.DependsOn.Add(cleanTarget); defaultTarget.DependsOn.Add(cleanTarget); defaultTarget.DependsOn.Add(compileTarget); var targets = TargetTreeBuilder.CreateTree(defaultTarget); Assert.That(targets[0].Name, Is.EqualTo(cleanTarget.Name)); Assert.That(targets[1].Name, Is.EqualTo(compileTarget.Name)); Assert.That(targets[2].Name, Is.EqualTo(defaultTarget.Name)); }
public void NestedDepencanciesShouldWork() { //default needs compile which needs clean var defaultTarget = new Target() { Name = "BuildAll" }; var compileTarget = new Target() { Name = "Compile" }; var cleanTarget = new Target() { Name = "Clean" }; compileTarget.DependsOn.Add(cleanTarget); defaultTarget.DependsOn.Add(compileTarget); var targets = TargetTreeBuilder.CreateTree(defaultTarget); Assert.That(targets[0], Is.EqualTo(cleanTarget)); Assert.That(targets[1], Is.EqualTo(compileTarget)); Assert.That(targets[2], Is.EqualTo(defaultTarget)); }
public void TestSimpleDependancy() { var defaultTarget = new Target() { Name = "BuildAll" }; var cleanTarget = new Target() { Name = "Clean" }; defaultTarget.DependsOn.Add(cleanTarget); var targets = TargetTreeBuilder.CreateTree(defaultTarget); Assert.That(targets[0], Is.EqualTo(cleanTarget)); Assert.That(targets[1], Is.EqualTo(defaultTarget)); }