Don't leak file managers
--
PiperOrigin-RevId: 148860690
MOS_MIGRATED_REVID=148860690
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 6666e08..ad55b68 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 @@
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) {