CoverageBuilder coverageBuilder = analyze(executionDataVisitor.getMerged()); int analyzedResources = 0; for (ISourceFileCoverage coverage : coverageBuilder.getSourceFiles()) {
CoverageBuilder coverageBuilder = analyze(executionDataVisitor.getMerged()); int analyzedResources = 0; for (ISourceFileCoverage coverage : coverageBuilder.getSourceFiles()) {
private void readExecutionData(@Nullable File jacocoExecutionData, SensorContext context) { File newJacocoExecutionData = jacocoExecutionData; if (newJacocoExecutionData == null || !newJacocoExecutionData.isFile()) { JaCoCoExtensions.LOG.info("Project coverage is set to 0% as no JaCoCo execution data has been dumped: {}", newJacocoExecutionData); newJacocoExecutionData = null; } ExecutionDataVisitor executionDataVisitor = new ExecutionDataVisitor(); jacocoReportReader = new JacocoReportReader(newJacocoExecutionData).readJacocoReport(executionDataVisitor, executionDataVisitor); boolean collectedCoveragePerTest = readCoveragePerTests(executionDataVisitor); CoverageBuilder coverageBuilder = jacocoReportReader.analyzeFiles(executionDataVisitor.getMerged(), classFilesCache.values()); int analyzedResources = 0; for (ISourceFileCoverage coverage : coverageBuilder.getSourceFiles()) { InputFile inputFile = getResource(coverage); if (inputFile != null) { NewCoverage newCoverage = context.newCoverage().onFile(inputFile); analyzeFile(newCoverage, inputFile, coverage); newCoverage.save(); analyzedResources++; } } if (analyzedResources == 0) { JaCoCoExtensions.LOG.warn("Coverage information was not collected. Perhaps you forget to include debug information into compiled classes?"); } else if (collectedCoveragePerTest) { JaCoCoExtensions.LOG.info("Information about coverage per test has been collected."); } else if (newJacocoExecutionData != null) { JaCoCoExtensions.LOG.info("No information about coverage per test."); } }