public void Execute(RippleInput 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(RippleInput 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); } } if (input is IAllowExplicitBranch) { var branchingInput = input.As <IAllowExplicitBranch>(); if (branchingInput.BranchFlag.IsNotEmpty()) { BranchDetector.SetBranch(branchingInput.BranchFlag); } } var missing = Solution.MissingNugets().ToList(); var nugets = new List <INugetFile>(); var report = new MissingNugetReport(); if (missing.Any()) { var tasks = missing.Select(x => restore(x, Solution, report, nugets)).ToArray(); Task.WaitAll(tasks); } Solution.ClearFeeds(); Solution.AddFeeds(feeds); if (!report.IsValid()) { RippleLog.InfoMessage(report); RippleAssert.Fail("Could not restore dependencies"); } runner.Set(new DownloadedNugets(nugets)); }
public void Execute(RippleInput input, IRippleStepRunner runner) { var nugetRunner = new NugetStepRunner(Solution); var aggregatePlan = PlanFor(input.As <INugetOperationContext>(), Solution); if (aggregatePlan.Any()) { RippleLog.InfoMessage(aggregatePlan); } aggregatePlan.Execute(nugetRunner); }