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); });
}