elharo commented on code in PR #204:
URL:
https://github.com/apache/maven-toolchains-plugin/pull/204#discussion_r4302566962
##########
src/main/java/org/apache/maven/plugins/toolchain/jdk/ToolchainDiscoverer.java:
##########
@@ -209,28 +210,42 @@ private synchronized void readCache() {
}
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);
+ Map<Path, ToolchainModel> cacheSnapshot;
+ synchronized (cacheLock) {
+ if (!cacheModified) {
+ return;
}
cacheModified = false;
+ cacheSnapshot = new HashMap<>(cache);
+ }
+
+ boolean persisted = false;
+ try {
+ Path cacheFile = getCacheFile();
+ Files.createDirectories(cacheFile.getParent());
+ try (Writer w = Files.newBufferedWriter(cacheFile)) {
Review Comment:
w --> writer
##########
src/main/java/org/apache/maven/plugins/toolchain/jdk/ToolchainDiscoverer.java:
##########
@@ -209,28 +210,42 @@ private synchronized void readCache() {
}
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);
+ Map<Path, ToolchainModel> cacheSnapshot;
+ synchronized (cacheLock) {
+ if (!cacheModified) {
+ return;
}
cacheModified = false;
+ cacheSnapshot = new HashMap<>(cache);
+ }
+
+ boolean persisted = false;
+ try {
+ Path cacheFile = getCacheFile();
+ Files.createDirectories(cacheFile.getParent());
+ try (Writer w = Files.newBufferedWriter(cacheFile)) {
+ PersistedToolchains pt = new PersistedToolchains();
Review Comment:
don't abbreviate variable names
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]