Exemplo n.º 1
0
        public TaskExecutor([NotNull] IRunnerContext runnerContext)
        {
            var runnerCtxt = runnerContext ?? throw new ArgumentNullException(nameof(runnerContext));

            _logger        = new AnnouncerFluentMigratorLogger(runnerCtxt.Announcer);
            _runnerOptions = new RunnerOptions(runnerCtxt);
            var asmLoaderFactory = new AssemblyLoaderFactory();

            _assemblySource          = new AssemblySource(() => new AssemblyCollection(asmLoaderFactory.GetTargetAssemblies(runnerCtxt.Targets)));
            ConnectionStringProvider = new DefaultConnectionStringProvider();
            _lazyServiceProvider     = new Lazy <IServiceProvider>(
                () => runnerContext
                .CreateServices(
                    ConnectionStringProvider,
                    asmLoaderFactory)
                .BuildServiceProvider(validateScopes: true));
        }