26 * @summary simple tests of javac compilation modes |
26 * @summary simple tests of javac compilation modes |
27 * @library /tools/lib |
27 * @library /tools/lib |
28 * @modules |
28 * @modules |
29 * jdk.compiler/com.sun.tools.javac.api |
29 * jdk.compiler/com.sun.tools.javac.api |
30 * jdk.compiler/com.sun.tools.javac.main |
30 * jdk.compiler/com.sun.tools.javac.main |
31 * jdk.jdeps/com.sun.tools.javap |
31 * @build toolbox.ToolBox toolbox.JarTask toolbox.JavacTask ModuleTestBase |
32 * @build ToolBox ModuleTestBase |
|
33 * @run main HelloWorldTest |
32 * @run main HelloWorldTest |
34 */ |
33 */ |
35 |
34 |
36 import java.nio.file.*; |
35 import java.nio.file.*; |
37 import javax.tools.*; |
36 import javax.tools.*; |
|
37 |
|
38 import toolbox.JarTask; |
|
39 import toolbox.JavacTask; |
|
40 import toolbox.Task; |
|
41 import toolbox.ToolBox; |
38 |
42 |
39 public class HelloWorldTest extends ModuleTestBase { |
43 public class HelloWorldTest extends ModuleTestBase { |
40 public static void main(String... args) throws Exception { |
44 public static void main(String... args) throws Exception { |
41 HelloWorldTest t = new HelloWorldTest(); |
45 HelloWorldTest t = new HelloWorldTest(); |
42 t.runTests(); |
46 t.runTests(); |
61 Path classes = base.resolve("classes"); |
65 Path classes = base.resolve("classes"); |
62 Files.createDirectories(classes); |
66 Files.createDirectories(classes); |
63 |
67 |
64 Path smallRtJar = base.resolve("small-rt.jar"); |
68 Path smallRtJar = base.resolve("small-rt.jar"); |
65 try (JavaFileManager fm = ToolProvider.getSystemJavaCompiler().getStandardFileManager(null, null, null)) { |
69 try (JavaFileManager fm = ToolProvider.getSystemJavaCompiler().getStandardFileManager(null, null, null)) { |
66 tb.new JarTask(smallRtJar) |
70 new JarTask(tb, smallRtJar) |
67 .files(fm, StandardLocation.PLATFORM_CLASS_PATH, |
71 .files(fm, StandardLocation.PLATFORM_CLASS_PATH, |
68 "java.lang.**", "java.io.*", "java.util.*") |
72 "java.lang.**", "java.io.*", "java.util.*") |
69 .run(); |
73 .run(); |
70 } |
74 } |
71 |
75 |
72 tb.new JavacTask() |
76 new JavacTask(tb) |
73 .options("-source", "8", |
77 .options("-source", "8", |
74 "-target", "8", |
78 "-target", "8", |
75 "-bootclasspath", smallRtJar.toString()) |
79 "-bootclasspath", smallRtJar.toString()) |
76 .outdir(classes) |
80 .outdir(classes) |
77 .files(src.resolve("HelloWorld.java")) |
81 .files(src.resolve("HelloWorld.java")) |
86 tb.writeJavaFiles(src, HELLO_WORLD); |
90 tb.writeJavaFiles(src, HELLO_WORLD); |
87 |
91 |
88 Path classes = base.resolve("classes"); |
92 Path classes = base.resolve("classes"); |
89 Files.createDirectories(classes); |
93 Files.createDirectories(classes); |
90 |
94 |
91 tb.new JavacTask() |
95 new JavacTask(tb) |
92 .outdir(classes) |
96 .outdir(classes) |
93 .files(src.resolve("HelloWorld.java")) |
97 .files(src.resolve("HelloWorld.java")) |
94 .run(); |
98 .run(); |
95 |
99 |
96 checkFiles(classes.resolve("HelloWorld.class")); |
100 checkFiles(classes.resolve("HelloWorld.class")); |
103 tb.writeJavaFiles(src, PKG_HELLO_WORLD); |
107 tb.writeJavaFiles(src, PKG_HELLO_WORLD); |
104 |
108 |
105 Path classes = base.resolve("classes"); |
109 Path classes = base.resolve("classes"); |
106 Files.createDirectories(classes); |
110 Files.createDirectories(classes); |
107 |
111 |
108 tb.new JavacTask(ToolBox.Mode.CMDLINE) |
112 new JavacTask(tb, Task.Mode.CMDLINE) |
109 .outdir(classes) |
113 .outdir(classes) |
110 .files(src.resolve("module-info.java"), src.resolve("p/HelloWorld.java")) |
114 .files(src.resolve("module-info.java"), src.resolve("p/HelloWorld.java")) |
111 .run() |
115 .run() |
112 .writeAll(); |
116 .writeAll(); |
113 |
117 |
124 tb.writeJavaFiles(src_m1, PKG_HELLO_WORLD); |
128 tb.writeJavaFiles(src_m1, PKG_HELLO_WORLD); |
125 |
129 |
126 Path classes = base.resolve("classes"); |
130 Path classes = base.resolve("classes"); |
127 Files.createDirectories(classes); |
131 Files.createDirectories(classes); |
128 |
132 |
129 tb.new JavacTask() |
133 new JavacTask(tb) |
130 .options("-modulesourcepath", src.toString()) |
134 .options("-modulesourcepath", src.toString()) |
131 .outdir(classes) |
135 .outdir(classes) |
132 .files(src_m1.resolve("p/HelloWorld.java")) |
136 .files(src_m1.resolve("p/HelloWorld.java")) |
133 .run() |
137 .run() |
134 .writeAll(); |
138 .writeAll(); |