public ExtensionsManager(IOptions <ScriptJobHostOptions> hostOptions, ILogger <ExtensionsManager> logger, IExtensionBundleManager extensionBundleManager) { _scriptRootPath = hostOptions.Value.RootScriptPath; _nugetFallbackPath = hostOptions.Value.NugetFallBackPath; _logger = logger; _extensionBundleManager = extensionBundleManager; }
public ScriptStartupTypeLocator(string rootScriptPath, ILogger <ScriptStartupTypeLocator> logger, IExtensionBundleManager extensionBundleManager, IFunctionMetadataProvider functionMetadataProvider) { _rootScriptPath = rootScriptPath ?? throw new ArgumentNullException(nameof(rootScriptPath)); _extensionBundleManager = extensionBundleManager ?? throw new ArgumentNullException(nameof(extensionBundleManager)); _logger = logger; _functionMetadataProvider = functionMetadataProvider; }
public ExtensionsController(IExtensionsManager extensionsManager, ScriptSettingsManager settingsManager, IExtensionBundleManager extensionBundleManager, IEnvironment environment) { _extensionsManager = extensionsManager ?? throw new ArgumentNullException(nameof(extensionsManager)); _settingsManager = settingsManager ?? throw new ArgumentNullException(nameof(settingsManager)); _extensionBundleManager = extensionBundleManager ?? throw new ArgumentNullException(nameof(extensionBundleManager)); _environment = environment; }
public ExtensionsController(IExtensionsManager extensionsManager, ScriptSettingsManager settingsManager, IExtensionBundleManager extensionBundleManager, IEnvironment environment, IOptions <ScriptApplicationHostOptions> applicationHostOptions) { _extensionsManager = extensionsManager ?? throw new ArgumentNullException(nameof(extensionsManager)); _settingsManager = settingsManager ?? throw new ArgumentNullException(nameof(settingsManager)); _extensionBundleManager = extensionBundleManager ?? throw new ArgumentNullException(nameof(extensionBundleManager)); _applicationHostOptions = applicationHostOptions ?? throw new ArgumentNullException(nameof(applicationHostOptions)); _environment = environment; }
public ScriptStartupTypeLocator(string rootScriptPath, ILogger <ScriptStartupTypeLocator> logger, IExtensionBundleManager extensionBundleManager, IFunctionMetadataManager functionMetadataManager, IMetricsLogger metricsLogger) { _rootScriptPath = rootScriptPath ?? throw new ArgumentNullException(nameof(rootScriptPath)); _extensionBundleManager = extensionBundleManager ?? throw new ArgumentNullException(nameof(extensionBundleManager)); _logger = logger; _functionMetadataManager = functionMetadataManager; _metricsLogger = metricsLogger; _startupTypes = new Lazy <IEnumerable <Type> >(() => GetExtensionsStartupTypesAsync().ConfigureAwait(false).GetAwaiter().GetResult()); }
private ExtensionsManager GetExtensionsManager(string rootPath, IExtensionBundleManager extensionBundleManager = null) { extensionBundleManager = extensionBundleManager ?? new TestExtensionBundleManager(); IOptions <ScriptJobHostOptions> options = new OptionsWrapper <ScriptJobHostOptions>(new ScriptJobHostOptions { RootScriptPath = rootPath }); var manager = new Mock <ExtensionsManager>(options, NullLogger <ExtensionsManager> .Instance, extensionBundleManager); manager.Setup(m => m.ProcessExtensionsProject(It.IsAny <string>())) .Returns <string>(a => { File.Copy(Path.Combine(a, ScriptConstants.ExtensionsProjectFileName), Path.Combine(rootPath, ScriptConstants.ExtensionsProjectFileName), true); return(Task.CompletedTask); }); return(manager.Object); }
// Specify the "builtin binding types". These are types that are directly accesible without needing an explicit load gesture. // This is the set of bindings we shipped prior to binding extensibility. // Map from BindingType to the Assembly Qualified Type name for its IExtensionConfigProvider object. public ScriptHost(IOptions <JobHostOptions> options, IOptions <HttpWorkerOptions> httpWorkerOptions, IEnvironment environment, IJobHostContextFactory jobHostContextFactory, IConfiguration configuration, IDistributedLockManager distributedLockManager, IScriptEventManager eventManager, ILoggerFactory loggerFactory, IFunctionInvocationDispatcherFactory functionDispatcherFactory, IFunctionMetadataManager functionMetadataManager, IFileLoggingStatusManager fileLoggingStatusManager, IMetricsLogger metricsLogger, IOptions <ScriptJobHostOptions> scriptHostOptions, ITypeLocator typeLocator, IScriptHostManager scriptHostManager, IDebugStateProvider debugManager, IEnumerable <IScriptBindingProvider> bindingProviders, IPrimaryHostStateProvider primaryHostStateProvider, IJobHostMetadataProvider metadataProvider, IHostIdProvider hostIdProvider, IHttpRoutesManager httpRoutesManager, IApplicationLifetime applicationLifetime, IExtensionBundleManager extensionBundleManager, ScriptSettingsManager settingsManager = null) : base(options, jobHostContextFactory) { _environment = environment; _typeLocator = typeLocator as ScriptTypeLocator ?? throw new ArgumentException(nameof(typeLocator), $"A {nameof(ScriptTypeLocator)} instance is required."); _instanceId = Guid.NewGuid().ToString(); _hostOptions = options; _configuration = configuration; _storageConnectionString = configuration.GetWebJobsConnectionString(ConnectionStringNames.Storage); _distributedLockManager = distributedLockManager; _functionMetadataManager = functionMetadataManager; _fileLoggingStatusManager = fileLoggingStatusManager; _applicationLifetime = applicationLifetime; _hostIdProvider = hostIdProvider; _httpRoutesManager = httpRoutesManager; _isHttpWorker = httpWorkerOptions.Value.Description != null; ScriptOptions = scriptHostOptions.Value; _scriptHostManager = scriptHostManager; FunctionErrors = new Dictionary <string, ICollection <string> >(StringComparer.OrdinalIgnoreCase); EventManager = eventManager; _functionDispatcher = functionDispatcherFactory.GetFunctionDispatcher(); _settingsManager = settingsManager ?? ScriptSettingsManager.Instance; ExtensionBundleManager = extensionBundleManager; _metricsLogger = metricsLogger; _hostLogPath = Path.Combine(ScriptOptions.RootLogPath, "Host"); _workerRuntime = _environment.GetEnvironmentVariable(RpcWorkerConstants.FunctionWorkerRuntimeSettingName); _loggerFactory = loggerFactory; _logger = loggerFactory.CreateLogger(LogCategories.Startup); Logger = _logger; _debugManager = debugManager; _primaryHostStateProvider = primaryHostStateProvider; _bindingProviders = new List <IScriptBindingProvider>(bindingProviders); _metadataProvider = metadataProvider; _eventSubscriptions.Add(EventManager.OfType <FunctionIndexingEvent>() .Subscribe(evt => { HandleHostError(evt.Exception); })); }
public ExtensionBundleContentProvider(IExtensionBundleManager extensionBundleManager, ILogger <ExtensionBundleContentProvider> logger) { _extensionBundleManager = extensionBundleManager; _logger = logger; }
public static IWebJobsBuilder UseScriptExternalStartup(this IWebJobsBuilder builder, ScriptApplicationHostOptions applicationHostOptions, ILoggerFactory loggerFactory, IExtensionBundleManager extensionBundleManager) { var logger = loggerFactory?.CreateLogger <ScriptStartupTypeLocator>() ?? throw new ArgumentNullException(nameof(loggerFactory)); var metadataServiceProvider = applicationHostOptions.RootServiceProvider.GetService <IFunctionMetadataProvider>(); return(builder.UseExternalStartup(new ScriptStartupTypeLocator(applicationHostOptions.ScriptPath, logger, extensionBundleManager, metadataServiceProvider))); }
public static IWebJobsBuilder UseScriptExternalStartup(this IWebJobsBuilder builder, string rootScriptPath, IExtensionBundleManager extensionBundleManager) { return(builder.UseExternalStartup(new ScriptStartupTypeLocator(rootScriptPath, extensionBundleManager))); }
public ScriptStartupTypeLocator(string rootScriptPath, ILogger logger, IExtensionBundleManager extensionBundleManager) { _rootScriptPath = rootScriptPath ?? throw new ArgumentNullException(nameof(rootScriptPath)); _extensionBundleManager = extensionBundleManager ?? throw new ArgumentNullException(nameof(extensionBundleManager)); _logger = logger; }
public ScriptStartupTypeLocator(string rootScriptPath, IExtensionBundleManager extensionBundleManager) : this(rootScriptPath, NullLogger.Instance, extensionBundleManager) { }
public static IWebJobsBuilder UseScriptExternalStartup(this IWebJobsBuilder builder, string rootScriptPath, ILoggerFactory loggerFactory, IExtensionBundleManager extensionBundleManager) { var logger = loggerFactory.CreateLogger <ScriptStartupTypeLocator>() ?? throw new ArgumentNullException(nameof(loggerFactory)); return(builder.UseExternalStartup(new ScriptStartupTypeLocator(rootScriptPath, logger, extensionBundleManager))); }