public int Run(AbsoluteUriOptions absoluteUriOptions) { try { IEnumerable <AbsoluteUriFile> absoluteUriFiles = GetAbsoluteUriFiles(absoluteUriOptions); if (!ValidateOptions(absoluteUriOptions, absoluteUriFiles)) { return(FAILURE); } if (!absoluteUriOptions.Inline) { _fileSystem.CreateDirectory(absoluteUriOptions.OutputFolderPath); } Formatting formatting = absoluteUriOptions.PrettyPrint ? Formatting.Indented : Formatting.None; foreach (AbsoluteUriFile absoluteUriFile in absoluteUriFiles) { absoluteUriFile.Log = absoluteUriFile.Log.MakeUrisAbsolute(); WriteSarifFile(_fileSystem, absoluteUriFile.Log, absoluteUriFile.OutputFilePath, formatting); } } catch (Exception ex) { Console.WriteLine(ex); return(FAILURE); } return(SUCCESS); }
public int Run(AbsoluteUriOptions absoluteUriOptions) { try { var sarifFiles = GetSarifFiles(absoluteUriOptions); Directory.CreateDirectory(absoluteUriOptions.OutputFolderPath); foreach (var sarifLog in sarifFiles) { sarifLog.Log = sarifLog.Log.MakeUrisAbsolute(); // Write output to file. string outputName = sarifLog.GetOutputFileName(absoluteUriOptions); var formatting = absoluteUriOptions.PrettyPrint ? Formatting.Indented : Formatting.None; FileHelpers.WriteSarifFile(_fileSystem, sarifLog.Log, outputName, formatting); } } catch (Exception ex) { Console.WriteLine(ex); return(1); } return(0); }
public int Run(AbsoluteUriOptions options) { try { IEnumerable <FileProcessingData> filesData = GetFilesToProcess(options); if (!ValidateOptions(options, filesData)) { return(FAILURE); } foreach (FileProcessingData fileData in filesData) { fileData.SarifLog = fileData.SarifLog.MakeUrisAbsolute(); WriteSarifFile(FileSystem, fileData.SarifLog, fileData.OutputFilePath, options.PrettyPrint); } } catch (Exception ex) { Console.WriteLine(ex); return(FAILURE); } return(SUCCESS); }
private bool ValidateOptions(AbsoluteUriOptions absoluteUriOptions, IEnumerable <AbsoluteUriFile> absoluteUriFiles) { bool valid = true; valid &= absoluteUriOptions.ValidateOutputOptions(); valid &= DriverUtilities.ReportWhetherOutputFilesCanBeCreated(absoluteUriFiles.Select(f => f.OutputFilePath), absoluteUriOptions.Force, _fileSystem); return(valid); }
internal string GetOutputFilePath(string inputFilePath, AbsoluteUriOptions absoluteUriOptions) { if (absoluteUriOptions.Inline) { return(inputFilePath); } return(!string.IsNullOrEmpty(absoluteUriOptions.OutputFolderPath) ? Path.GetFullPath(absoluteUriOptions.OutputFolderPath) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(inputFilePath) + "-absolute.sarif" : Path.GetDirectoryName(inputFilePath) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(inputFilePath) + "-absolute.sarif"); }
private IEnumerable <AbsoluteUriFile> GetSarifFiles(AbsoluteUriOptions absoluteUriOptions) { // Get files names first, as we may write more sarif logs to the same directory as we rebase them. HashSet <string> fileNames = FileHelpers.CreateTargetsSet(absoluteUriOptions.TargetFileSpecifiers, absoluteUriOptions.Recurse); foreach (var file in fileNames) { yield return(new AbsoluteUriFile() { FileName = file, Log = FileHelpers.ReadSarifFile <SarifLog>(_fileSystem, file) }); } }
private IEnumerable <AbsoluteUriFile> GetAbsoluteUriFiles(AbsoluteUriOptions absoluteUriOptions) { // Get files names first, as we may write more sarif logs to the same directory as we rebase them. HashSet <string> inputFilePaths = CreateTargetsSet(absoluteUriOptions.TargetFileSpecifiers, absoluteUriOptions.Recurse, _fileSystem); foreach (string inputFilePath in inputFilePaths) { yield return(new AbsoluteUriFile { InputFilePath = inputFilePath, OutputFilePath = GetOutputFilePath(inputFilePath, absoluteUriOptions), Log = ReadSarifFile <SarifLog>(_fileSystem, inputFilePath) }); } }
internal string GetOutputFileName(AbsoluteUriOptions mergeOptions) { return(!string.IsNullOrEmpty(mergeOptions.OutputFolderPath) ? Path.GetFullPath(mergeOptions.OutputFolderPath) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(FileName) + "-absolute.sarif" : Path.GetDirectoryName(FileName) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(FileName) + "-absolute.sarif"); }
public void ConsumeEnvVarsAndInterpretOptions(AbsoluteUriOptions absoluteUriOptions) { ConsumeEnvVarsAndInterpretOptions((MultipleFilesOptionsBase)absoluteUriOptions); }