maxcellent / javadoc.io

Apache License 2.0
102 stars 27 forks source link

Certain javadoc invocations no longer able to link to javadoc.io pages #22

Closed ljnelson closed 4 years ago

ljnelson commented 5 years ago

Long time user of javadoc.io; thanks for your work.

Many projects of mine have built just fine with a combination of Maven's javadoc plugin and various user agent workarounds to make sure the plugin is able to access the package-list items from static.javadoc.io. You can see the output of one of them here: https://microbean.github.io/microbean-kubernetes-controller/apidocs/index.html Note that HasMetadata, to pick one example, is linked just fine.

I noticed today that with Java 8 (at least) generating these links no longer works. The javadoc plugin reports a 403 error. That suggests to me that some change has been made on your end to Cloudflare.

Have you made any recent changes that could account for previously working documentation generation strategies to start failing to find package-list?

(Note that this is a separate problem from #17 and probably from #21.)

maxcellent commented 5 years ago

Not sure I understand the issue. Do you mean HasMetadata is not clickable from this link? https://javadoc.io/doc/org.microbean/microbean-kubernetes-controller/0.2.2

ljnelson commented 5 years ago

Hmm, no; let me try again.

The link I provided, https://microbean.github.io/microbean-kubernetes-controller/apidocs/index.html, points to a set of documentation that I generated successfully quite some time ago.

If I were to try to generate this documentation again, using the same toolset and commands, any references within it to any classes from the io.fabric8 package hierarchy would no longer be "clickable".

As an arbitrary example, consider this page: https://static.javadoc.io/org.microbean/microbean-kubernetes-controller/0.2.2/org/microbean/kubernetes/controller/HasMetadatas.html

Note that HasMetadata, an io.fabric8 class, is "clickable". If I were to regenerate this documentation today, using the very same generation strategies and toolsets, it would not be. This has to do with your tool's no longer accounting for the ways that package-list must be made available to javadoc and the maven-javadoc-plugin. As mentioned, I suspect that you made some change to access control via CloudFlare or something similar, and so javadoc and maven-javadoc-plugin aren't able to "see" things they were previously able to "see".

maxcellent commented 4 years ago

I think I finally understand what do you mean now. Basically you are not able to generate link to external javadocs, and thus you suspect this is related to javadoc.io not able to serve package-list. Correct?

Have you tried to use https://www.javadoc.io/page/io.fabric8/kubernetes-model/4.1.1/ ? This handles trialing slash automatically. As in, both https://www.javadoc.io/page/io.fabric8/kubernetes-model/4.1.1/ and https://www.javadoc.io/page/io.fabric8/kubernetes-model/4.1.1 will be redirected to https://static.javadoc.io/io.fabric8/kubernetes-model/4.1.1/package-list

I tried to run mvn javadoc:javadoc with your master branch and the link is actually clickable to me. Closing the issue now. Feel free to reopen if it still doesn't work / my understanding is wrong again.