public ExtensionsFromPluginProvider(Lifetime lifetime, ExtensionLocations extensionLocations, PluginsDirectory pluginsDirectory) { this.lifetime = lifetime; this.extensionLocations = extensionLocations; this.pluginsDirectory = pluginsDirectory; extensions = new CollectionEvents <IExtension>(lifetime, "ExtensionsFromPluginProvider"); }
public ExtensionsSyncSource(Lifetime lifetime, ExtensionLocations extensionLocations, IProductNameAndVersion product, AnyProductSettingsLocation anyProductSettingsLocation) { FilesToSync = new CollectionEvents <IProperty <FileSystemPath> >(lifetime, "ExtensionsSyncSource") { new Property <FileSystemPath>(lifetime, "ExtensionsSyncSource::ExtensionsSettings1", extensionLocations.UserExtensionSettingsFilePath), new Property <FileSystemPath>(lifetime, "ExtensionsSyncSource::ExtensionsSettings2", extensionLocations.UserExtensionSettingsFilePath.ChangeExtension(".xml")), new Property <FileSystemPath>(lifetime, "ExtensionsSyncSource::NuGetPackages.config", extensionLocations.GetBaseLocation(Environment.SpecialFolder.ApplicationData, anyProductSettingsLocation, product).Combine("packages.config")) }; }
public ExtensionsSyncSource(Lifetime lifetime, ExtensionLocations extensionLocations, IProductNameAndVersion product, AnyProductSettingsLocation anyProductSettingsLocation) { FilesToSync = new CollectionEvents<IProperty<FileSystemPath>>(lifetime, "ExtensionsSyncSource") { new Property<FileSystemPath>(lifetime, "ExtensionsSyncSource::ExtensionsSettings1", extensionLocations.UserExtensionSettingsFilePath), new Property<FileSystemPath>(lifetime, "ExtensionsSyncSource::ExtensionsSettings2", extensionLocations.UserExtensionSettingsFilePath.ChangeExtension(".xml")), new Property<FileSystemPath>(lifetime, "ExtensionsSyncSource::NuGetPackages.config", extensionLocations.GetBaseLocation(Environment.SpecialFolder.ApplicationData, anyProductSettingsLocation, product).Combine("packages.config")) }; }
public ExtensionFromPlugin(Lifetime lifetime, Plugin plugin, IExtensionProvider provider, ExtensionLocations extensionLocations) { this.plugin = plugin; this.extensionLocations = extensionLocations; Id = plugin.ID; Enabled = new Property <bool?>(lifetime, string.Format("ExtensionFromPlugin:{0}", Id)); RuntimeInfoRecords = new ListEvents <ExtensionRecord>(lifetime, string.Format("ExtensionFromPlugin:{0}", Id)); Source = provider; Metadata = new ExtensionFromPluginMetadata(plugin); }
public DynamicExtensionLoaderAccessor( IBuildManager buildManager, IVirtualPathProvider virtualPathProvider, IVirtualPathMonitor virtualPathMonitor, IHostEnvironment hostEnvironment, IAssemblyProbingFolder assemblyProbingFolder, IDependenciesFolder dependenciesFolder, IProjectFileParser projectFileParser, ExtensionLocations extensionLocations) : base(buildManager, virtualPathProvider, virtualPathMonitor, hostEnvironment, assemblyProbingFolder, dependenciesFolder, projectFileParser, extensionLocations) { }
public override void PreInitialize() { ExtensionLocations extensionLocations = new ExtensionLocations(); IocManager.Register <IExtensionFolders, ModuleFolders>((IKernel kernel, IDictionary parameters) => { parameters.Add("paths", extensionLocations.ModuleLocations); }); IocManager.Register <IExtensionFolders, ThemeFolders>((IKernel kernel, IDictionary parameters) => { parameters.Add("paths", extensionLocations.ThemeLocations); }); }
public override void PreInitialize() { IocManager.IocContainer.Kernel.ComponentModelBuilder.AddContributor(new ProcessModelEvent()); IocManager.AddConventionalRegistrar(new DependencyConventionalRegistrar(IocManager)); ExtensionLocations extensionLocations = new ExtensionLocations(); IocManager.Register <IExtensionFolders, ModuleFolders>((IKernel kernel, IDictionary parameters) => { parameters.Add("paths", extensionLocations.ModuleLocations); }); IocManager.Register <IExtensionFolders, ThemeFolders>((IKernel kernel, IDictionary parameters) => { parameters.Add("paths", extensionLocations.ThemeLocations); }); }
public VsixExtension(IExtensionProvider provider, NuSpec nuSpec, FileSystemPath location, ExtensionLocations extensionLocations) { var source = GetType().Name; this.nuSpec = nuSpec; this.location = location; this.extensionLocations = extensionLocations; Version = new Version(nuSpec.Version); Metadata = new VsixExtensionMetadata(nuSpec); Supported = true; // TODO Enabled = new Property<bool?>(string.Format("{0}::Enabled", source), null); RuntimeInfoRecords = new ListEvents<ExtensionRecord>(string.Format("{0}::RuntimeInfoRecords", source)); Source = provider; }
public DynamicExtensionLoader( IBuildManager buildManager, IVirtualPathProvider virtualPathProvider, IVirtualPathMonitor virtualPathMonitor, IHostEnvironment hostEnvironment, IAssemblyProbingFolder assemblyProbingFolder, IDependenciesFolder dependenciesFolder, IProjectFileParser projectFileParser, ExtensionLocations extensionLocations) : base(dependenciesFolder) { _buildManager = buildManager; _virtualPathProvider = virtualPathProvider; _virtualPathMonitor = virtualPathMonitor; _hostEnvironment = hostEnvironment; _assemblyProbingFolder = assemblyProbingFolder; _projectFileParser = projectFileParser; _dependenciesFolder = dependenciesFolder; Logger = NullLogger.Instance; _extensionsVirtualPathPrefixes = extensionLocations.ModuleAndThemeLocations; }
public static IContainer CreateHostContainer(Action <ContainerBuilder> registrations) { ExtensionLocations extensionLocations = new ExtensionLocations(); var builder = new ContainerBuilder(); // Application paths and parameters builder.RegisterInstance(extensionLocations); builder.RegisterModule(new CollectionOrderModule()); builder.RegisterModule(new LoggingModule()); builder.RegisterModule(new EventsModule()); builder.RegisterModule(new CacheModule()); // a single default host implementation is needed for bootstrapping a web app domain builder.RegisterType <DefaultOrchardEventBus>().As <IEventBus>().SingleInstance(); builder.RegisterType <DefaultCacheHolder>().As <ICacheHolder>().SingleInstance(); builder.RegisterType <DefaultCacheContextAccessor>().As <ICacheContextAccessor>().SingleInstance(); builder.RegisterType <DefaultParallelCacheContext>().As <IParallelCacheContext>().SingleInstance(); builder.RegisterType <DefaultAsyncTokenProvider>().As <IAsyncTokenProvider>().SingleInstance(); builder.RegisterType <DefaultHostEnvironment>().As <IHostEnvironment>().SingleInstance(); builder.RegisterType <DefaultHostLocalRestart>().As <IHostLocalRestart>().Named <IEventHandler>(typeof(IShellSettingsManagerEventHandler).Name).SingleInstance(); builder.RegisterType <DefaultBuildManager>().As <IBuildManager>().SingleInstance(); builder.RegisterType <DynamicModuleVirtualPathProvider>().As <ICustomVirtualPathProvider>().SingleInstance(); builder.RegisterType <AppDataFolderRoot>().As <IAppDataFolderRoot>().SingleInstance(); builder.RegisterType <DefaultExtensionCompiler>().As <IExtensionCompiler>().SingleInstance(); builder.RegisterType <DefaultRazorCompilationEvents>().As <IRazorCompilationEvents>().SingleInstance(); builder.RegisterType <DefaultProjectFileParser>().As <IProjectFileParser>().SingleInstance(); builder.RegisterType <DefaultAssemblyLoader>().As <IAssemblyLoader>().SingleInstance(); builder.RegisterType <AppDomainAssemblyNameResolver>().As <IAssemblyNameResolver>().SingleInstance(); builder.RegisterType <GacAssemblyNameResolver>().As <IAssemblyNameResolver>().SingleInstance(); builder.RegisterType <OrchardFrameworkAssemblyNameResolver>().As <IAssemblyNameResolver>().SingleInstance(); builder.RegisterType <HttpContextAccessor>().As <IHttpContextAccessor>().InstancePerDependency(); builder.RegisterType <ViewsBackgroundCompilation>().As <IViewsBackgroundCompilation>().SingleInstance(); builder.RegisterType <DefaultExceptionPolicy>().As <IExceptionPolicy>().SingleInstance(); builder.RegisterType <DefaultCriticalErrorProvider>().As <ICriticalErrorProvider>().SingleInstance(); //builder.RegisterType<RazorTemplateCache>().As<IRazorTemplateProvider>().SingleInstance(); RegisterVolatileProvider <WebSiteFolder, IWebSiteFolder>(builder); RegisterVolatileProvider <AppDataFolder, IAppDataFolder>(builder); RegisterVolatileProvider <DefaultLockFileManager, ILockFileManager>(builder); RegisterVolatileProvider <Clock, IClock>(builder); RegisterVolatileProvider <DefaultDependenciesFolder, IDependenciesFolder>(builder); RegisterVolatileProvider <DefaultExtensionDependenciesManager, IExtensionDependenciesManager>(builder); RegisterVolatileProvider <DefaultAssemblyProbingFolder, IAssemblyProbingFolder>(builder); RegisterVolatileProvider <DefaultVirtualPathMonitor, IVirtualPathMonitor>(builder); RegisterVolatileProvider <DefaultVirtualPathProvider, IVirtualPathProvider>(builder); builder.RegisterType <DefaultOrchardHost>().As <IOrchardHost>().As <IEventHandler>() .Named <IEventHandler>(typeof(IShellSettingsManagerEventHandler).Name) .Named <IEventHandler>(typeof(IShellDescriptorManagerEventHandler).Name) .SingleInstance(); { builder.RegisterType <ShellSettingsManager>().As <IShellSettingsManager>().SingleInstance(); builder.RegisterType <ShellContextFactory>().As <IShellContextFactory>().SingleInstance(); { builder.RegisterType <ShellDescriptorCache>().As <IShellDescriptorCache>().SingleInstance(); builder.RegisterType <CompositionStrategy>().As <ICompositionStrategy>().SingleInstance(); { builder.RegisterType <ShellContainerRegistrations>().As <IShellContainerRegistrations>().SingleInstance(); builder.RegisterType <ExtensionLoaderCoordinator>().As <IExtensionLoaderCoordinator>().SingleInstance(); builder.RegisterType <ExtensionMonitoringCoordinator>().As <IExtensionMonitoringCoordinator>().SingleInstance(); builder.RegisterType <ExtensionManager>().As <IExtensionManager>().SingleInstance(); { builder.RegisterType <ExtensionHarvester>().As <IExtensionHarvester>().SingleInstance(); builder.RegisterType <ModuleFolders>().As <IExtensionFolders>().SingleInstance() .WithParameter(new NamedParameter("paths", extensionLocations.ModuleLocations)); builder.RegisterType <CoreModuleFolders>().As <IExtensionFolders>().SingleInstance() .WithParameter(new NamedParameter("paths", extensionLocations.CoreLocations)); builder.RegisterType <ThemeFolders>().As <IExtensionFolders>().SingleInstance() .WithParameter(new NamedParameter("paths", extensionLocations.ThemeLocations)); builder.RegisterType <CoreExtensionLoader>().As <IExtensionLoader>().SingleInstance(); builder.RegisterType <ReferencedExtensionLoader>().As <IExtensionLoader>().SingleInstance(); builder.RegisterType <PrecompiledExtensionLoader>().As <IExtensionLoader>().SingleInstance(); builder.RegisterType <DynamicExtensionLoader>().As <IExtensionLoader>().SingleInstance(); builder.RegisterType <RawThemeExtensionLoader>().As <IExtensionLoader>().SingleInstance(); } } builder.RegisterType <ShellContainerFactory>().As <IShellContainerFactory>().SingleInstance(); } builder.RegisterType <DefaultProcessingEngine>().As <IProcessingEngine>().SingleInstance(); } builder.RegisterType <RunningShellTable>().As <IRunningShellTable>().SingleInstance(); builder.RegisterType <DefaultOrchardShell>().As <IOrchardShell>().InstancePerMatchingLifetimeScope("shell"); builder.RegisterType <SessionConfigurationCache>().As <ISessionConfigurationCache>().InstancePerMatchingLifetimeScope("shell"); registrations(builder); var autofacSection = ConfigurationManager.GetSection(ConfigurationSettingsReaderConstants.DefaultSectionName); if (autofacSection != null) { builder.RegisterModule(new ConfigurationSettingsReader()); } var optionalHostConfig = HostingEnvironment.MapPath("~/Config/Host.config"); if (File.Exists(optionalHostConfig)) { builder.RegisterModule(new ConfigurationSettingsReader(ConfigurationSettingsReaderConstants.DefaultSectionName, optionalHostConfig)); } var optionalComponentsConfig = HostingEnvironment.MapPath("~/Config/HostComponents.config"); if (File.Exists(optionalComponentsConfig)) { builder.RegisterModule(new HostComponentsConfigModule(optionalComponentsConfig)); } var container = builder.Build(); // // Register Virtual Path Providers // if (HostingEnvironment.IsHosted) { foreach (var vpp in container.Resolve <IEnumerable <ICustomVirtualPathProvider> >()) { HostingEnvironment.RegisterVirtualPathProvider(vpp.Instance); } } ControllerBuilder.Current.SetControllerFactory(new OrchardControllerFactory()); FilterProviders.Providers.Add(new OrchardFilterProvider()); GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerSelector), new DefaultOrchardWebApiHttpControllerSelector(GlobalConfiguration.Configuration)); GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerActivator), new DefaultOrchardWebApiHttpControllerActivator(GlobalConfiguration.Configuration)); GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.Filters.Add(new OrchardApiActionFilterDispatcher()); GlobalConfiguration.Configuration.Filters.Add(new OrchardApiExceptionFilterDispatcher()); GlobalConfiguration.Configuration.Filters.Add(new OrchardApiAuthorizationFilterDispatcher()); ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new ThemeAwareViewEngineShim()); var hostContainer = new DefaultOrchardHostContainer(container); //MvcServiceLocator.SetCurrent(hostContainer); OrchardHostContainerRegistry.RegisterHostContainer(hostContainer); // Register localized data annotations ModelValidatorProviders.Providers.Clear(); ModelValidatorProviders.Providers.Add(new LocalizedModelValidatorProvider()); return(container); }
public VsixExtensionProvider(Lifetime lifetime, ExtensionLocations extensionLocations) { this.extensionLocations = extensionLocations; extensions = new CollectionEvents<IExtension>(lifetime, "VsixExtensionProvider"); }
public DynamicModuleVirtualPathProvider(IExtensionDependenciesManager extensionDependenciesManager, ExtensionLocations extensionLocations) { _extensionDependenciesManager = extensionDependenciesManager; Logger = NullLogger.Instance; _extensionsVirtualPathPrefixes = extensionLocations.ExtensionsVirtualPathPrefixes; }