async Task <bool> RunGit(ProcessRunner runner) { return(await RunTool( () => { using (var outputSink = (OutputSink)SetupOutputSink(runner)) { return runner.Run(); } } )); }
async Task <bool> RunAdb(ProcessRunner runner, bool setupOutputSink = true, bool ignoreStderr = true) { return(await RunTool( () => { OutputSink?sink = null; if (setupOutputSink) { sink = (OutputSink)SetupOutputSink(runner, ignoreStderr: ignoreStderr); } try { return runner.Run(); } finally { sink?.Dispose(); } } )); }