in src/main/java/org/apache/maven/plugins/toolchain/jdk/ToolchainDiscoverer.java [211:235]
private synchronized void writeCache() {
if (cacheModified) {
try {
Path cacheFile = getCacheFile();
Files.createDirectories(cacheFile.getParent());
try (Writer w = Files.newBufferedWriter(cacheFile)) {
PersistedToolchains pt = new PersistedToolchains();
pt.setToolchains(cache.values().stream()
.map(tc -> {
ToolchainModel model = tc.clone();
// Remove transient information
model.getProvides().remove(CURRENT);
model.getProvides().remove(ENV);
return model;
})
.sorted(version().thenComparing(vendor()))
.collect(Collectors.toList()));
new MavenToolchainsXpp3Writer().write(w, pt);
}
} catch (IOException e) {
log.debug("Error writing toolchains cache: " + e, e);
}
cacheModified = false;
}
}