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));
            _currentSnapshotContentLogger =
                currentSnapshotContentLogger ?? new BackgroundDependencySnapshotContentLogger(snapshotContentLogger);
        }
 public DependencySnapshotInstaller(
     IModuleProvider moduleProvider,
     IDependencyManagerStorage storage)
 {
     _moduleProvider = moduleProvider ?? throw new ArgumentNullException(nameof(moduleProvider));
     _storage        = storage ?? throw new ArgumentNullException(nameof(storage));
 }
Beispiel #3
0
 public BackgroundDependencySnapshotMaintainer(
     IDependencyManagerStorage storage,
     IDependencySnapshotInstaller installer,
     IDependencySnapshotPurger purger)
 {
     _storage   = storage ?? throw new ArgumentNullException(nameof(storage));
     _installer = installer ?? throw new ArgumentNullException(nameof(installer));
     _purger    = purger ?? throw new ArgumentNullException(nameof(purger));
 }
 public DependencySnapshotPurger(
     IDependencyManagerStorage storage,
     TimeSpan?heartbeatPeriod       = null,
     TimeSpan?oldHeartbeatAgeMargin = null,
     int?minNumberOfSnapshotsToKeep = null)
 {
     _storage                    = storage;
     _heartbeatPeriod            = heartbeatPeriod ?? GetHeartbeatPeriod();
     _oldHeartbeatAgeMargin      = oldHeartbeatAgeMargin ?? GetOldHeartbeatAgeMargin();
     _minNumberOfSnapshotsToKeep = minNumberOfSnapshotsToKeep ?? GetMinNumberOfSnapshotsToKeep();
 }
 public DependencyManager(
     string requestMetadataDirectory   = null,
     IModuleProvider moduleProvider    = null,
     IDependencyManagerStorage storage = null,
     IInstalledDependenciesLocator installedDependenciesLocator = null,
     IDependencySnapshotInstaller installer = null,
     IDependencySnapshotPurger purger       = null)
 {
     _storage = storage ?? new DependencyManagerStorage(GetFunctionAppRootPath(requestMetadataDirectory));
     _installedDependenciesLocator = installedDependenciesLocator ?? new InstalledDependenciesLocator(_storage);
     _installer = installer ?? new DependencySnapshotInstaller(moduleProvider ?? new PowerShellGalleryModuleProvider(), _storage);
     _purger    = purger ?? new DependencySnapshotPurger(_storage);
 }
Beispiel #6
0
 public InstalledDependenciesLocator(IDependencyManagerStorage storage)
 {
     _storage = storage;
 }
 public InstalledDependenciesLocator(IDependencyManagerStorage storage, ILogger logger)
 {
     _storage = storage ?? throw new ArgumentNullException(nameof(storage));
     _logger  = logger ?? throw new ArgumentNullException(nameof(logger));
 }
 public NewerDependencySnapshotDetector(IDependencyManagerStorage storage, IWorkerRestarter workerRestarter)
 {
     _storage         = storage;
     _workerRestarter = workerRestarter;
 }