< prev index next >

langtools/test/tools/javac/modules/IncubatingTest.java

Print this page




 172                 .outdir(iClasses)
 173                 .files(findJavaFiles(src))
 174                 .run()
 175                 .writeAll();
 176 
 177         Path jdkIModuleInfo = iClasses.resolve("module-info.class");
 178         addModuleResolutionAttribute(jdkIModuleInfo, ModuleResolution_attribute.WARN_INCUBATING);
 179 
 180         Path testSrc = base.resolve("test-src");
 181         tb.writeJavaFiles(testSrc,
 182                           "class T { api.Api api; }");
 183         Path testClasses = base.resolve("test-classes");
 184         tb.createDirectories(testClasses);
 185 
 186         List<String> log;
 187         List<String> expected;
 188 
 189         log = new JavacTask(tb)
 190                 .options("--module-path", classes.toString(),
 191                          "--add-modules", "jdk.i",
 192                          "-XDrawDiagnostics",
 193                          "-Werror")
 194                 .outdir(testClasses)
 195                 .files(findJavaFiles(testSrc))
 196                 .run(Expect.FAIL)
 197                 .writeAll()
 198                 .getOutputLines(Task.OutputKind.DIRECT);
 199 
 200         expected = Arrays.asList(
 201                 "- compiler.warn.incubating.modules: jdk.i",
 202                 "- compiler.err.warnings.and.werror",
 203                 "1 error",
 204                 "1 warning"
 205         );
 206 
 207         if (!expected.equals(log)) {
 208             throw new AssertionError("Unexpected output: " + log);
 209         }
 210 
 211         Path testModuleSrc = base.resolve("test-module-src");
 212         tb.writeJavaFiles(testModuleSrc,
 213                           "module test { requires jdk.i; }", //explicit requires of an incubating module
 214                           "class T { api.Api api; }");
 215         Path testModuleClasses = base.resolve("test-module-classes");
 216         tb.createDirectories(testModuleClasses);
 217 
 218         log = new JavacTask(tb)
 219                 .options("--module-path", classes.toString(),
 220                          "-XDrawDiagnostics",
 221                          "-Werror")
 222                 .outdir(testModuleClasses)
 223                 .files(findJavaFiles(testModuleSrc))
 224                 .run(Expect.FAIL)
 225                 .writeAll()
 226                 .getOutputLines(Task.OutputKind.DIRECT);
 227 
 228         expected = Arrays.asList(
 229                 "- compiler.warn.incubating.modules: jdk.i",
 230                 "- compiler.err.warnings.and.werror",
 231                 "1 error",
 232                 "1 warning"
 233         );
 234 
 235         if (!expected.equals(log)) {
 236             throw new AssertionError("Unexpected output: " + log);
 237         }
 238     }
 239 
 240     private void copyJavaBase(Path targetDir) throws IOException {
 241         FileSystem jrt = FileSystems.getFileSystem(URI.create("jrt:/"));
 242         Path javaBase = jrt.getPath("modules", "java.base");
 243 
 244         if (!Files.exists(javaBase)) {
 245             throw new AssertionError("No java.base?");
 246         }
 247 
 248         Path javaBaseClasses = targetDir.resolve("java.base");
 249 
 250         for (Path clazz : tb.findFiles("class", javaBase)) {
 251             Path target = javaBaseClasses.resolve(javaBase.relativize(clazz).toString());
 252             Files.createDirectories(target.getParent());




 172                 .outdir(iClasses)
 173                 .files(findJavaFiles(src))
 174                 .run()
 175                 .writeAll();
 176 
 177         Path jdkIModuleInfo = iClasses.resolve("module-info.class");
 178         addModuleResolutionAttribute(jdkIModuleInfo, ModuleResolution_attribute.WARN_INCUBATING);
 179 
 180         Path testSrc = base.resolve("test-src");
 181         tb.writeJavaFiles(testSrc,
 182                           "class T { api.Api api; }");
 183         Path testClasses = base.resolve("test-classes");
 184         tb.createDirectories(testClasses);
 185 
 186         List<String> log;
 187         List<String> expected;
 188 
 189         log = new JavacTask(tb)
 190                 .options("--module-path", classes.toString(),
 191                          "--add-modules", "jdk.i",
 192                          "-XDrawDiagnostics")

 193                 .outdir(testClasses)
 194                 .files(findJavaFiles(testSrc))
 195                 .run(Expect.SUCCESS)
 196                 .writeAll()
 197                 .getOutputLines(Task.OutputKind.DIRECT);
 198 
 199         expected = Arrays.asList(
 200                 "- compiler.note.incubating.modules: jdk.i"



 201         );
 202 
 203         if (!expected.equals(log)) {
 204             throw new AssertionError("Unexpected output: " + log);
 205         }
 206 
 207         Path testModuleSrc = base.resolve("test-module-src");
 208         tb.writeJavaFiles(testModuleSrc,
 209                           "module test { requires jdk.i; }", //explicit requires of an incubating module
 210                           "class T { api.Api api; }");
 211         Path testModuleClasses = base.resolve("test-module-classes");
 212         tb.createDirectories(testModuleClasses);
 213 
 214         log = new JavacTask(tb)
 215                 .options("--module-path", classes.toString(),
 216                          "-XDrawDiagnostics")

 217                 .outdir(testModuleClasses)
 218                 .files(findJavaFiles(testModuleSrc))
 219                 .run(Expect.SUCCESS)
 220                 .writeAll()
 221                 .getOutputLines(Task.OutputKind.DIRECT);
 222 
 223         expected = Arrays.asList(
 224                 "- compiler.note.incubating.modules: jdk.i"



 225         );
 226 
 227         if (!expected.equals(log)) {
 228             throw new AssertionError("Unexpected output: " + log);
 229         }
 230     }
 231 
 232     private void copyJavaBase(Path targetDir) throws IOException {
 233         FileSystem jrt = FileSystems.getFileSystem(URI.create("jrt:/"));
 234         Path javaBase = jrt.getPath("modules", "java.base");
 235 
 236         if (!Files.exists(javaBase)) {
 237             throw new AssertionError("No java.base?");
 238         }
 239 
 240         Path javaBaseClasses = targetDir.resolve("java.base");
 241 
 242         for (Path clazz : tb.findFiles("class", javaBase)) {
 243             Path target = javaBaseClasses.resolve(javaBase.relativize(clazz).toString());
 244             Files.createDirectories(target.getParent());


< prev index next >