46 public static void main(String... args) throws IOException {
47 // set up dir1/test0.java
48 File dir1 = new File("dir1");
49 dir1.mkdir();
50 BufferedWriter fout = new BufferedWriter(new FileWriter(new File(dir1, "test0.java")));
51 fout.write("public class test0 { }");
52 fout.close();
53
54 // run annotation processor b6341534 so we can check diagnostics
55 // -proc:only -processor b6341534 -cp . ./src/*.java
56 String testSrc = System.getProperty("test.src", ".");
57 String testClasses = System.getProperty("test.classes");
58 JavacTool tool = JavacTool.create();
59 MyDiagListener dl = new MyDiagListener();
60 StandardJavaFileManager fm = tool.getStandardFileManager(dl, null, null);
61 fm.setLocation(StandardLocation.CLASS_PATH, Arrays.asList(new File(".")));
62 Iterable<? extends JavaFileObject> files = fm.getJavaFileObjectsFromFiles(Arrays.asList(
63 new File(testSrc, "test0.java"), new File(testSrc, "test1.java")));
64 Iterable<String> opts = Arrays.asList("-proc:only",
65 "-processor", "b6341534",
66 "-source", "1.6",
67 "-processorpath", testClasses);
68 StringWriter out = new StringWriter();
69 JavacTask task = tool.getTask(out, fm, dl, opts, null, files);
70 task.call();
71 String s = out.toString();
72 System.err.print(s);
73 // Expect the following 2 diagnostics, and no output to log
74 System.err.println(dl.count + " diagnostics; " + s.length() + " characters");
75 if (dl.count != 2 || s.length() != 0)
76 throw new AssertionError("unexpected output from compiler");
77 }
78
79 static class MyDiagListener implements DiagnosticListener<JavaFileObject> {
80 public void report(Diagnostic d) {
81 System.err.println(d);
82 count++;
83 }
84
85 public int count;
86 }
|
46 public static void main(String... args) throws IOException {
47 // set up dir1/test0.java
48 File dir1 = new File("dir1");
49 dir1.mkdir();
50 BufferedWriter fout = new BufferedWriter(new FileWriter(new File(dir1, "test0.java")));
51 fout.write("public class test0 { }");
52 fout.close();
53
54 // run annotation processor b6341534 so we can check diagnostics
55 // -proc:only -processor b6341534 -cp . ./src/*.java
56 String testSrc = System.getProperty("test.src", ".");
57 String testClasses = System.getProperty("test.classes");
58 JavacTool tool = JavacTool.create();
59 MyDiagListener dl = new MyDiagListener();
60 StandardJavaFileManager fm = tool.getStandardFileManager(dl, null, null);
61 fm.setLocation(StandardLocation.CLASS_PATH, Arrays.asList(new File(".")));
62 Iterable<? extends JavaFileObject> files = fm.getJavaFileObjectsFromFiles(Arrays.asList(
63 new File(testSrc, "test0.java"), new File(testSrc, "test1.java")));
64 Iterable<String> opts = Arrays.asList("-proc:only",
65 "-processor", "b6341534",
66 "-processorpath", testClasses);
67 StringWriter out = new StringWriter();
68 JavacTask task = tool.getTask(out, fm, dl, opts, null, files);
69 task.call();
70 String s = out.toString();
71 System.err.print(s);
72 // Expect the following 2 diagnostics, and no output to log
73 System.err.println(dl.count + " diagnostics; " + s.length() + " characters");
74 if (dl.count != 2 || s.length() != 0)
75 throw new AssertionError("unexpected output from compiler");
76 }
77
78 static class MyDiagListener implements DiagnosticListener<JavaFileObject> {
79 public void report(Diagnostic d) {
80 System.err.println(d);
81 count++;
82 }
83
84 public int count;
85 }
|