in src/main/java/org/apache/maven/buildcache/CacheControllerImpl.java [745:773]
public void saveCacheReport(MavenSession session) {
try {
CacheReport cacheReport = new CacheReport();
for (CacheResult result : cacheResults.values()) {
ProjectReport projectReport = new ProjectReport();
CacheContext context = result.getContext();
MavenProject project = context.getProject();
projectReport.setGroupId(project.getGroupId());
projectReport.setArtifactId(project.getArtifactId());
projectReport.setChecksum(context.getInputInfo().getChecksum());
boolean checksumMatched = result.getStatus() != RestoreStatus.EMPTY;
projectReport.setChecksumMatched(checksumMatched);
projectReport.setLifecycleMatched(checksumMatched && result.isSuccess());
projectReport.setSource(String.valueOf(result.getSource()));
if (result.getSource() == CacheSource.REMOTE) {
projectReport.setUrl(remoteCache.getResourceUrl(context, BUILDINFO_XML));
} else if (result.getSource() == CacheSource.BUILD && cacheConfig.isSaveToRemote()) {
projectReport.setSharedToRemote(true);
projectReport.setUrl(remoteCache.getResourceUrl(context, BUILDINFO_XML));
}
cacheReport.addProject(projectReport);
}
String buildId = UUID.randomUUID().toString();
localCache.saveCacheReport(buildId, session, cacheReport);
} catch (Exception e) {
LOGGER.error("Cannot save incremental build aggregated report", e);
}
}