On Tue, 14 Dec 2021 03:39:13 GMT, Jonathan Gibbons <j...@openjdk.org> wrote:

>> Please review a moderately simple addition to the `JavadocTester` world, to 
>> be able to modify the behavior of a file manager to throw exceptions as 
>> needed.
>> 
>> The bulk of the new functionality is in a new class, 
>> `TestJavaFileManagerBuilder`, which uses the builder pattern to allow a 
>> client to configure and build a file manager that can provide file objects 
>> for which the behavior can be overridden for one or more methods.  The 
>> expected use case is to throw an exception instead of calling the underlying 
>> delegate method.
>> 
>> `JavadocTester` is modified to allow a file manager to be provided when 
>> invoking `javadoc`. This requires some minor changes to the outermost 
>> javadoc tool classes, `Main` and `Start`.  Rather than add more `static` 
>> methods to `Main`, instance methods are now provided to make it easier to 
>> configure the values that will be passed to `Start`.    In `Start`, it was 
>> previously assumed that either the default file manager was being used or 
>> that _all_ paths would be configured directly in the file manager. The 
>> latter part of that assumption is reduced so that path-setting options (e.g. 
>> `--source-path`, `--class-path` etc) can be passed to the provided file 
>> manager. (Previously, they were silently ignored.) It is an error to pass 
>> path-like options as javadoc options to a file manager that does not support 
>> them.  However, since none of the changes are visible to any public API, 
>> this should not be an issue.
>> 
>> A new test is provided, with a few simple test cases. One is for direct use 
>> of the new file manager mechanism (without using `javadoc`). The other two 
>> illustrate how the feature can be used inside a `JavadocTester` call of 
>> `javadoc`.  Given that the feature is a relatively simple combination of 
>> predicates and proxies, it's not clear that we need a significant body of 
>> test cases.
>
> Jonathan Gibbons has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   fix doc comments

I can work with that to test snippets; thanks. Update the copyright years 
before integrating.

src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc.properties
 line 307:

> 305: main.unknown.option.for.filemanager=option not supported by file 
> manager: {0}
> 306: main.bad.arg.for.filemanager.option=bad value for file manager option 
> {0}: "{1}"
> 307: doclet.internal.report.bug=\

We don't seem to have any tests for these new errors.

test/langtools/jdk/javadoc/lib/javadoc/tester/TestJavaFileManagerBuilder.java 
line 65:

> 63:  * by method and predicate and then dynamically build the set of methods 
> to be used for
> 64:  * a file object by filtering the methods by their applicable predicate.
> 65:  */

These 1.5 paragraphs seem no longer relevant.

test/langtools/jdk/javadoc/testTFMBuilder/TestTFMBuilder.java line 53:

> 51: 
> 52: /**
> 53:  * Tests the {@link TestJavaFileManagerBuilder class}.

This doc comment reads weird when rendered.

-------------

Marked as reviewed by prappo (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/6404

Reply via email to