public CheckIfKeeping( IFileSystem fileSystem, ILogger logger, ICheckIfRepositoryDesirable checkIfRepositoryDesirable, IProvideRepositoryCheckouts repoCheckouts) { _fileSystem = fileSystem; _logger = logger; IfRepositoryDesirable = checkIfRepositoryDesirable; RepoCheckouts = repoCheckouts; }
public PrintShaIfApplicable( ILogger logger, ICheckLocalRepoIsValid localRepoIsValid, IProvideRepositoryCheckouts repositoryCheckouts, IPathToRepositoryProvider pathToRepositoryProvider) { _logger = logger; LocalRepoIsValid = localRepoIsValid; RepositoryCheckouts = repositoryCheckouts; PathToRepositoryProvider = pathToRepositoryProvider; }
public PrepRegistryRepository( ICheckOrCloneRepo checkOrClone, IRemoteRegistryUrlProvider registryUrlProvider, IProvideRepositoryCheckouts repositoryCheckouts, IResetToLatestMain resetToLatestMain, IRegistryFolderProvider registryFolderProvider) { ResetToLatestMain = resetToLatestMain; RegistryUrlProvider = registryUrlProvider; CheckOrClone = checkOrClone; RepositoryCheckouts = repositoryCheckouts; RegistryFolderProvider = registryFolderProvider; }
public BackupSettings( IFileSystem fileSystem, IInitRepository initRepository, IProvideRepositoryCheckouts repositoryCheckouts, IGuiSettingsPath guiPaths, IPipelineSettingsPath paths) { _fileSystem = fileSystem; _initRepository = initRepository; _repositoryCheckouts = repositoryCheckouts; _guiPaths = guiPaths; _paths = paths; }
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; }
public PrepareRunnerRepository( ILogger logger, ISolutionFileLocator solutionFileLocator, IRunnerRepoProjectPathRetriever runnerRepoProjectPathRetriever, IModifyRunnerProjects modifyRunnerProjects, IResetToTarget resetToTarget, IBuildMetaFilePathProvider metaFilePathProvider, IRunnerRepoDirectoryProvider runnerRepoDirectoryProvider, IProvideRepositoryCheckouts repoCheckouts) { _logger = logger; _metaFilePathProvider = metaFilePathProvider; ResetToTarget = resetToTarget; SolutionFileLocator = solutionFileLocator; RunnerRepoProjectPathRetriever = runnerRepoProjectPathRetriever; ModifyRunnerProjects = modifyRunnerProjects; RunnerRepoDirectoryProvider = runnerRepoDirectoryProvider; RepoCheckouts = repoCheckouts; }
public PatcherUserSettingsVm( ILogger logger, IProfileLoadOrder loadOrder, IProfileSimpleLinkCacheVm linkCacheVm, IObservable <Inputs> source, bool needBuild, IInitRepository initRepository, IProvideAutogeneratedSettings autoGenSettingsProvider, IProvideRepositoryCheckouts repoCheckouts, IGetSettingsStyle getSettingsStyle, IExecuteOpenForSettings executeOpenForSettings, IOpenSettingsHost openSettingsHost) { _logger = logger; _initRepository = initRepository; _repoCheckouts = repoCheckouts; _settingsConfiguration = source .Select(i => { return(Observable.Create <SettingsConfiguration>(async(observer, cancel) => { observer.OnNext(new SettingsConfiguration(SettingsStyle.None, Array.Empty <ReflectionSettingsConfig >())); if (i.ProjPath.Failed) { return; } try { var result = await getSettingsStyle.Get( i.ProjPath.Value, directExe: false, cancel: cancel, buildMetaPath: i.MetaPath, build: needBuild).ConfigureAwait(false); logger.Information($"Settings type: {result}"); observer.OnNext(result); } catch (Exception ex) { logger.Error($"Error checking if patcher can open settings: {ex}"); } observer.OnCompleted(); })); }) .Switch() .ToGuiProperty(this, nameof(SettingsConfiguration), new SettingsConfiguration(SettingsStyle.None, Array.Empty <ReflectionSettingsConfig>()), deferSubscription: true); OpenSettingsCommand = NoggogCommand.CreateFromObject( objectSource: Observable.CombineLatest( source.Select(x => x.ProjPath), this.WhenAnyValue(x => x.SettingsConfiguration), (Proj, Conf) => (Proj, Conf)), canExecute: x => x.Proj.Succeeded && (x.Conf.Style == SettingsStyle.Open || x.Conf.Style == SettingsStyle.Host), execute: async(o) => { if (o.Conf.Style == SettingsStyle.Open) { await executeOpenForSettings.Open( o.Proj.Value, directExe: false, cancel: CancellationToken.None, loadOrder: loadOrder.LoadOrder.Items.Select <ReadOnlyModListingVM, IModListingGetter>(lvm => lvm)).ConfigureAwait(false); } else { await openSettingsHost.Open( path: o.Proj.Value, cancel: CancellationToken.None, loadOrder: loadOrder.LoadOrder.Items.Select <ReadOnlyModListingVM, IModListingGetter>(lvm => lvm)).ConfigureAwait(false); } }, disposable: this); _settingsOpen = OpenSettingsCommand.IsExecuting .ToGuiProperty(this, nameof(SettingsOpen), deferSubscription: true); _reflectionSettings = Observable.CombineLatest( this.WhenAnyValue(x => x.SettingsConfiguration), source.Select(x => x.ProjPath), (SettingsConfig, ProjPath) => (SettingsConfig, ProjPath)) .Select(x => { if (x.ProjPath.Failed || x.SettingsConfig.Style != SettingsStyle.SpecifiedClass || x.SettingsConfig.Targets.Length == 0) { return(default(AutogeneratedSettingsVm?)); } return(autoGenSettingsProvider.Get(x.SettingsConfig, projPath: x.ProjPath.Value, loadOrder: loadOrder.LoadOrder.Connect().Transform <ReadOnlyModListingVM, IModListingGetter>(x => x), linkCache: linkCacheVm.WhenAnyValue(x => x.SimpleLinkCache))); }) .ToGuiProperty <AutogeneratedSettingsVm?>(this, nameof(ReflectionSettings), initialValue: null, deferSubscription: true); }