rolandweber / Pityoulish

A collection of programming/debugging exercises to support a course on Distributed Systems.
Creative Commons Zero v1.0 Universal
7 stars 0 forks source link

JavaDoc compatibility with OpenJDK 11+ #83

Closed rolandweber closed 4 years ago

rolandweber commented 5 years ago

The custom stylesheet works fine with OpenJDK 8, but totally screws up with OpenJDK 11.

With OpenJDK 11, index.html apparently redirects to overview-summary.html. Package groups have become selections for a single table, instead of being shown in groups.

I have to explicitly click on "Frames" to get the traditional, framed view. But the frames appear as three small stacked boxes, instead of two on the left and a main frame.

rolandweber commented 5 years ago

I totally hate the new single-table package groups. Maybe I'll just ignore Java 11 and later. Or I could add version detection and omit the custom stylesheet there.

rolandweber commented 5 years ago

As mentioned in #26, maybe the Amazon Corretto releases will provide a more stable alternative. https://aws.amazon.com/de/blogs/opensource/amazon-corretto-no-cost-distribution-openjdk-long-term-support/

rolandweber commented 5 years ago

No need for Corretto, OpenJDK (as opposed to Oracle JDK) is still around in version 8. Version detection and omitting the stylesheet for >8 is the way to go. I don't want to spend more time on styling JavaDocs against the interference of the powers that be.

rolandweber commented 4 years ago

I currently don't use ant-contrib, and I don't want to. That makes implementing this condition somewhat tricky. I'd like to do a conditional <presetdef> for javadoc, with or without the stylesheet, depending on whether it's Java 8 or not. There's no point in considering older Java versions anymore.

rolandweber commented 4 years ago

With Ant 1.9.1, if and unless can be applied to all tasks, including presetdef, by using XML namespaces. https://ant.apache.org/manual/ifunless.html

So I can use <condition> to set a property only when Java 8 is being used, then preset <jdoc.pty> differently, depending on whether the property is set or not.