Jon, I pushed the changeset with separated source directories for modules and packages, which worked fine.
Here are the changes in the test: http://hg.openjdk.java.net/jdk/jdk/rev/3b557aef43c4#l3.13 <http://hg.openjdk.java.net/jdk/jdk/rev/3b557aef43c4#l3.13> Hannes > Am 08.04.2020 um 11:42 schrieb Hannes Wallnoefer > <hannes.wallnoe...@oracle.com>: > > Thanks for the review, Jon. > > I agree the test is weird. I had to check it does the right thing with > everything in the same directory. > > I’ll rewrite it to use separate directories as you suggest. > > Hannes > >> Am 07.04.2020 um 19:32 schrieb Jonathan Gibbons <jonathan.gibb...@oracle.com >> <mailto:jonathan.gibb...@oracle.com>>: >> >> Hannes, >> >> The test is weird, and it took me a while to understand what I think is >> going on. This predates your changes, but is still very confusing. >> >> If I understand the code correctly, initModulesAndPackages creates both >> packages and modules (which contain packages) in the same "src" directory. >> The same "src" directory is then used as an argument for both the module >> source path and source path, in different runs of javadoc. This is >> confusing, at least to me, because you can put a module on the source path >> and have javadoc recognize it as a module. But, it seems to work in the test >> because the test is relying on the naming conventions for qualified module >> names, and so it doesn't get confused when looking for packages or modules. >> But, I'm mildly surprised javac/javadoc doesn't complain at the "packages" >> found on the module source path. >> >> The test would be clearer if initModulesAndPackages wrote into two separate >> directories, one for module source code and the other for package source >> code. This would then affect/improve all the existing @Test methods by >> making it clear which directory structure they are reading source code from. >> >> If this simple refactoring works, the review is Approved. Otherwise, I'd >> like to understand the issues in more detail. >> >> -- Jon >> >> >> >> On 4/3/20 1:38 AM, Hannes Wallnoefer wrote: >>> I realised there’s a simpler solution to the problem. Instead of using a >>> Set to track packages with non-modular documentation we can just return the >>> module name that matches our internal model in #checkLinkCompatibility. >>> >>> I also changed the JBS summary to „javadoc fails to link to docs with >>> non-matching modularity“ so it covers both cases. >>> >>> New Webrev: http://cr.openjdk.java.net/~hannesw/8240169/webrev.01/ >>> <http://cr.openjdk.java.net/~hannesw/8240169/webrev.01/> >>> >>> Hannes >>> >>> >>>> Am 02.04.2020 um 16:06 schrieb Hannes Wallnoefer >>>> <hannes.wallnoe...@oracle.com <mailto:hannes.wallnoe...@oracle.com>>: >>>> >>>> Please review: >>>> >>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8240169 >>>> <https://bugs.openjdk.java.net/browse/JDK-8240169> >>>> Webrev: http://cr.openjdk.java.net/~hannesw/8240169/webrev.00/ >>>> <http://cr.openjdk.java.net/~hannesw/8240169/webrev.00/> >>>> >>>> This patch allows using external documentation even if it doesn’t match >>>> the external library in terms of modularity, i.e. non-modular >>>> documentation can be used for an modular library and vice versa. Instead >>>> of showing an error a warning is issued. There is still a warning if code >>>> and documentation do not match, but we use the check to tweak reference >>>> lookup so that we are still able to link to the appropriate documentation. >>>> >>>> I think that all relevant cases for combinations of modular and >>>> non-modular code are covered by existing tests (some of which change with >>>> this patch obviouly). >>>> >>>> TestLinkOptionWithAutomaticModule.java covers using a jar file as >>>> automatic or unnamed module, both of which cases were already supported as >>>> of JDK-8212233, so no changes there. >>>> >>>> TestLinkOptionWithModule.java covers all combinations of modular and >>>> non-modular code and documentation. For the two tests that cover >>>> non-matching combinations, I changed the expected return code to OK and >>>> added expected output with the link HTML. The message about the >>>> mismatching documentation is still there, but it is a warning instead of >>>> an error. >>>> >>>> I also added the JBS id to the @bug tag in TestLinkOptionWithModule.java >>>> as well as in TestClassCrossReferences.java which is another test that >>>> contains significant changes. >>>> >>>> Thanks, >>>> Hannes >>> >