public void Execute(SolutionInput input, IRippleStepRunner runner) { var feeds = Solution.Feeds.ToArray(); if (input is IOverrideFeeds) { var overrides = input.As<IOverrideFeeds>().Feeds(); if (overrides.Any()) { Solution.ClearFeeds(); Solution.AddFeeds(overrides); } } var missing = Solution.MissingNugets().ToList(); var nugets = new List<INugetFile>(); if (missing.Any()) { var tasks = missing.Select(x => restore(x, Solution, nugets)).ToArray(); Task.WaitAll(tasks); } Solution.ClearFeeds(); Solution.AddFeeds(feeds); runner.Set(new DownloadedNugets(nugets)); }
public void Execute(SolutionInput input, IRippleStepRunner runner) { var nugetRunner = new NugetStepRunner(Solution); var aggregatePlan = PlanFor(input.As<INugetOperationContext>(), Solution); RippleLog.InfoMessage(aggregatePlan); aggregatePlan.Execute(nugetRunner); }