/// <summary> /// The default constructor /// </summary> /// <param name="assemblyCandidateFinder">The assembly candidate finder</param> /// <param name="serviceProvider"> /// The service provider for creating instances of conventions (usually a /// <see cref="IServiceProviderDictionary" />. /// </param> /// <param name="logger">A diagnostic logger</param> /// <param name="conventions">The additional conventions to start with</param> public AggregateConventionScanner( IAssemblyCandidateFinder assemblyCandidateFinder, IServiceProvider serviceProvider, ILogger logger, params IConvention[] conventions ) : base(assemblyCandidateFinder, serviceProvider, logger) => PrependConvention(conventions);
public Scanner( IAssemblyCandidateFinder assemblyCandidateFinder, IServiceProvider serviceProvider, ILogger logger ) : base(assemblyCandidateFinder, serviceProvider, logger) { }
/// <summary> /// Initializes a new instance of the <see cref="ConventionListCommand" /> class. /// </summary> public ConventionListCommand( IConventionScanner scanner, IAssemblyCandidateFinder assemblyCandidateFinder ) { _scanner = scanner; _assemblyCandidateFinder = assemblyCandidateFinder; }
/// <summary> /// Withes the specified assembly candidate finder. /// </summary> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <returns>RocketHostBuilder.</returns> internal RocketHostBuilder With(IAssemblyCandidateFinder assemblyCandidateFinder) => new RocketHostBuilder( Builder, Scanner, assemblyCandidateFinder, AssemblyProvider, DiagnosticSource, ServiceProperties );
public CCBuilder( IConventionScanner scanner, IAssemblyProvider assemblyProvider, IAssemblyCandidateFinder assemblyCandidateFinder, IServiceProviderDictionary properties ) : base(scanner, assemblyProvider, assemblyCandidateFinder, properties) { }
public HostBuilder( IConventionScanner scanner, IAssemblyCandidateFinder assemblyCandidateFinder, IAssemblyProvider assemblyProvider, DiagnosticSource diagnosticSource, IServiceProviderDictionary serviceProperties ) : base(scanner, assemblyCandidateFinder, assemblyProvider, diagnosticSource, serviceProperties) { }
/// <summary> /// Default constructor for the scanner /// </summary> /// <param name="assemblyCandidateFinder">The assembly candidate finder</param> /// <param name="serviceProvider"> /// The service provider for creating instances of conventions (usually a /// <see cref="IServiceProviderDictionary" />. /// </param> /// <param name="logger">A diagnostic logger</param> protected ConventionScannerBase( IAssemblyCandidateFinder assemblyCandidateFinder, IServiceProvider serviceProvider, ILogger logger ) { _assemblyCandidateFinder = assemblyCandidateFinder ?? throw new ArgumentNullException(nameof(assemblyCandidateFinder)); _serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider)); _logger = logger; }
/// <summary> /// Initializes a new instance of the <see cref="RocketHostBuilder" /> class. /// </summary> /// <param name="builder">The builder.</param> /// <param name="scanner">The scanner.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <param name="assemblyProvider">The assembly provider.</param> /// <param name="diagnosticSource">The diagnostic source.</param> /// <param name="serviceProperties">The service properties.</param> public RocketHostBuilder( IHostBuilder builder, IConventionScanner scanner, IAssemblyCandidateFinder assemblyCandidateFinder, IAssemblyProvider assemblyProvider, DiagnosticSource diagnosticSource, IServiceProviderDictionary serviceProperties ) : base(scanner, assemblyCandidateFinder, assemblyProvider, diagnosticSource, serviceProperties) { Builder = builder; Logger = new DiagnosticLogger(diagnosticSource); }
/// <summary> /// Withes the specified assembly candidate finder. /// </summary> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <returns>RocketFunctionHostBuilder.</returns> internal RocketFunctionHostBuilder With(IAssemblyCandidateFinder assemblyCandidateFinder) => new RocketFunctionHostBuilder( Builder, FunctionsAssembly, _startupInstance, _environment, Scanner, assemblyCandidateFinder, AssemblyProvider, DiagnosticSource, ServiceProperties );
public static IEnumerable <Assembly> GetCandidateAssemblies( [NotNull] this IAssemblyCandidateFinder finder, string candidate, params string[] candidates ) { if (finder == null) { throw new ArgumentNullException(nameof(finder)); } return(finder.GetCandidateAssemblies(new[] { candidate }.Concat(candidates).ToArray())); }
/// <summary> /// Initializes a new instance of the <see cref="CommandLineBuilder" /> class. /// </summary> /// <param name="scanner">The scanner.</param> /// <param name="assemblyProvider">The assembly provider.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <param name="diagnosticSource">The diagnostic source.</param> /// <param name="properties">The properties.</param> /// <exception cref="ArgumentNullException">diagnosticSource</exception> public CommandLineBuilder( IConventionScanner scanner, IAssemblyProvider assemblyProvider, IAssemblyCandidateFinder assemblyCandidateFinder, ILogger diagnosticSource, IDictionary <object, object?> properties ) : base(scanner, assemblyProvider, assemblyCandidateFinder, properties) { _application = new CommandLineApplication <ApplicationState> { UnrecognizedArgumentHandling = UnrecognizedArgumentHandling.CollectAndContinue }; Logger = diagnosticSource ?? throw new ArgumentNullException(nameof(diagnosticSource)); }
/// <summary> /// Initializes a new instance of the <see cref="CommandLineBuilder" /> class. /// </summary> /// <param name="scanner">The scanner.</param> /// <param name="assemblyProvider">The assembly provider.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <param name="diagnosticSource">The diagnostic source.</param> /// <param name="properties">The properties.</param> /// <exception cref="ArgumentNullException">diagnosticSource</exception> public CommandLineBuilder( IConventionScanner scanner, IAssemblyProvider assemblyProvider, IAssemblyCandidateFinder assemblyCandidateFinder, ILogger diagnosticSource, IDictionary <object, object?> properties ) : base(scanner, assemblyProvider, assemblyCandidateFinder, properties) { _application = new CommandLineApplication <ApplicationState> { ThrowOnUnexpectedArgument = false }; Logger = diagnosticSource ?? throw new ArgumentNullException(nameof(diagnosticSource)); }
/// <summary> /// Initializes a new instance of the <see cref="ConventionTestHost" /> class. /// </summary> /// <param name="scanner">The scanner.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <param name="assemblyProvider">The assembly provider.</param> /// <param name="diagnosticSource">The diagnostic source.</param> /// <param name="serviceProperties">The service properties.</param> /// <param name="loggerFactory">The logger factory.</param> /// <param name="environment">The environment.</param> internal ConventionTestHost( IConventionScanner scanner, IAssemblyCandidateFinder assemblyCandidateFinder, IAssemblyProvider assemblyProvider, DiagnosticSource diagnosticSource, IServiceProviderDictionary serviceProperties, ILoggerFactory loggerFactory, IRocketEnvironment environment ) : base(scanner, assemblyCandidateFinder, assemblyProvider, diagnosticSource, serviceProperties) { serviceProperties.Set(HostType.UnitTestHost); _loggerFactory = loggerFactory; _environment = environment; _logger = ServiceProperties.Get <ILogger>(); }
/// <summary> /// Initializes a new instance of the <see cref="MetricsBuilder" /> class. /// </summary> /// <param name="scanner">The scanner.</param> /// <param name="assemblyProvider">The assembly provider.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <param name="appMetricsBuilder">The metrics builder.</param> /// <param name="environment">The environment.</param> /// <param name="configuration">The configuration.</param> /// <param name="diagnosticSource">The diagnostic source.</param> /// <param name="properties">The properties.</param> /// <exception cref="ArgumentNullException"> /// environment /// or /// metricsBuilder /// or /// configuration /// or /// diagnosticSource /// </exception> public MetricsBuilder( IConventionScanner scanner, IAssemblyProvider assemblyProvider, IAssemblyCandidateFinder assemblyCandidateFinder, IAppMetricsBuilder appMetricsBuilder, IRocketEnvironment environment, IConfiguration configuration, ILogger diagnosticSource, IDictionary <object, object?> properties ) : base(scanner, assemblyProvider, assemblyCandidateFinder, properties) { Environment = environment ?? throw new ArgumentNullException(nameof(environment)); AppMetricsBuilder = appMetricsBuilder ?? throw new ArgumentNullException(nameof(appMetricsBuilder)); Configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); Logger = diagnosticSource ?? throw new ArgumentNullException(nameof(diagnosticSource)); }
/// <summary> /// Initializes a new instance of the <see cref="LoggingBuilder" /> class. /// </summary> /// <param name="scanner">The scanner.</param> /// <param name="assemblyProvider">The assembly provider.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <param name="services">The services.</param> /// <param name="environment">The environment.</param> /// <param name="configuration">The configuration.</param> /// <param name="diagnosticSource">The diagnostic source.</param> /// <param name="properties">The properties.</param> /// <exception cref="ArgumentNullException"> /// environment /// or /// services /// or /// configuration /// or /// diagnosticSource /// </exception> public LoggingBuilder( IConventionScanner scanner, IAssemblyProvider assemblyProvider, IAssemblyCandidateFinder assemblyCandidateFinder, IServiceCollection services, IRocketEnvironment environment, IConfiguration configuration, ILogger diagnosticSource, IDictionary <object, object?> properties ) : base(scanner, assemblyProvider, assemblyCandidateFinder, properties) { Environment = environment ?? throw new ArgumentNullException(nameof(environment)); Services = services ?? throw new ArgumentNullException(nameof(services)); Configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); Logger = diagnosticSource ?? throw new ArgumentNullException(nameof(diagnosticSource)); }
/// <summary> /// Uses the assembly candidate finder. /// </summary> /// <param name="builder">The builder.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <returns>IRocketHostBuilder.</returns> public static IRocketHostBuilder UseAssemblyCandidateFinder( [NotNull] this IRocketHostBuilder builder, [NotNull] IAssemblyCandidateFinder assemblyCandidateFinder ) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (assemblyCandidateFinder == null) { throw new ArgumentNullException(nameof(assemblyCandidateFinder)); } return(Swap(builder, GetOrCreateBuilder(builder).With(assemblyCandidateFinder))); }
/// <summary> /// Initializes a new instance of the <see cref="RocketFunctionHostBuilder"/> class. /// </summary> /// <param name="builder">The builder.</param> /// <param name="functionsAssembly">The functions assembly.</param> /// <param name="startupInstance">The startup instance.</param> /// <param name="environment">The environment.</param> /// <param name="scanner">The scanner.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <param name="assemblyProvider">The assembly provider.</param> /// <param name="diagnosticSource">The diagnostic source.</param> /// <param name="serviceProviderDictionary">The service provider dictionary of values</param> public RocketFunctionHostBuilder( IWebJobsBuilder builder, Assembly functionsAssembly, object startupInstance, IRocketEnvironment environment, IConventionScanner scanner, IAssemblyCandidateFinder assemblyCandidateFinder, IAssemblyProvider assemblyProvider, DiagnosticSource diagnosticSource, IServiceProviderDictionary serviceProviderDictionary) : base(scanner, assemblyCandidateFinder, assemblyProvider, diagnosticSource, serviceProviderDictionary) { _startupInstance = startupInstance; _environment = environment ?? CreateEnvironment(); _logger = new DiagnosticLogger(DiagnosticSource); Builder = builder; FunctionsAssembly = functionsAssembly; }
/// <summary> /// Initializes a new instance of the <see cref="ConventionBuilder{TBuilder, TConvention, TDelegate}" /> class. /// </summary> /// <param name="scanner">The scanner.</param> /// <param name="assemblyProvider">The assembly provider.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <param name="properties">The properties.</param> /// <exception cref="ArgumentNullException"> /// assemblyProvider /// or /// assemblyCandidateFinder /// </exception> protected ConventionBuilder( IConventionScanner scanner, IAssemblyProvider assemblyProvider, IAssemblyCandidateFinder assemblyCandidateFinder, IDictionary <object, object?> properties ) : base(scanner, properties) { AssemblyProvider = assemblyProvider ?? throw new ArgumentNullException(nameof(assemblyProvider)); AssemblyCandidateFinder = assemblyCandidateFinder ?? throw new ArgumentNullException(nameof(assemblyCandidateFinder)); if (!Properties.TryGetValue(typeof(IAssemblyProvider), out var _)) { Properties[typeof(IAssemblyProvider)] = AssemblyProvider; } if (!Properties.TryGetValue(typeof(IAssemblyCandidateFinder), out var _)) { Properties[typeof(IAssemblyCandidateFinder)] = AssemblyCandidateFinder; } }
/// <summary> /// Initializes a new instance of the <see cref="AutofacBuilder" /> class. /// </summary> /// <param name="environment">The environment.</param> /// <param name="configuration">The configuration.</param> /// <param name="scanner">The scanner.</param> /// <param name="assemblyProvider">The assembly provider.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <param name="services">The services.</param> /// <param name="containerBuilder">The container builder.</param> /// <param name="diagnosticSource">The diagnostic source</param> /// <param name="properties">The properties</param> /// <exception cref="ArgumentNullException"> /// environment /// or /// containerBuilder /// or /// configuration /// or /// services /// </exception> public AutofacBuilder( IRocketEnvironment environment, IConfiguration configuration, IConventionScanner scanner, IAssemblyProvider assemblyProvider, IAssemblyCandidateFinder assemblyCandidateFinder, IServiceCollection services, ContainerBuilder containerBuilder, ILogger diagnosticSource, IDictionary <object, object?> properties ) : base(scanner, assemblyProvider, assemblyCandidateFinder, properties) { Environment = environment ?? throw new ArgumentNullException(nameof(environment)); _containerBuilder = containerBuilder ?? throw new ArgumentNullException(nameof(containerBuilder)); Configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); Services = services ?? throw new ArgumentNullException(nameof(services)); Logger = diagnosticSource ?? throw new ArgumentNullException(nameof(diagnosticSource)); _containerObservable = new GenericObservableObservable <IContainer>(Logger); _serviceProviderOnBuild = new GenericObservableObservable <IServiceProvider>(Logger); }
/// <summary> /// Initializes a new instance of the <see cref="ServicesBuilder" /> class. /// </summary> /// <param name="scanner">The scanner.</param> /// <param name="assemblyProvider">The assembly provider.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <param name="services">The services.</param> /// <param name="configuration">The configuration.</param> /// <param name="environment">The environment.</param> /// <param name="diagnosticSource">The diagnostic source.</param> /// <param name="properties">The properties.</param> /// <exception cref="ArgumentNullException"> /// environment /// or /// diagnosticSource /// or /// configuration /// or /// services /// </exception> public ServicesBuilder( IConventionScanner scanner, IAssemblyProvider assemblyProvider, IAssemblyCandidateFinder assemblyCandidateFinder, IServiceCollection services, IConfiguration configuration, IRocketEnvironment environment, ILogger diagnosticSource, IDictionary <object, object?> properties ) : base(scanner, assemblyProvider, assemblyCandidateFinder, properties) { Environment = environment ?? throw new ArgumentNullException(nameof(environment)); Configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); Services = services ?? throw new ArgumentNullException(nameof(services)); Logger = diagnosticSource ?? throw new ArgumentNullException(nameof(diagnosticSource)); _onBuild = new ServiceProviderObservable(Logger); ServiceProviderOptions = new ServiceProviderOptions { ValidateScopes = environment.IsDevelopment() }; }
/// <summary> /// Initializes a new instance of the <see cref="ConventionHostBuilder{TSelf}" /> class. /// </summary> /// <param name="scanner">The scanner.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <param name="assemblyProvider">The assembly provider.</param> /// <param name="diagnosticSource">The diagnostic source.</param> /// <param name="serviceProperties">The properties.</param> protected ConventionHostBuilder( IConventionScanner scanner, IAssemblyCandidateFinder assemblyCandidateFinder, IAssemblyProvider assemblyProvider, DiagnosticSource diagnosticSource, IServiceProviderDictionary serviceProperties ) { Scanner = scanner; AssemblyCandidateFinder = assemblyCandidateFinder; AssemblyProvider = assemblyProvider; DiagnosticSource = diagnosticSource; ServiceProperties = serviceProperties ?? new ServiceProviderDictionary(); if (!Properties.TryGetValue(typeof(IConventionScanner), out var _)) { Properties[typeof(IConventionScanner)] = scanner; } if (!Properties.TryGetValue(typeof(IAssemblyProvider), out var _)) { Properties[typeof(IAssemblyProvider)] = assemblyProvider; } if (!Properties.TryGetValue(typeof(IAssemblyCandidateFinder), out var _)) { Properties[typeof(IAssemblyCandidateFinder)] = assemblyCandidateFinder; } if (!Properties.TryGetValue(typeof(DiagnosticSource), out var _)) { Properties[typeof(DiagnosticSource)] = diagnosticSource; } if (!Properties.TryGetValue(typeof(ILogger), out var _)) { Properties[typeof(ILogger)] = new DiagnosticLogger(diagnosticSource); } }
/// <summary> /// Uses the assembly candidate finder. /// </summary> /// <param name="builder">The builder.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <returns>IRocketFunctionHostBuilder.</returns> public static IRocketFunctionHostBuilder UseAssemblyCandidateFinder(this IRocketFunctionHostBuilder builder, IAssemblyCandidateFinder assemblyCandidateFinder) { return(Swap(builder, GetOrCreateBuilder(builder, builder.FunctionsAssembly, null).With(assemblyCandidateFinder))); }
/// <summary> /// Initializes a new instance of the <see cref="ProjectionDescriptorCollection" /> class. /// </summary> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> public ProjectionDescriptorCollection(IAssemblyCandidateFinder assemblyCandidateFinder) => _assemblyCandidateFinder = assemblyCandidateFinder;
/// <summary> /// Uses the assembly candidate finder. /// </summary> /// <param name="builder">The builder.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <returns>IRocketHostBuilder.</returns> public static IRocketHostBuilder UseAssemblyCandidateFinder(this IRocketHostBuilder builder, IAssemblyCandidateFinder assemblyCandidateFinder) { return(Swap(builder, GetOrCreateBuilder(builder).With(assemblyCandidateFinder))); }