private ITaskRunnerNode LoadHierarchy(string configPath) { string configFileName = Path.GetFileName(configPath); string cwd = Path.GetDirectoryName(configPath); ITaskRunnerNode root = new TaskRunnerNode("Cake"); // Build TaskRunnerNode buildDev = CreateTask(cwd, $"Default ({configFileName})", "Runs 'cake build.cake'", configFileName); var tasks = TaskParser.LoadTasks(configPath); var commands = tasks.Select( t => CreateTask(cwd, t.Key, $"Runs {configFileName} with the \"{t.Key}\" target", buildDev.Command.Args + $" {t.Value}")); buildDev.Children.AddRange(commands); root.Children.Add(buildDev); return(root); }
private ITaskRunnerNode LoadHierarchy(string configPath) { var configFileName = Path.GetFileName(configPath); var cwd = Path.GetDirectoryName(configPath); ITaskRunnerNode root = new TaskRunnerNode("Cake"); // Build var buildDev = CreateTask(cwd, $"Default ({configFileName})", "Runs 'cake build.cake'", configFileName); var tasks = TaskParser.LoadTasks(configPath); var commands = tasks.Select( t => CreateTask(cwd, t.Key, $"Runs {configFileName} with the \"{t.Key}\" target", buildDev.Command.Args + $" {t.Value}")); var nodes = commands as IList <TaskRunnerNode> ?? commands.ToList(); buildDev.Children.AddRange(nodes); root.Children.Add(buildDev); CakePackage.Dte.ShowStatusBarText($"Loaded {nodes.Count} tasks from {configFileName}"); return(root); }