public Gpg(string gpgPath, ISessionManager sessionManager) { EnsureArgument.NotNullOrWhiteSpace(gpgPath, nameof(gpgPath)); EnsureArgument.NotNull(sessionManager, nameof(sessionManager)); _gpgPath = gpgPath; _sessionManager = sessionManager; }
public GitProcess(ITrace trace, string gitPath, string workingDirectory = null) { EnsureArgument.NotNull(trace, nameof(trace)); EnsureArgument.NotNullOrWhiteSpace(gitPath, nameof(gitPath)); _trace = trace; _gitPath = gitPath; _workingDirectory = workingDirectory; }
public PlaintextCredentialStore(IFileSystem fileSystem, string storeRoot, string @namespace = null) { EnsureArgument.NotNull(fileSystem, nameof(fileSystem)); EnsureArgument.NotNullOrWhiteSpace(storeRoot, nameof(storeRoot)); FileSystem = fileSystem; StoreRoot = storeRoot; Namespace = @namespace; }
internal Application(ICommandContext context, IHostProviderRegistry providerRegistry, IConfigurationService configurationService, string appPath) : base(context) { EnsureArgument.NotNull(providerRegistry, nameof(providerRegistry)); EnsureArgument.NotNull(configurationService, nameof(configurationService)); EnsureArgument.NotNullOrWhiteSpace(appPath, nameof(appPath)); _appPath = appPath; _providerRegistry = providerRegistry; _configurationService = configurationService; _configurationService.AddComponent(this); }
public CommandContext(string appPath) { EnsureArgument.NotNullOrWhiteSpace(appPath, nameof(appPath)); ApplicationPath = appPath; Streams = new StandardStreams(); Trace = new Trace(); if (PlatformUtils.IsWindows()) { FileSystem = new WindowsFileSystem(); SessionManager = new WindowsSessionManager(); SystemPrompts = new WindowsSystemPrompts(); Environment = new WindowsEnvironment(FileSystem); Terminal = new WindowsTerminal(Trace); string gitPath = GetGitPath(Environment, FileSystem); Git = new GitProcess( Trace, gitPath, FileSystem.GetCurrentDirectory() ); Settings = new Settings(Environment, Git); CredentialStore = new WindowsCredentialManager(Settings.CredentialNamespace); } else if (PlatformUtils.IsMacOS()) { FileSystem = new MacOSFileSystem(); SessionManager = new MacOSSessionManager(); SystemPrompts = new MacOSSystemPrompts(); Environment = new PosixEnvironment(FileSystem); Terminal = new PosixTerminal(Trace); string gitPath = GetGitPath(Environment, FileSystem); Git = new GitProcess( Trace, gitPath, FileSystem.GetCurrentDirectory() ); Settings = new Settings(Environment, Git); CredentialStore = new MacOSKeychain(Settings.CredentialNamespace); } else if (PlatformUtils.IsLinux()) { FileSystem = new LinuxFileSystem(); // TODO: support more than just 'Posix' or X11 SessionManager = new PosixSessionManager(); SystemPrompts = new LinuxSystemPrompts(); Environment = new PosixEnvironment(FileSystem); Terminal = new PosixTerminal(Trace); string gitPath = GetGitPath(Environment, FileSystem); Git = new GitProcess( Trace, gitPath, FileSystem.GetCurrentDirectory() ); Settings = new Settings(Environment, Git); IGpg gpg = new Gpg( Environment.LocateExecutable("gpg"), SessionManager ); CredentialStore = new LinuxCredentialStore(FileSystem, Settings, SessionManager, gpg, Environment, Git); } else { throw new PlatformNotSupportedException(); } HttpClientFactory = new HttpClientFactory(Trace, Settings, Streams); // Set the parent window handle/ID SystemPrompts.ParentWindowId = Settings.ParentWindowId; }