diff --git a/documentation/documentation.gradle b/documentation/documentation.gradle index 290a51f6ad5c..bc963c4121b3 100644 --- a/documentation/documentation.gradle +++ b/documentation/documentation.gradle @@ -218,8 +218,8 @@ def aggregateJavadocsTask = tasks.register( "javadoc", Javadoc ) { ? javadocTool.get().metadata.languageVersion : JavaLanguageVersion.of( JavaVersion.current().name ) - if ( javaLanguageVersion.asInt() != 21 ) { - println "Aggregated Javadocs are bing built` using a JDK different than version 21: \n" + + if ( javaLanguageVersion.asInt() != 25 ) { + println "Aggregated Javadocs are bing built` using a JDK different than version 25: \n" + "\t* `stylesheet.css` might not be compatible\n" + "\t* generating the User Guide settings fragment might not succeed" } @@ -714,23 +714,38 @@ settingsDocumentation { def generateSettingsDocTask = tasks.named( "generateSettingsDoc" ) { dependsOn aggregateJavadocsTask - doFirst { - def javadoc = aggregateJavadocsTask.get() - def javaLanguageVersion = javadoc.javadocTool.present - ? javadoc.javadocTool.get().metadata.languageVersion - : JavaLanguageVersion.of( JavaVersion.current().name ) + def javadoc = aggregateJavadocsTask.get() + def javaLanguageVersion = javadoc.javadocTool.present + ? javadoc.javadocTool.get().metadata.languageVersion + : JavaLanguageVersion.of( JavaVersion.current().name ) - if ( javaLanguageVersion.asInt() > 11 ) { - println "Aggregated Javadocs was built using a JDK newer than version 11; generating the settings User Guide fragment will not succeed" + doFirst { + if ( javaLanguageVersion.asInt() != 25 ) { + println "Aggregated Javadocs were built using a JDK other than version 25; generating the settings User Guide fragment might not succeed" } } + onlyIf { + if (javaLanguageVersion.asInt() < 18) { + println "Javadocs require at least JDK 18 to be able to use some of the config options we rely on (e.g. --add-scripts). " + + "Ignoring Javadoc rendering for this builds!" + return false + } else { + return true + } + } } def renderUserGuideHtmlTask = tasks.register( 'renderUserGuideHtml', AsciidoctorTask ) { task -> group = "Documentation" description = 'Renders the User Guides in HTML format using Asciidoctor.' inputs.property "hibernate-version", hibernateVersion - inputs.file( generateSettingsDocTask.get().outputFile ) + def javadoc = aggregateJavadocsTask.get() + def javaLanguageVersion = javadoc.javadocTool.present + ? javadoc.javadocTool.get().metadata.languageVersion + : JavaLanguageVersion.of( JavaVersion.current().name ) + if (javaLanguageVersion.asInt() > 17) { + inputs.file( generateSettingsDocTask.get().outputFile ) + } dependsOn generateSettingsDocTask diff --git a/documentation/src/main/asciidoc/userguide/appendices/SettingsReference.adoc b/documentation/src/main/asciidoc/userguide/appendices/SettingsReference.adoc index 8580c5cff12c..f98c05d6e011 100644 --- a/documentation/src/main/asciidoc/userguide/appendices/SettingsReference.adoc +++ b/documentation/src/main/asciidoc/userguide/appendices/SettingsReference.adoc @@ -24,4 +24,4 @@ For (legacy) Hibernate settings which have a direct Jakarta Persistence corollar form should be preferred - e.g. `hibernate.connection.driver_class` -> `jakarta.persistence.jdbc.driver`. ==== -include::{doc-generated-content-dir}/config-settings.adoc[] +include::{doc-generated-content-dir}/config-settings.adoc[opts=optional] diff --git a/local-build-plugins/src/main/groovy/local.javadoc.gradle b/local-build-plugins/src/main/groovy/local.javadoc.gradle index cba634da030a..97ff4bfcb8cf 100644 --- a/local-build-plugins/src/main/groovy/local.javadoc.gradle +++ b/local-build-plugins/src/main/groovy/local.javadoc.gradle @@ -77,4 +77,17 @@ tasks.withType(Javadoc).configureEach { docFilesSubDirs = true } dependsOn tasks.unpackTheme + onlyIf { + def javaLanguageVersion = javadocTool.present + ? javadocTool.get().metadata.languageVersion + : JavaLanguageVersion.of(JavaVersion.current().name) + + if (javaLanguageVersion.asInt() < 18) { + println "Javadocs require at least JDK 18 to be able to use some of the config options we rely on (e.g. --add-scripts). " + + "Ignoring Javadoc rendering for this builds!" + return false + } else { + return true + } + } }