I merged a followup issue/PR to make docgenerator have similar improvements for the groovy-jdk documentation:
https://docs.groovy-lang.org/docs/next/html/groovy-jdk/java/lang/CharSequence.html#capitalize() I actually changed the approach to build stub classes matching what we need and then run Groovydoc on those classes. As well as removing ~2K source lines, it means future changes to Groovydoc should automatically work on the GDK docs. Cheers, Paul. On Tue, Apr 21, 2026 at 10:40 PM Paul King <[email protected]> wrote: > Hi folks, > > The groovydoc tool hasn't had many updates in a while, so I thought I'd > try to change that. There is now a new version featuring: > > * snippets (mimicking JEP 413) and markdown doc-comment rendering > (mimicking JEP 467) > * customisable syntax highlighting with some dark/light mode support > * new commandline/Ant config options: showInternal, noIndex, > noDeprecatedList, noHelp, syntaxHighlighter, theme, addStylesheet, > additionalStylesheets, preLanguage > * new tags supported: @snippet, @highlight, @replace, @link (changed), > @start, @end, @apiNote, @implSpec, @implNote, @value, @param (changed), > @inheritDoc > > A nice thing about the snippet and markdown support is that it works for > JDK17+ for Java and Groovy files, instead of JDK18 (snippets) and JDK23 > (markdown) when using javadoc. > > I merged the PR with only a short time for review because of the next > topic (Gradle support) meaning that most folks wouldn't have been able to > test it anyway. So commit then review seemed the only realistic option. I > can easily back out any bits that folks aren't happy with. > > Gotchas using Gradle's Groovydoc task > > The `org.gradle.api.tasks.javadoc.Groovydoc` task type shipped with Gradle > predates all the improvements above, so the following settings are NOT > available via > the built-in task's DSL: > > - javaVersion > - showInternal > - noIndex, noDeprecatedList, noHelp > - syntaxHighlighter > - theme > - addStylesheet / additionalStylesheets > - preLanguage > > Setting any of those on a Gradle `Groovydoc` task has no effect. Gradle > does use Groovy's Ant task under the hood, but only passes through the > older property set. > > For our own Groovydoc needs, we have borrowed a copy of the Groovydoc task > from Grails, which gives us access to all the new features. At some point > we need to speak with them about maybe releasing this as an official Gradle > plugin. > > Let me know if you have any problems or suggestions for improvement. > > Cheers, Paul. > >
