Javadoc navibar's tab "tree" doesn't point to package-tree.html but point to overview-tree.html


(Jiaqi Guan) #1

I’m using gradle build to generate javadoc files. And for the navigation bar in the top, I click the “Tree” tab. It should point to package-tree.html but it point to overview-tree.html.
It did generate both the package-tree.html and overview-tree.html.

Could anyone help me with this? I did not do any special configuration about this.

Thanks.


(Jiaqi Guan) #2

@jjustinic Could you help me take a look at this? Thanks.


(James Justinic) #3

As far as I know, overview-tree.html is for all documented classes and there is a package-tree.html file for each package. The tree link varies by your context, pointing to overview-tree.html from top level pages and package-tree.html if you’ve navigated to pages within a specific package. I’m neither aware of options around this nor have observed different behavior in the third-party documentation I regularly view.


(Jiaqi Guan) #4

I’m now migrating the code from Maven to Gradle. For the right side in the picture, it’s generated by Maven. And this link should point to package-tree.html, since it’s a specific package.
But for the left side which is generated by Gradle, it points to “overview-tree.html”. In Gradle, it do generate both “package-tree.html” and “overview-tree.html”. But why it point to the wrong one, I mean, overview-tree? For all the specific API page, they all points to overview-tree.


(James Justinic) #5

Given one of my simple example projects, and several public projects I looked at, I see the behavior that I described. There is one overview-tree.html and many package-tree.html files. Depending on the context, the “Tree” link points to either the overview-tree.html or one of the package-tree.html files. I don’t see any “Tree” that unexpectedly point to overview-tree.html. Without an example project where this occurs, it would be difficult for me to provide any additional insight.


(Jiaqi Guan) #6

Here is the project: https://github.com/linkedin/parseq/tree/jguan-gradle/contrib/parseq-zk-client
You can use “mvn install” to build and generate the “javadoc” by Maven. And them compare this javadoc files to the ones generated by Gradle. You will find “PlanLocal.html” has that issue.


(James Justinic) #7

The only pages that link to overview-tree.html when I run this is the root and the USE pages. The regular class documentation links to the package-tree.html files for me.

javadoc {packages|source-files} [options] [@argfiles]

I believe the issue here is that Javadoc’s behavior subtly changes depending on whether packages or source-files are given. I’m not aware of any reason that this would be the desired behavior of javadoc, but I’m not sure you can fix it without calling javadoc differently. I believe the methods mentioned in this post from earlier in the year would help you achieve this, if it’s a deal breaker.