From 2f4d601a56bf02db2766d1f8a2ddfff906b78678 Mon Sep 17 00:00:00 2001 From: Jonathan Gibbons Date: Tue, 17 Oct 2023 21:00:29 +0000 Subject: [PATCH] 8314975: JavadocTester should set source path if not specified Reviewed-by: hannesw --- .../javadoc/lib/javadoc/tester/JavadocTester.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/langtools/jdk/javadoc/lib/javadoc/tester/JavadocTester.java b/test/langtools/jdk/javadoc/lib/javadoc/tester/JavadocTester.java index dd0cc3c1f4a..a409dd2cedb 100644 --- a/test/langtools/jdk/javadoc/lib/javadoc/tester/JavadocTester.java +++ b/test/langtools/jdk/javadoc/lib/javadoc/tester/JavadocTester.java @@ -424,12 +424,14 @@ public abstract class JavadocTester { String charsetArg = null; String docencodingArg = null; String encodingArg = null; + boolean haveSourcePath = false; for (int i = 0; i < args.length - 2; i++) { switch (args[i]) { case "-d" -> outputDir = Path.of(args[++i]); case "-charset" -> charsetArg = args[++i]; case "-docencoding" -> docencodingArg = args[++i]; case "-encoding" -> encodingArg = args[++i]; + case "-sourcepath", "--source-path", "--module-source-path" -> haveSourcePath = true; } } @@ -451,6 +453,16 @@ public abstract class JavadocTester { charset = Charset.defaultCharset(); } + // explicitly set the source path if none specified + // to override the javadoc tool default to use the classpath + if (!haveSourcePath) { + var newArgs = new String[args.length + 2]; + newArgs[0] = "-sourcepath"; + newArgs[1] = testSrc; + System.arraycopy(args, 0, newArgs, 2, args.length); + args = newArgs; + } + out.println("args: " + Arrays.toString(args)); // log.setOutDir(outputDir);