Bottles.PackagingRuntimeGraph.activatePackages C# (CSharp) 메소드

activatePackages() 개인적인 메소드

private activatePackages ( IEnumerable packages, IEnumerable discoveredActivators ) : void
packages IEnumerable
discoveredActivators IEnumerable
리턴 void
        private void activatePackages(IEnumerable<IPackageInfo> packages, IEnumerable<IActivator> discoveredActivators)
        {
            IEnumerable<IActivator> discoveredPlusRegisteredActivators = discoveredActivators.Union(_activators).ToArray();

            IEnumerable<IEnvironmentRequirement> requirements =
                discoveredPlusRegisteredActivators.OfType<IEnvironmentRequirements>().SelectMany(x => x.Requirements());

            _diagnostics.LogExecutionOnEach(requirements, (req, log) => { req.Check(log); });

            // Do not bother to run any activators
            if (_diagnostics.HasErrors())
            {
                return;
            }

            _diagnostics.LogExecutionOnEach(discoveredPlusRegisteredActivators,
                (activator, log) => { activator.Activate(packages, log); });
        }