aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/bazel
diff options
context:
space:
mode:
authorGravatar laszlocsomor <laszlocsomor@google.com>2018-07-10 06:11:18 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-10 06:12:53 -0700
commitd17467e3bf9ff0408d201b960af71939b55b873b (patch)
tree926b928b4fac9decd8433a616e0a0cf271a6bab0 /src/main/java/com/google/devtools/build/lib/bazel
parent8c11fe9415e6d30069bdba559f6943747dd56e9f (diff)
Bazel server, tools: ensure Writers are closed
Follow-up to commit 09d20311d982606093ed881d779bb05a5ee70ed3. Use try-with-resources to ensure Writer objects are closed eagerly. Eagerly closing Writers avoids hanging on to file handles until the garbage collector finalizes the object, meaning Bazel on Windows (and other processes) can delete or mutate these files. Hopefully this avoids intermittent file deletion errors that sometimes occur on Windows. See https://github.com/bazelbuild/bazel/issues/5512 RELNOTES: none PiperOrigin-RevId: 203934471
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/bazel')
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryResolvedModule.java4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryResolvedModule.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryResolvedModule.java
index d4d4849e6c..de53082f8e 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryResolvedModule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryResolvedModule.java
@@ -60,13 +60,11 @@ public final class RepositoryResolvedModule extends BlazeModule {
@Override
public void afterCommand() {
if (resolvedFile != null) {
- try {
- Writer writer = Files.newWriter(new File(resolvedFile), StandardCharsets.UTF_8);
+ try (Writer writer = Files.newWriter(new File(resolvedFile), StandardCharsets.UTF_8)) {
writer.write(
EXPORTED_NAME
+ " = "
+ Printer.getPrettyPrinter().repr(resultBuilder.build()).toString());
- writer.close();
} catch (IOException e) {
logger.warning("IO Error writing to file " + resolvedFile + ": " + e);
}