public Result <None> Run() { var files = FileUtils.GetAllValuableCsFiles(new DirectoryInfo(PathToSlnFolder)).ToList(); var progressBar = new FilesCheckingProgressBar(files); return(new ResharperCltUpdater() .UpdateIfNeed() .Then(_ => FileUtils.GetPathToSlnFile(PathToSlnFolder)) .Then(sln => { using var tempDir = new TempDirectory(); var tempFile = $"{tempDir.PathToTempDirectory}/temp"; ConsoleHelper.LogInfo("Start code inspection. Please waiting."); return new ReSharperClt(rootDirectory) .RunInspectCodeTool(sln.FullName, tempFile, progressBar.RegisterFile) .Then(_ => { ConsoleHelper.ClearCurrentConsoleLine(); ConsoleHelper.LogInfo("Finish file checking"); }) .Then(_ => CheckXmlReport(tempFile)) .Then(_ => ConsoleHelper.LogInfo("All files are clean")) .OnFail(error => { if (Interactive) { Cmd.RunProcess("explorer", "code-inspections.html"); } }); })); }
public Result <None> Run(FileInfo fileInfo, IReadOnlyCollection <FileInfo> validateFiles) { if (!validateFiles.Any()) { return(Result.Ok()); } var progressBar = new FilesCheckingProgressBar(validateFiles); var relativeFilePaths = validateFiles.Select(file => file.GetRelativePath(fileInfo.Directory)); return(dotSettingsFileProvider.GetDotSettingsFile(fileInfo) .Then(dsFile => new ReSharperClt(rootDirectory) .RunCleanupTool(fileInfo.FullName, relativeFilePaths, dsFile.GetPath(), progressBar.RegisterFile))); }