public int Run(RewriteOptions rewriteOptions) { try { rewriteOptions = ValidateOptions(rewriteOptions); SarifLog actualLog = FileHelpers.ReadSarifFile <SarifLog>(_fileSystem, rewriteOptions.InputFilePath); OptionallyEmittedData dataToInsert = rewriteOptions.DataToInsert.ToFlags(); IDictionary <string, ArtifactLocation> originalUriBaseIds = rewriteOptions.ConstructUriBaseIdsDictionary(); SarifLog reformattedLog = new InsertOptionalDataVisitor(dataToInsert, originalUriBaseIds).VisitSarifLog(actualLog); string fileName = CommandUtilities.GetTransformedOutputFileName(rewriteOptions); var formatting = rewriteOptions.PrettyPrint ? Formatting.Indented : Formatting.None; FileHelpers.WriteSarifFile(_fileSystem, reformattedLog, fileName, formatting); } catch (Exception ex) { Console.WriteLine(ex); return(1); } return(0); }
public int Run(RewriteOptions rewriteOptions) { try { Console.WriteLine($"Rewriting '{rewriteOptions.InputFilePath}' => '{rewriteOptions.OutputFilePath}'..."); Stopwatch w = Stopwatch.StartNew(); bool valid = ValidateOptions(rewriteOptions); if (!valid) { return(FAILURE); } SarifLog actualLog = ReadSarifFile <SarifLog>(_fileSystem, rewriteOptions.InputFilePath); OptionallyEmittedData dataToInsert = rewriteOptions.DataToInsert.ToFlags(); IDictionary <string, ArtifactLocation> originalUriBaseIds = rewriteOptions.ConstructUriBaseIdsDictionary(); SarifLog reformattedLog = new InsertOptionalDataVisitor(dataToInsert, originalUriBaseIds).VisitSarifLog(actualLog); string fileName = CommandUtilities.GetTransformedOutputFileName(rewriteOptions); WriteSarifFile(_fileSystem, reformattedLog, fileName, rewriteOptions.Formatting); w.Stop(); Console.WriteLine($"Rewrite completed in {w.Elapsed}."); } catch (Exception ex) { Console.WriteLine(ex); return(FAILURE); } return(SUCCESS); }
public int Run(RewriteOptions options) { try { Console.WriteLine($"Rewriting '{options.InputFilePath}' => '{options.OutputFilePath}'..."); Stopwatch w = Stopwatch.StartNew(); bool valid = ValidateOptions(options); if (!valid) { return(FAILURE); } string actualOutputPath = CommandUtilities.GetTransformedOutputFileName(options); SarifLog actualLog = null; string inputVersion = SniffVersion(options.InputFilePath); if (!inputVersion.Equals(SarifUtilities.StableSarifVersion)) { actualLog = TransformFileToVersionTwo(options.InputFilePath, inputVersion); } else { actualLog = ReadSarifFile <SarifLog>(_fileSystem, options.InputFilePath); } OptionallyEmittedData dataToInsert = options.DataToInsert.ToFlags(); OptionallyEmittedData dataToRemove = options.DataToRemove.ToFlags(); IDictionary <string, ArtifactLocation> originalUriBaseIds = options.ConstructUriBaseIdsDictionary(); SarifLog reformattedLog = new RemoveOptionalDataVisitor(dataToRemove).VisitSarifLog(actualLog); reformattedLog = new InsertOptionalDataVisitor(dataToInsert, originalUriBaseIds).VisitSarifLog(reformattedLog); if (options.SarifOutputVersion == SarifVersion.OneZeroZero) { var visitor = new SarifCurrentToVersionOneVisitor(); visitor.VisitSarifLog(reformattedLog); WriteSarifFile(_fileSystem, visitor.SarifLogVersionOne, actualOutputPath, options.Minify, SarifContractResolverVersionOne.Instance); } else { WriteSarifFile(_fileSystem, reformattedLog, actualOutputPath, options.Minify); } w.Stop(); Console.WriteLine($"Rewrite completed in {w.Elapsed}."); } catch (Exception ex) { Console.WriteLine(ex); return(FAILURE); } return(SUCCESS); }