Skip to content

Commit 6eac0b8

Browse files
Dump Jacoco XML reports for debug purposes (#7862)
1 parent 37469ea commit 6eac0b8

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/coverage/percentage/JacocoCoverageCalculator.java

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import java.io.BufferedInputStream;
1717
import java.io.ByteArrayInputStream;
1818
import java.io.File;
19+
import java.io.FileOutputStream;
1920
import java.io.IOException;
2021
import java.io.InputStream;
2122
import java.nio.file.Files;
@@ -43,6 +44,7 @@
4344
import org.jacoco.report.IReportVisitor;
4445
import org.jacoco.report.InputStreamSourceFileLocator;
4546
import org.jacoco.report.html.HTMLFormatter;
47+
import org.jacoco.report.xml.XMLFormatter;
4648
import org.slf4j.Logger;
4749
import org.slf4j.LoggerFactory;
4850

@@ -290,12 +292,23 @@ private void dumpCoverageReport(IBundleCoverage coverageBundle, File reportFolde
290292
}
291293
try {
292294
final HTMLFormatter htmlFormatter = new HTMLFormatter();
293-
final IReportVisitor visitor =
295+
296+
final IReportVisitor htmlVisitor =
294297
htmlFormatter.createVisitor(new FileMultiReportOutput(reportFolder));
295-
visitor.visitInfo(Collections.emptyList(), Collections.emptyList());
296-
visitor.visitBundle(
298+
htmlVisitor.visitInfo(Collections.emptyList(), Collections.emptyList());
299+
htmlVisitor.visitBundle(
297300
coverageBundle, new RepoIndexFileLocator(repoIndexProvider.getIndex(), repoRoot));
298-
visitor.visitEnd();
301+
htmlVisitor.visitEnd();
302+
303+
File xmlReport = new File(reportFolder, "jacoco.xml");
304+
try (FileOutputStream xmlReportStream = new FileOutputStream(xmlReport)) {
305+
XMLFormatter xmlFormatter = new XMLFormatter();
306+
IReportVisitor xmlVisitor = xmlFormatter.createVisitor(xmlReportStream);
307+
xmlVisitor.visitInfo(Collections.emptyList(), Collections.emptyList());
308+
xmlVisitor.visitBundle(
309+
coverageBundle, new RepoIndexFileLocator(repoIndexProvider.getIndex(), repoRoot));
310+
xmlVisitor.visitEnd();
311+
}
299312
} catch (Exception e) {
300313
LOGGER.error("Error while creating report in {}", reportFolder, e);
301314
}

0 commit comments

Comments
 (0)