59
60 @Test
61 public void testLegacyMode(Path base) throws Exception {
62 Path src = base.resolve("src");
63 tb.writeJavaFiles(src, HELLO_WORLD);
64
65 Path classes = base.resolve("classes");
66 Files.createDirectories(classes);
67
68 Path smallRtJar = base.resolve("small-rt.jar");
69 try (JavaFileManager fm = ToolProvider.getSystemJavaCompiler().getStandardFileManager(null, null, null)) {
70 new JarTask(tb, smallRtJar)
71 .files(fm, StandardLocation.PLATFORM_CLASS_PATH,
72 "java.lang.**", "java.io.*", "java.util.*")
73 .run();
74 }
75
76 new JavacTask(tb)
77 .options("-source", "8",
78 "-target", "8",
79 "-bootclasspath", smallRtJar.toString())
80 .outdir(classes)
81 .files(src.resolve("HelloWorld.java"))
82 .run();
83
84 checkFiles(classes.resolve("HelloWorld.class"));
85 }
86
87 @Test
88 public void testUnnamedModule(Path base) throws Exception {
89 Path src = base.resolve("src");
90 tb.writeJavaFiles(src, HELLO_WORLD);
91
92 Path classes = base.resolve("classes");
93 Files.createDirectories(classes);
94
95 new JavacTask(tb)
96 .outdir(classes)
97 .files(src.resolve("HelloWorld.java"))
98 .run();
99
114 .files(src.resolve("module-info.java"), src.resolve("p/HelloWorld.java"))
115 .run()
116 .writeAll();
117
118 checkFiles(
119 classes.resolve("module-info.class"),
120 classes.resolve("p/HelloWorld.class"));
121 }
122
123 @Test
124 public void testModuleSourcePath(Path base) throws Exception {
125 Path src = base.resolve("src");
126 Path src_m1 = src.resolve("m1");
127 tb.writeFile(src_m1.resolve("module-info.java"), "module m1 { }");
128 tb.writeJavaFiles(src_m1, PKG_HELLO_WORLD);
129
130 Path classes = base.resolve("classes");
131 Files.createDirectories(classes);
132
133 new JavacTask(tb)
134 .options("-modulesourcepath", src.toString())
135 .outdir(classes)
136 .files(src_m1.resolve("p/HelloWorld.java"))
137 .run()
138 .writeAll();
139
140 checkFiles(
141 classes.resolve("m1/module-info.class"),
142 classes.resolve("m1/p/HelloWorld.class"));
143 }
144
145 void checkFiles(Path... files) throws Exception {
146 for (Path f: files) {
147 if (!Files.exists(f))
148 throw new Exception("expected file not found: " + f);
149 }
150 }
151 }
|
59
60 @Test
61 public void testLegacyMode(Path base) throws Exception {
62 Path src = base.resolve("src");
63 tb.writeJavaFiles(src, HELLO_WORLD);
64
65 Path classes = base.resolve("classes");
66 Files.createDirectories(classes);
67
68 Path smallRtJar = base.resolve("small-rt.jar");
69 try (JavaFileManager fm = ToolProvider.getSystemJavaCompiler().getStandardFileManager(null, null, null)) {
70 new JarTask(tb, smallRtJar)
71 .files(fm, StandardLocation.PLATFORM_CLASS_PATH,
72 "java.lang.**", "java.io.*", "java.util.*")
73 .run();
74 }
75
76 new JavacTask(tb)
77 .options("-source", "8",
78 "-target", "8",
79 "--boot-class-path", smallRtJar.toString())
80 .outdir(classes)
81 .files(src.resolve("HelloWorld.java"))
82 .run();
83
84 checkFiles(classes.resolve("HelloWorld.class"));
85 }
86
87 @Test
88 public void testUnnamedModule(Path base) throws Exception {
89 Path src = base.resolve("src");
90 tb.writeJavaFiles(src, HELLO_WORLD);
91
92 Path classes = base.resolve("classes");
93 Files.createDirectories(classes);
94
95 new JavacTask(tb)
96 .outdir(classes)
97 .files(src.resolve("HelloWorld.java"))
98 .run();
99
114 .files(src.resolve("module-info.java"), src.resolve("p/HelloWorld.java"))
115 .run()
116 .writeAll();
117
118 checkFiles(
119 classes.resolve("module-info.class"),
120 classes.resolve("p/HelloWorld.class"));
121 }
122
123 @Test
124 public void testModuleSourcePath(Path base) throws Exception {
125 Path src = base.resolve("src");
126 Path src_m1 = src.resolve("m1");
127 tb.writeFile(src_m1.resolve("module-info.java"), "module m1 { }");
128 tb.writeJavaFiles(src_m1, PKG_HELLO_WORLD);
129
130 Path classes = base.resolve("classes");
131 Files.createDirectories(classes);
132
133 new JavacTask(tb)
134 .options("--module-source-path", src.toString())
135 .outdir(classes)
136 .files(src_m1.resolve("p/HelloWorld.java"))
137 .run()
138 .writeAll();
139
140 checkFiles(
141 classes.resolve("m1/module-info.class"),
142 classes.resolve("m1/p/HelloWorld.class"));
143 }
144
145 void checkFiles(Path... files) throws Exception {
146 for (Path f: files) {
147 if (!Files.exists(f))
148 throw new Exception("expected file not found: " + f);
149 }
150 }
151 }
|