diff options
author | Liam Miller-Cushon <cushon@google.com> | 2017-03-01 08:18:37 +0000 |
---|---|---|
committer | Yue Gan <yueg@google.com> | 2017-03-01 12:35:58 +0000 |
commit | dc857b3f0785e15d48500a4f45cea804612ad3a0 (patch) | |
tree | 6ed75b24085b04b20fd05b92983ec651193a1296 /src/java_tools/buildjar | |
parent | b869e584641521dc063f0589d7ce6a850ffc0b61 (diff) |
Don't leak file managers
--
PiperOrigin-RevId: 148860690
MOS_MIGRATED_REVID=148860690
Diffstat (limited to 'src/java_tools/buildjar')
-rw-r--r-- | src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacMain.java | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacMain.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacMain.java index 6666e08c24..ad55b68e69 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacMain.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacMain.java @@ -83,23 +83,22 @@ public class BlazeJavacMain { Listener diagnostics = new Listener(context); BlazeJavaCompiler compiler; - JavacFileManager fileManager = new ClassloaderMaskingFileManager(); - JavacTask task = - JavacTool.create() - .getTask( - errWriter, - fileManager, - diagnostics, - javacArguments, - ImmutableList.of() /*classes*/, - fileManager.getJavaFileObjectsFromPaths(arguments.sourceFiles()), - context); - if (arguments.processors() != null) { - task.setProcessors(arguments.processors()); - } - fileManager.setContext(context); - setLocations(fileManager, arguments); - try { + try (JavacFileManager fileManager = new ClassloaderMaskingFileManager()) { + JavacTask task = + JavacTool.create() + .getTask( + errWriter, + fileManager, + diagnostics, + javacArguments, + ImmutableList.of() /*classes*/, + fileManager.getJavaFileObjectsFromPaths(arguments.sourceFiles()), + context); + if (arguments.processors() != null) { + task.setProcessors(arguments.processors()); + } + fileManager.setContext(context); + setLocations(fileManager, arguments); try { ok = task.call(); } catch (PropagatedException e) { |