Exemplo n.º 1
0
        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));
        }
Exemplo n.º 3
0
        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);
        }