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);
}