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