From cfce8ecafacf309ce05a734dc2e4761ed75c87c3 Mon Sep 17 00:00:00 2001 From: Andrey Rusakov Date: Thu, 9 Jan 2025 12:26:29 +0100 Subject: [PATCH 1/2] Support java-17 version of the javadoc for doc generator --- docs/src/main/groovy/Javadoc7Parser.groovy | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/docs/src/main/groovy/Javadoc7Parser.groovy b/docs/src/main/groovy/Javadoc7Parser.groovy index 8a6924d7ce..471561fe63 100644 --- a/docs/src/main/groovy/Javadoc7Parser.groovy +++ b/docs/src/main/groovy/Javadoc7Parser.groovy @@ -29,25 +29,22 @@ class Javadoc7Parser { String findJavadocDescription(String objectName, Class cls, String obj, Closure errorHandler) { try { def html = loadJavadocFile(cls) - def contentContainer = html.depthFirst().find { - it.name() == 'div' && it.@class == 'contentContainer' + it.name() == 'main' && it.@role == 'main' } def detailsEl = contentContainer.depthFirst().find { - it.name() == 'div' && it.@class == 'details' + it.name() == 'section' && it.@class == 'details' } - def descDiv = detailsEl.depthFirst().find { if (it.name() == "li") { - def h4 = it.h4 - return h4.size() > 0 && !h4.text().isEmpty() && obj == h4.text() + def h3 = it.section.h3 + return h3.size() > 0 && !h3.text().isEmpty() && obj == h3.text() } else { return false } } - def firstDescriptionDiv = descDiv.div[0] return DocsXmlSupport.toXmlString(firstDescriptionDiv) } catch (Exception e) { @@ -67,17 +64,19 @@ class Javadoc7Parser { return "Unable to find javadoc for method '$method' in '$objectName'" } - String findClassDescription(Class cls) { def html = loadJavadocFile(cls) def contentContainer = html.depthFirst().find { - it.name() == 'div' && it.@class == 'contentContainer' + it.name() == 'main' && it.@role == 'main' } def descriptionEl = contentContainer.depthFirst().find { - it.name() == 'div' && it.@class == 'description' + it.name() == 'section' && it.@class == 'class-description' + } + def result = contentContainer.depthFirst().find { + it.name() == 'div' && it.@class == 'block' } - return DocsXmlSupport.toXmlString(descriptionEl.ul.li.div[0]) + return DocsXmlSupport.toXmlString(result) } def xmlCache = [:] From 7c37e85dfe047ed14550aa8eddf8369a4152d7a0 Mon Sep 17 00:00:00 2001 From: Andrey Rusakov Date: Mon, 13 Jan 2025 16:26:10 +0100 Subject: [PATCH 2/2] Return empty string for missing description --- docs/src/main/groovy/Javadoc7Parser.groovy | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/src/main/groovy/Javadoc7Parser.groovy b/docs/src/main/groovy/Javadoc7Parser.groovy index 471561fe63..4544ec5820 100644 --- a/docs/src/main/groovy/Javadoc7Parser.groovy +++ b/docs/src/main/groovy/Javadoc7Parser.groovy @@ -45,8 +45,11 @@ class Javadoc7Parser { } } - def firstDescriptionDiv = descDiv.div[0] - return DocsXmlSupport.toXmlString(firstDescriptionDiv) + def description = descDiv.breadthFirst().find { + return it.name() == 'div' && it.@class == 'block' + } + + return DocsXmlSupport.toXmlString(description) } catch (Exception e) { if (cls.getSuperclass() != null) { try { @@ -55,7 +58,7 @@ class Javadoc7Parser { throw new IllegalArgumentException(errorHandler(obj, objectName)) } } else { - throw new IllegalArgumentException(errorHandler(obj, objectName)) + return "" } } }