langtools/test/tools/javadoc/api/basic/TagletPathTest.java
changeset 27319 030080f03e4f
parent 14545 2e7bab0639b8
child 30730 d3ce7619db2c
--- a/langtools/test/tools/javadoc/api/basic/TagletPathTest.java	Wed Oct 29 12:09:17 2014 +0100
+++ b/langtools/test/tools/javadoc/api/basic/TagletPathTest.java	Wed Oct 29 17:25:23 2014 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -62,38 +62,40 @@
         File tagletSrcFile = new File(testSrc, "taglets/UnderlineTaglet.java");
         File tagletDir = getOutDir("classes");
         JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
-        StandardJavaFileManager cfm = compiler.getStandardFileManager(null, null, null);
-        cfm.setLocation(StandardLocation.CLASS_OUTPUT, Arrays.asList(tagletDir));
-        Iterable<? extends JavaFileObject> cfiles = cfm.getJavaFileObjects(tagletSrcFile);
-        if (!compiler.getTask(null, cfm, null, null, null, cfiles).call())
-            throw new Exception("cannot compile taglet");
+        try (StandardJavaFileManager cfm = compiler.getStandardFileManager(null, null, null)) {
+            cfm.setLocation(StandardLocation.CLASS_OUTPUT, Arrays.asList(tagletDir));
+            Iterable<? extends JavaFileObject> cfiles = cfm.getJavaFileObjects(tagletSrcFile);
+            if (!compiler.getTask(null, cfm, null, null, null, cfiles).call())
+                throw new Exception("cannot compile taglet");
+        }
 
         JavaFileObject srcFile = createSimpleJavaFileObject("pkg/C", testSrcText);
         DocumentationTool tool = ToolProvider.getSystemDocumentationTool();
-        StandardJavaFileManager fm = tool.getStandardFileManager(null, null, null);
-        File outDir = getOutDir("api");
-        fm.setLocation(DocumentationTool.Location.DOCUMENTATION_OUTPUT, Arrays.asList(outDir));
-        fm.setLocation(DocumentationTool.Location.TAGLET_PATH, Arrays.asList(tagletDir));
-        Iterable<? extends JavaFileObject> files = Arrays.asList(srcFile);
-        Iterable<String> options = Arrays.asList("-taglet", "UnderlineTaglet");
-        StringWriter sw = new StringWriter();
-        PrintWriter pw = new PrintWriter(sw);
-        DocumentationTask t = tool.getTask(pw, fm, null, null, options, files);
-        boolean ok = t.call();
-        String out = sw.toString();
-        System.err.println(">>" + out + "<<");
-        if (ok) {
-            File f = new File(outDir, "pkg/C.html");
-            List<String> doc = Files.readAllLines(f.toPath(), Charset.defaultCharset());
-            for (String line: doc) {
-                if (line.contains("<u>" + TEST_STRING + "</u>")) {
-                    System.err.println("taglet executed as expected");
-                    return;
+        try (StandardJavaFileManager fm = tool.getStandardFileManager(null, null, null)) {
+            File outDir = getOutDir("api");
+            fm.setLocation(DocumentationTool.Location.DOCUMENTATION_OUTPUT, Arrays.asList(outDir));
+            fm.setLocation(DocumentationTool.Location.TAGLET_PATH, Arrays.asList(tagletDir));
+            Iterable<? extends JavaFileObject> files = Arrays.asList(srcFile);
+            Iterable<String> options = Arrays.asList("-taglet", "UnderlineTaglet");
+            StringWriter sw = new StringWriter();
+            PrintWriter pw = new PrintWriter(sw);
+            DocumentationTask t = tool.getTask(pw, fm, null, null, options, files);
+            boolean ok = t.call();
+            String out = sw.toString();
+            System.err.println(">>" + out + "<<");
+            if (ok) {
+                File f = new File(outDir, "pkg/C.html");
+                List<String> doc = Files.readAllLines(f.toPath(), Charset.defaultCharset());
+                for (String line: doc) {
+                    if (line.contains("<u>" + TEST_STRING + "</u>")) {
+                        System.err.println("taglet executed as expected");
+                        return;
+                    }
                 }
+                error("expected text not found in output " + f);
+            } else {
+                error("task failed");
             }
-            error("expected text not found in output " + f);
-        } else {
-            error("task failed");
         }
     }