public DependencyManager()

in src/DependencyManagement/DependencyManager.cs [49:77]


        public DependencyManager(
            string requestMetadataDirectory = null,
            IModuleProvider moduleProvider = null,
            IDependencyManagerStorage storage = null,
            IInstalledDependenciesLocator installedDependenciesLocator = null,
            IDependencySnapshotInstaller installer = null,
            INewerDependencySnapshotDetector newerSnapshotDetector = null,
            IBackgroundDependencySnapshotMaintainer maintainer = null,
            IBackgroundDependencySnapshotContentLogger currentSnapshotContentLogger = null,
            ILogger logger = null)
        {
            _storage = storage ?? new DependencyManagerStorage(GetFunctionAppRootPath(requestMetadataDirectory));
            _installedDependenciesLocator = installedDependenciesLocator ?? new InstalledDependenciesLocator(_storage, logger);
            var snapshotContentLogger = new PowerShellModuleSnapshotLogger();
            _installer = installer ?? new DependencySnapshotInstaller(
                                            moduleProvider ?? new PowerShellGalleryModuleProvider(logger),
                                            _storage,
                                            new PowerShellModuleSnapshotComparer(),
                                            snapshotContentLogger);
            _newerSnapshotDetector = newerSnapshotDetector ?? new NewerDependencySnapshotDetector(_storage, new WorkerRestarter());
            _backgroundSnapshotMaintainer =
                maintainer ?? new BackgroundDependencySnapshotMaintainer(
                                    _storage,
                                    _installer,
                                    new DependencySnapshotPurger(_storage),
                                    ShouldEnableManagedDpendencyUpgrades);
            _currentSnapshotContentLogger =
                currentSnapshotContentLogger ?? new BackgroundDependencySnapshotContentLogger(snapshotContentLogger);
        }