langtools/test/tools/javac/modules/ModuleSourcePathTest.java
changeset 40308 274367a99f98
parent 37758 3ecf9b414e05
child 40599 be40838eb215
equal deleted inserted replaced
40306:1a0fcaf3f2ed 40308:274367a99f98
    60         Path sp = base.resolve("src");
    60         Path sp = base.resolve("src");
    61         Path msp = base.resolve("srcmodules");
    61         Path msp = base.resolve("srcmodules");
    62 
    62 
    63         String log = new JavacTask(tb, Task.Mode.CMDLINE)
    63         String log = new JavacTask(tb, Task.Mode.CMDLINE)
    64                 .options("-XDrawDiagnostics",
    64                 .options("-XDrawDiagnostics",
    65                         "-sourcepath", sp.toString().replace('/', File.separatorChar),
    65                         "--source-path", sp.toString().replace('/', File.separatorChar),
    66                         "-modulesourcepath", msp.toString().replace('/', File.separatorChar),
    66                         "--module-source-path", msp.toString().replace('/', File.separatorChar),
    67                         "dummyClass")
    67                         "dummyClass")
    68                 .run(Task.Expect.FAIL)
    68                 .run(Task.Expect.FAIL)
    69                 .writeAll()
    69                 .writeAll()
    70                 .getOutput(Task.OutputKind.DIRECT);
    70                 .getOutput(Task.OutputKind.DIRECT);
    71 
    71 
    72         if (!log.contains("cannot specify both -sourcepath and -modulesourcepath"))
    72         if (!log.contains("cannot specify both --source-path and --module-source-path"))
    73             throw new Exception("expected diagnostic not found");
    73             throw new Exception("expected diagnostic not found");
    74     }
    74     }
    75 
    75 
    76     @Test
    76     @Test
    77     public void testUnnormalizedPath1(Path base) throws Exception {
    77     public void testUnnormalizedPath1(Path base) throws Exception {
    81         Path modules = base.resolve("modules");
    81         Path modules = base.resolve("modules");
    82         Files.createDirectories(modules);
    82         Files.createDirectories(modules);
    83 
    83 
    84         new JavacTask(tb, Task.Mode.CMDLINE)
    84         new JavacTask(tb, Task.Mode.CMDLINE)
    85                 .options("-XDrawDiagnostics",
    85                 .options("-XDrawDiagnostics",
    86                         "-modulesourcepath", src.toString())
    86                         "--module-source-path", src.toString())
    87                 .outdir(modules)
    87                 .outdir(modules)
    88                 .files(prefixAll(findJavaFiles(src), Paths.get("./")))
    88                 .files(prefixAll(findJavaFiles(src), Paths.get("./")))
    89                 .run()
    89                 .run()
    90                 .writeAll();
    90                 .writeAll();
    91     }
    91     }
    98         Path modules = base.resolve("modules");
    98         Path modules = base.resolve("modules");
    99         Files.createDirectories(modules);
    99         Files.createDirectories(modules);
   100 
   100 
   101         new JavacTask(tb, Task.Mode.CMDLINE)
   101         new JavacTask(tb, Task.Mode.CMDLINE)
   102                 .options("-XDrawDiagnostics",
   102                 .options("-XDrawDiagnostics",
   103                         "-modulesourcepath", "./" + src)
   103                         "--module-source-path", "./" + src)
   104                 .outdir(modules)
   104                 .outdir(modules)
   105                 .files(findJavaFiles(src))
   105                 .files(findJavaFiles(src))
   106                 .run()
   106                 .run()
   107                 .writeAll();
   107                 .writeAll();
   108     }
   108     }
   121         final Path modules = base.resolve("modules");
   121         final Path modules = base.resolve("modules");
   122         tb.createDirectories(modules);
   122         tb.createDirectories(modules);
   123 
   123 
   124         new JavacTask(tb, Task.Mode.CMDLINE)
   124         new JavacTask(tb, Task.Mode.CMDLINE)
   125                 .options("-XDrawDiagnostics",
   125                 .options("-XDrawDiagnostics",
   126                         "-modulesourcepath", base + "/{src1,src2/inner_dir}")
   126                         "--module-source-path", base + "/{src1,src2/inner_dir}")
   127                 .files(base.resolve("src1/m0/pkg0/A.java"), base.resolve("src2/inner_dir/m1/pkg1/A.java"))
   127                 .files(base.resolve("src1/m0/pkg0/A.java"), base.resolve("src2/inner_dir/m1/pkg1/A.java"))
   128                 .outdir(modules)
   128                 .outdir(modules)
   129                 .run()
   129                 .run()
   130                 .writeAll();
   130                 .writeAll();
   131 
   131 
   152                 "{}*}"
   152                 "{}*}"
   153         );
   153         );
   154         for (String sourcepath : sourcePaths) {
   154         for (String sourcepath : sourcePaths) {
   155             String log = new JavacTask(tb, Task.Mode.CMDLINE)
   155             String log = new JavacTask(tb, Task.Mode.CMDLINE)
   156                     .options("-XDrawDiagnostics",
   156                     .options("-XDrawDiagnostics",
   157                             "-modulesourcepath", sourcepath.replace('/', File.separatorChar))
   157                             "--module-source-path", sourcepath.replace('/', File.separatorChar))
   158                     .run(Task.Expect.FAIL)
   158                     .run(Task.Expect.FAIL)
   159                     .writeAll()
   159                     .writeAll()
   160                     .getOutput(Task.OutputKind.DIRECT);
   160                     .getOutput(Task.OutputKind.DIRECT);
   161 
   161 
   162             if (!log.contains("- compiler.err.illegal.argument.for.option: -modulesourcepath, mismatched braces"))
   162             if (!log.contains("- compiler.err.illegal.argument.for.option: --module-source-path, mismatched braces"))
   163                 throw new Exception("expected output for path [" + sourcepath + "] not found");
   163                 throw new Exception("expected output for path [" + sourcepath + "] not found");
   164         }
   164         }
   165     }
   165     }
   166 
   166 
   167     @Test
   167     @Test
   180         final Path modules = base.resolve("modules");
   180         final Path modules = base.resolve("modules");
   181         tb.createDirectories(modules);
   181         tb.createDirectories(modules);
   182 
   182 
   183         new JavacTask(tb, Task.Mode.CMDLINE)
   183         new JavacTask(tb, Task.Mode.CMDLINE)
   184                 .options("-XDrawDiagnostics",
   184                 .options("-XDrawDiagnostics",
   185                         "-modulesourcepath",
   185                         "--module-source-path",
   186                         base + "/{src/{{src1,src2,src3},{srcB,srcC}/{src1,src2/srcX{X,Y}/}},.}"
   186                         base + "/{src/{{src1,src2,src3},{srcB,srcC}/{src1,src2/srcX{X,Y}/}},.}"
   187                                 .replace('/', File.separatorChar))
   187                                 .replace('/', File.separatorChar))
   188                 .files(findJavaFiles(base.resolve(modulePaths[modulePaths.length - 1])))
   188                 .files(findJavaFiles(base.resolve(modulePaths[modulePaths.length - 1])))
   189                 .outdir(modules)
   189                 .outdir(modules)
   190                 .run()
   190                 .run()
   205         final Path modules = base.resolve("modules");
   205         final Path modules = base.resolve("modules");
   206         tb.createDirectories(modules);
   206         tb.createDirectories(modules);
   207 
   207 
   208         new JavacTask(tb, Task.Mode.CMDLINE)
   208         new JavacTask(tb, Task.Mode.CMDLINE)
   209                 .options("-XDrawDiagnostics",
   209                 .options("-XDrawDiagnostics",
   210                         "-modulesourcepath", base + "/{dummy.txt,src}")
   210                         "--module-source-path", base + "/{dummy.txt,src}")
   211                 .files(src.resolve("kettle$/electric/Heater.java"))
   211                 .files(src.resolve("kettle$/electric/Heater.java"))
   212                 .outdir(modules)
   212                 .outdir(modules)
   213                 .run()
   213                 .run()
   214                 .writeAll();
   214                 .writeAll();
   215 
   215 
   225         final Path modules = base.resolve("modules");
   225         final Path modules = base.resolve("modules");
   226         tb.createDirectories(modules);
   226         tb.createDirectories(modules);
   227 
   227 
   228         new JavacTask(tb, Task.Mode.CMDLINE)
   228         new JavacTask(tb, Task.Mode.CMDLINE)
   229                 .options("-XDrawDiagnostics",
   229                 .options("-XDrawDiagnostics",
   230                         "-modulesourcepath", base + "/{src}")
   230                         "--module-source-path", base + "/{src}")
   231                 .files(src.resolve("kettle$/electric/Heater.java"))
   231                 .files(src.resolve("kettle$/electric/Heater.java"))
   232                 .outdir(modules)
   232                 .outdir(modules)
   233                 .run()
   233                 .run()
   234                 .writeAll();
   234                 .writeAll();
   235 
   235 
   244         final Path modules = base.resolve("modules");
   244         final Path modules = base.resolve("modules");
   245         tb.createDirectories(modules);
   245         tb.createDirectories(modules);
   246 
   246 
   247         new JavacTask(tb, Task.Mode.CMDLINE)
   247         new JavacTask(tb, Task.Mode.CMDLINE)
   248                 .options("-XDrawDiagnostics",
   248                 .options("-XDrawDiagnostics",
   249                         "-modulesourcepath", base + "/{}")
   249                         "--module-source-path", base + "/{}")
   250                 .files(base.resolve("kettle$/electric/Heater.java"))
   250                 .files(base.resolve("kettle$/electric/Heater.java"))
   251                 .outdir(modules)
   251                 .outdir(modules)
   252                 .run()
   252                 .run()
   253                 .writeAll();
   253                 .writeAll();
   254 
   254 
   265         final Path modules = src.resolve("modules");
   265         final Path modules = src.resolve("modules");
   266         tb.createDirectories(modules);
   266         tb.createDirectories(modules);
   267 
   267 
   268         new JavacTask(tb, Task.Mode.CMDLINE)
   268         new JavacTask(tb, Task.Mode.CMDLINE)
   269                 .options("-XDrawDiagnostics",
   269                 .options("-XDrawDiagnostics",
   270                         "-modulesourcepath", "{" + src + "," + src + "/car}")
   270                         "--module-source-path", "{" + src + "," + src + "/car}")
   271                 .files(findJavaFiles(src))
   271                 .files(findJavaFiles(src))
   272                 .outdir(modules)
   272                 .outdir(modules)
   273                 .run()
   273                 .run()
   274                 .writeAll();
   274                 .writeAll();
   275         checkFiles(modules.resolve("car/light/Headlight.class"));
   275         checkFiles(modules.resolve("car/light/Headlight.class"));
   284         final Path modules = base.resolve("modules");
   284         final Path modules = base.resolve("modules");
   285         tb.createDirectories(modules);
   285         tb.createDirectories(modules);
   286 
   286 
   287         new JavacTask(tb, Task.Mode.CMDLINE)
   287         new JavacTask(tb, Task.Mode.CMDLINE)
   288                 .options("-XDrawDiagnostics",
   288                 .options("-XDrawDiagnostics",
   289                         "-modulesourcepath", base + "/src/./../src")
   289                         "--module-source-path", base + "/src/./../src")
   290                 .files(src.resolve("kettle/electric/Heater.java"))
   290                 .files(src.resolve("kettle/electric/Heater.java"))
   291                 .outdir(modules)
   291                 .outdir(modules)
   292                 .run()
   292                 .run()
   293                 .writeAll();
   293                 .writeAll();
   294         checkFiles(modules.resolve("kettle/electric/Heater.class"));
   294         checkFiles(modules.resolve("kettle/electric/Heater.class"));
   303         final Path modules = base.resolve("modules");
   303         final Path modules = base.resolve("modules");
   304         tb.createDirectories(modules);
   304         tb.createDirectories(modules);
   305 
   305 
   306         new JavacTask(tb, Task.Mode.CMDLINE)
   306         new JavacTask(tb, Task.Mode.CMDLINE)
   307                 .options("-XDrawDiagnostics",
   307                 .options("-XDrawDiagnostics",
   308                         "-modulesourcepath", base + "/{src,src,src}")
   308                         "--module-source-path", base + "/{src,src,src}")
   309                 .files(src.resolve("m1/a/A.java"))
   309                 .files(src.resolve("m1/a/A.java"))
   310                 .outdir(modules)
   310                 .outdir(modules)
   311                 .run()
   311                 .run()
   312                 .writeAll();
   312                 .writeAll();
   313 
   313 
   321         final Path modules = base.resolve("modules");
   321         final Path modules = base.resolve("modules");
   322         tb.createDirectories(modules);
   322         tb.createDirectories(modules);
   323 
   323 
   324         String log = new JavacTask(tb, Task.Mode.CMDLINE)
   324         String log = new JavacTask(tb, Task.Mode.CMDLINE)
   325                 .options("-XDrawDiagnostics",
   325                 .options("-XDrawDiagnostics",
   326                         "-modulesourcepath", base + "/not_exist" + PATH_SEP + base + "/{not_exist,}")
   326                         "--module-source-path", base + "/not_exist" + PATH_SEP + base + "/{not_exist,}")
   327                 .files(base.resolve("m1/a/A.java"))
   327                 .files(base.resolve("m1/a/A.java"))
   328                 .outdir(modules)
   328                 .outdir(modules)
   329                 .run(Task.Expect.FAIL)
   329                 .run(Task.Expect.FAIL)
   330                 .writeAll()
   330                 .writeAll()
   331                 .getOutput(Task.OutputKind.DIRECT);
   331                 .getOutput(Task.OutputKind.DIRECT);
   340         final Path modules = base.resolve("modules");
   340         final Path modules = base.resolve("modules");
   341         tb.createDirectories(modules);
   341         tb.createDirectories(modules);
   342 
   342 
   343         new JavacTask(tb, Task.Mode.CMDLINE)
   343         new JavacTask(tb, Task.Mode.CMDLINE)
   344                 .options("-XDrawDiagnostics",
   344                 .options("-XDrawDiagnostics",
   345                         "-modulesourcepath", base + "{/not_exist,/}")
   345                         "--module-source-path", base + "{/not_exist,/}")
   346                 .files(base.resolve("m1/a/A.java"))
   346                 .files(base.resolve("m1/a/A.java"))
   347                 .outdir(modules)
   347                 .outdir(modules)
   348                 .run()
   348                 .run()
   349                 .writeAll();
   349                 .writeAll();
   350 
   350 
   359         final Path modules = base.resolve("modules");
   359         final Path modules = base.resolve("modules");
   360         tb.createDirectories(modules);
   360         tb.createDirectories(modules);
   361 
   361 
   362         new JavacTask(tb, Task.Mode.CMDLINE)
   362         new JavacTask(tb, Task.Mode.CMDLINE)
   363                 .options("-XDrawDiagnostics",
   363                 .options("-XDrawDiagnostics",
   364                         "-modulesourcepath", base + "/{,{,,,,src,,,}}")
   364                         "--module-source-path", base + "/{,{,,,,src,,,}}")
   365                 .files(src.resolve("m1/a/A.java"))
   365                 .files(src.resolve("m1/a/A.java"))
   366                 .outdir(modules)
   366                 .outdir(modules)
   367                 .run()
   367                 .run()
   368                 .writeAll();
   368                 .writeAll();
   369 
   369 
   378         final Path modules = base.resolve("modules");
   378         final Path modules = base.resolve("modules");
   379         tb.createDirectories(modules);
   379         tb.createDirectories(modules);
   380 
   380 
   381         new JavacTask(tb, Task.Mode.CMDLINE)
   381         new JavacTask(tb, Task.Mode.CMDLINE)
   382                 .options("-XDrawDiagnostics",
   382                 .options("-XDrawDiagnostics",
   383                         "-modulesourcepath", base + "/*/classes/")
   383                         "--module-source-path", base + "/*/classes/")
   384                 .files(base.resolve("kettle/classes/electric/Heater.java"))
   384                 .files(base.resolve("kettle/classes/electric/Heater.java"))
   385                 .outdir(modules)
   385                 .outdir(modules)
   386                 .run()
   386                 .run()
   387                 .writeAll();
   387                 .writeAll();
   388 
   388 
   401         final Path modules = base.resolve("modules");
   401         final Path modules = base.resolve("modules");
   402         tb.createDirectories(modules);
   402         tb.createDirectories(modules);
   403 
   403 
   404         new JavacTask(tb, Task.Mode.CMDLINE)
   404         new JavacTask(tb, Task.Mode.CMDLINE)
   405                 .options("-XDrawDiagnostics",
   405                 .options("-XDrawDiagnostics",
   406                         "-modulesourcepath", src + "{/*/gensrc/,/*/classes/}" + PATH_SEP
   406                         "--module-source-path", src + "{/*/gensrc/,/*/classes/}" + PATH_SEP
   407                                 + src + "/*/special/classes")
   407                                 + src + "/*/special/classes")
   408                 .files(findJavaFiles(src))
   408                 .files(findJavaFiles(src))
   409                 .outdir(modules)
   409                 .outdir(modules)
   410                 .run()
   410                 .run()
   411                 .writeAll();
   411                 .writeAll();
   430                 "src/module*/"
   430                 "src/module*/"
   431         );
   431         );
   432         for (String sourcepath : sourcePaths) {
   432         for (String sourcepath : sourcePaths) {
   433             String log = new JavacTask(tb, Task.Mode.CMDLINE)
   433             String log = new JavacTask(tb, Task.Mode.CMDLINE)
   434                     .options("-XDrawDiagnostics",
   434                     .options("-XDrawDiagnostics",
   435                             "-modulesourcepath", sourcepath.replace('/', File.separatorChar))
   435                             "--module-source-path", sourcepath.replace('/', File.separatorChar))
   436                     .run(Task.Expect.FAIL)
   436                     .run(Task.Expect.FAIL)
   437                     .writeAll()
   437                     .writeAll()
   438                     .getOutput(Task.OutputKind.DIRECT);
   438                     .getOutput(Task.OutputKind.DIRECT);
   439 
   439 
   440             if (!log.contains("- compiler.err.illegal.argument.for.option: -modulesourcepath, illegal use of *"))
   440             if (!log.contains("- compiler.err.illegal.argument.for.option: --module-source-path, illegal use of *"))
   441                 throw new Exception("expected output for path [" + sourcepath + "] not found");
   441                 throw new Exception("expected output for path [" + sourcepath + "] not found");
   442         }
   442         }
   443     }
   443     }
   444 
   444 
   445     private void generateModules(Path base, String... paths) throws IOException {
   445     private void generateModules(Path base, String... paths) throws IOException {