public static void LoadPackages(Action <IPackageFacility> configuration, bool runActivators = true)
{
_packages.Clear();
Diagnostics = new PackagingDiagnostics();
var record = new PackageLoadingRecord();
Diagnostics.LogExecution(record, () =>
{
var facility = new PackageFacility();
var assemblyLoader = new AssemblyLoader(Diagnostics);
var graph = new PackagingRuntimeGraph(Diagnostics, assemblyLoader, _packages);
var codeLocation = findCallToLoadPackages();
graph.PushProvenance(codeLocation);
configuration(facility);
facility.Configure(graph);
graph.PopProvenance();
graph.DiscoverAndLoadPackages(() =>
{
_assemblies.Clear();
_assemblies.AddRange(assemblyLoader.Assemblies);
}, runActivators);
});
record.Finished = DateTime.Now;
//_packages.Clear();
}