8169069: Module system implementation refresh (11/2016)

Co-authored-by: Jonathan Gibbons <jonathan.gibbons@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Bhavesh Patel <bhavesh.x.patel@oracle.com>
Co-authored-by: Andrey Nazarov <andrey.x.nazarov@oracle.com>
Reviewed-by: mcimadamore, jjg, mchung, anazarov
This commit is contained in:
Alan Bateman 2016-12-01 09:02:42 +00:00
parent 51f50b64e5
commit 22e233b2e9
214 changed files with 5453 additions and 1175 deletions

View file

@ -206,7 +206,7 @@ public class EdgeCases extends ModuleTestBase {
Files.createDirectories(modulePath);
Path automaticJar = modulePath.resolve("m1-1.0.jar");
Path automaticJar = modulePath.resolve("a-1.0.jar");
new JarTask(tb, automaticJar)
.baseDir(automaticClasses)
@ -216,11 +216,11 @@ public class EdgeCases extends ModuleTestBase {
Path src = base.resolve("src");
Path src_m2 = src.resolve("m2");
tb.writeJavaFiles(src_m2,
"module m2 { requires m1; exports api2; }",
"module m2 { requires a; exports api2; }",
"package api2; public class Api2 { public static api1.Api1 get() { return null; } }");
Path src_m3 = src.resolve("m3");
tb.writeJavaFiles(src_m3,
"module m3 { requires m1; requires m2; }",
"module m3 { requires a; requires m2; }",
"package test; public class Test { { api2.Api2.get(); api1.Api1 a1; } }");
Path classes = base.resolve("classes");
tb.createDirectories(classes);
@ -459,4 +459,29 @@ public class EdgeCases extends ModuleTestBase {
syms.java_base.getDirectives();
}
@Test
public void testPackageInModuleInfo(Path base) throws Exception {
Path src = base.resolve("src");
Files.createDirectories(src);
tb.writeJavaFiles(src, "package p; module foo { }");
Path classes = base.resolve("classes");
tb.createDirectories(classes);
List<String> log = new JavacTask(tb)
.options("-XDrawDiagnostics", "-XDshould-stop.ifError=FLOW")
.outdir(classes)
.files(findJavaFiles(src))
.run(Expect.FAIL)
.writeAll()
.getOutputLines(OutputKind.DIRECT);
List<String> expected = Arrays.asList(
"module-info.java:1:1: compiler.err.no.pkg.in.module-info.java",
"1 error");
if (!expected.equals(log)) {
throw new AssertionError("Unexpected output: " + log);
}
}
}