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) {