Esempio n. 1
0
 public RunnerRepositoryPreparation(
     ILogger logger,
     ICheckOrCloneRepo checkOrClone,
     IRunnerRepoDirectoryProvider runnerRepoDirectoryProvider,
     IGetRepoPathValidity getRepoPathValidity,
     ISchedulerProvider schedulerProvider)
 {
     State = getRepoPathValidity.RepoPath
             .Throttle(TimeSpan.FromMilliseconds(100), schedulerProvider.MainThread)
             .ObserveOn(schedulerProvider.TaskPool)
             .SelectReplaceWithIntermediate(
         new ConfigurationState(ErrorResponse.Fail("Cloning runner repository"))
     {
         IsHaltingError = false
     },
         async(path, cancel) =>
     {
         if (path.RunnableState.Failed)
         {
             return(path.ToUnit());
         }
         using var timing = logger.Time($"runner repo: {path.Item}");
         return((ErrorResponse)checkOrClone.Check(
                    path.ToGetResponse(),
                    runnerRepoDirectoryProvider.Path,
                    cancel));
     })
             .Replay(1)
             .RefCount();
 }
Esempio n. 2
0
 public PrepRegistryRepository(
     ICheckOrCloneRepo checkOrClone,
     IRemoteRegistryUrlProvider registryUrlProvider,
     IProvideRepositoryCheckouts repositoryCheckouts,
     IResetToLatestMain resetToLatestMain,
     IRegistryFolderProvider registryFolderProvider)
 {
     ResetToLatestMain      = resetToLatestMain;
     RegistryUrlProvider    = registryUrlProvider;
     CheckOrClone           = checkOrClone;
     RepositoryCheckouts    = repositoryCheckouts;
     RegistryFolderProvider = registryFolderProvider;
 }
 public PrepareDriverRespository(
     ILogger logger,
     ICheckOrCloneRepo checkOrClone,
     IResetToLatestMain resetToLatestMain,
     IProvideRepositoryCheckouts repoCheckouts,
     IGetDriverPaths getDriverPaths,
     IRetrieveRepoVersioningPoints retrieveRepoVersioningPoints,
     IDriverRepoDirectoryProvider driverRepoDirectoryProvider)
 {
     _logger                      = logger;
     CheckOrClone                 = checkOrClone;
     ResetToLatestMain            = resetToLatestMain;
     RepoCheckouts                = repoCheckouts;
     GetDriverPaths               = getDriverPaths;
     RetrieveRepoVersioningPoints = retrieveRepoVersioningPoints;
     DriverRepoDirectoryProvider  = driverRepoDirectoryProvider;
 }