|
21 | 21 | */
|
22 | 22 | package com.github._1c_syntax.bsl.languageserver.reporters;
|
23 | 23 |
|
| 24 | +import com.fasterxml.jackson.core.util.DefaultIndenter; |
| 25 | +import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; |
24 | 26 | import com.fasterxml.jackson.databind.ObjectMapper;
|
| 27 | +import com.fasterxml.jackson.databind.ObjectWriter; |
25 | 28 | import com.fasterxml.jackson.databind.SerializationFeature;
|
26 | 29 | import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticCode;
|
27 | 30 | import com.github._1c_syntax.bsl.languageserver.diagnostics.metadata.DiagnosticInfo;
|
@@ -58,16 +61,22 @@ public void report(AnalysisInfo analysisInfo, Path outputDir) {
|
58 | 61 | for (FileInfo fileInfo : analysisInfo.getFileinfos()) {
|
59 | 62 | for (Diagnostic diagnostic : fileInfo.getDiagnostics()) {
|
60 | 63 | var diagnosticInfo = diagnosticInfosByCode.get(DiagnosticCode.getStringValue(diagnostic.getCode()));
|
61 |
| - var entry = new CodeQualityReportEntry(fileInfo.getPath().toString(), diagnostic, diagnosticInfo); |
| 64 | + var path = fileInfo.getPath().toString().replace("\\", "/"); |
| 65 | + var entry = new CodeQualityReportEntry(path, diagnostic, diagnosticInfo); |
62 | 66 | report.add(entry);
|
63 | 67 | }
|
64 | 68 | }
|
65 | 69 |
|
66 | 70 | var mapper = new ObjectMapper();
|
67 | 71 | mapper.enable(SerializationFeature.INDENT_OUTPUT);
|
68 | 72 |
|
| 73 | + var indenter = new DefaultIndenter().withLinefeed("\n"); |
| 74 | + var printer = new DefaultPrettyPrinter() |
| 75 | + .withObjectIndenter(indenter); |
| 76 | + ObjectWriter writer = mapper.writer(printer); |
| 77 | + |
69 | 78 | var reportFile = new File(outputDir.toFile(), "./bsl-code-quality.json");
|
70 |
| - mapper.writeValue(reportFile, report); |
| 79 | + writer.writeValue(reportFile, report); |
71 | 80 | LOGGER.info("CodeQuality report saved to {}", reportFile.getAbsolutePath());
|
72 | 81 | }
|
73 | 82 | }
|
0 commit comments