public void visitClassExecution(ExecutionData data) { executionDataStore.put(data); merged.put(defensiveCopy(data)); }
private boolean readCoveragePerTests(ExecutionDataVisitor executionDataVisitor) { boolean collectedCoveragePerTest = false; for (Map.Entry<String, ExecutionDataStore> entry : executionDataVisitor.getSessions().entrySet()) { if (analyzeLinesCoveredByTests(entry.getKey(), entry.getValue())) { collectedCoveragePerTest = true; } } return collectedCoveragePerTest; }
public final void readExecutionData(File jacocoExecutionData, SensorContext context, WildcardMatcher excludes) throws IOException { ExecutionDataVisitor executionDataVisitor = new ExecutionDataVisitor(); for (Map.Entry<String, ExecutionDataStore> entry : executionDataVisitor.getSessions().entrySet()) { if (analyzeLinesCoveredByTests(entry.getKey(), entry.getValue(), context, excludes)) { collectedCoveragePerTest = true; CoverageBuilder coverageBuilder = analyze(executionDataVisitor.getMerged()); int analyzedResources = 0; for (ISourceFileCoverage coverage : coverageBuilder.getSourceFiles()) {
public final void readExecutionData(File jacocoExecutionData, SensorContext context) throws IOException { ExecutionDataVisitor executionDataVisitor = new ExecutionDataVisitor(); CoverageBuilder coverageBuilder = analyze(executionDataVisitor.getMerged()); int analyzedResources = 0; for (ISourceFileCoverage coverage : coverageBuilder.getSourceFiles()) {
/** * Merge all reports in reportOverall. * @param reportOverall destination file of merge. * @param reports files to be merged. */ public static void mergeReports(File reportOverall, File... reports) { ExecutionDataVisitor edv = new ExecutionDataVisitor(); loadSourceFiles(edv, reports); try (BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(reportOverall))) { Object visitor = new ExecutionDataWriter(outputStream); for (Map.Entry<String, ExecutionDataStore> entry : edv.getSessions().entrySet()) { SessionInfo sessionInfo = new SessionInfo(entry.getKey(), 0, 0); ((ISessionInfoVisitor) visitor).visitSessionInfo(sessionInfo); entry.getValue().accept((IExecutionDataVisitor) visitor); } } catch (IOException e) { throw new AnalysisException(String.format("Unable to write overall coverage report %s", reportOverall.getAbsolutePath()), e); } }
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."); } }
@Override public void visitClassExecution(ExecutionData data) { executionDataStore.put(data); merged.put(defensiveCopy(data)); }
private boolean readCoveragePerTests(SensorContext context, ExecutionDataVisitor executionDataVisitor) { boolean collectedCoveragePerTest = false; if(readCoveragePerTests) { for (Map.Entry<String, ExecutionDataStore> entry : executionDataVisitor.getSessions().entrySet()) { if (analyzeLinesCoveredByTests(entry.getKey(), entry.getValue(), context)) { collectedCoveragePerTest = true; } } } return collectedCoveragePerTest; }
@Override public void visitClassExecution(ExecutionData data) { executionDataStore.put(data); merged.put(defensiveCopy(data)); }