public static IModularityConfiguration ConfigureBootstrapperOptions(this IModularityConfiguration configuration, Action <BootstrapperOptions> action) { configuration.ServiceCollection.Configure <BootstrapperOptions>(action); return(configuration); }
public static IModularityConfiguration UseStaticCatalog(this IModularityConfiguration configuration, params Assembly[] assemblies) { configuration.ServiceCollection.AddSingleton <IAssemblyCatalog>(new StaticAssemblyCatalog(assemblies)); return(configuration); }
private void ObtainConfiguredModules() { if (_modulesConfigured) { return; } _modulesConfigured = true; IConfigurationService configurationService = ServiceLocator.Current.GetInstance <IConfigurationService>(); IModularityConfiguration modularityConfiguration = configurationService.Get <IModularityConfiguration>(); IModulesRepository modulesRepository = ServiceLocator.Current.GetInstance <IModulesRepository>(); string[] moduleNames = modularityConfiguration.Modules; if (moduleNames != null) { foreach (string moduleName in moduleNames) { try { IModule module = modulesRepository.GetInstance(moduleName); modulesRepository.RegisterInstance(module); module.Initialize(_cancellationToken); } catch (Exception ex) { _log.Error($"Failed to register Module with name '{moduleName}'.", ex); } } } }
public static IModularityConfiguration UseDirectoryCatalog(this IModularityConfiguration configuration, string basePath, string[] patterns) { configuration.ServiceCollection.Configure <DirectoryAssemblyCatalogOptions>(options => { options.BasePath = basePath; options.Patterns = patterns; }); configuration.ServiceCollection.AddSingleton <IAssemblyCatalog, DirectoryAssemblyCatalog>(); return(configuration); }