/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html */ apply from: rootProject.file( 'gradle/base-information.gradle' ) tasks.named( "javadoc", Javadoc ) { def currentYear = new GregorianCalendar().get( Calendar.YEAR ) inputs.property "ormVersion", project.ormVersion inputs.property "currentYear", currentYear // exclude any generated sources and internal packages exclude 'org/hibernate/grammars' include '**/*.java' maxMemory = '512m' configure( options ) { quiet() // this is the config needed to use asciidoclet for Javadoc rendering. It relies on a build from John's PR @ https://github.com/asciidoctor/asciidoclet/pull/91 // however, the PR does not work for me in that Javadocs with `@asciidoclet` are not rendered using asciidoc(tor/let). Also tried the preferable `@asciidoc` // with the same result. Leaving all this config in place however as the outcome is the same as not enabling it. // todo (6.0) : need to find out why the asciidoclet PR does not work // // Travis CI JDK 11 build did not like this // docletpath = configurations.asciidoclet.files.asType(List) // doclet = 'org.asciidoctor.Asciidoclet' use = true encoding = 'UTF-8' stylesheetFile = rootProject.file( "shared/javadoc/stylesheet.css" ) bottom = "Copyright © 2001-$currentYear Red Hat, Inc. All Rights Reserved." // The javadoc folder contains cached versions of the respective element-list files to avoid release issues when servers are down // When upgrading versions of the libraries, don't forget to update the file contents in the repository linksOffline 'https://docs.oracle.com/en/java/javase/17/docs/api/', "${project.rootDir}/javadoc/javase17" linksOffline 'https://jakarta.ee/specifications/bean-validation/3.0/apidocs/', "${project.rootDir}/javadoc/jakarta-validation-3.0" linksOffline 'https://jakarta.ee/specifications/cdi/4.0/apidocs/', "${project.rootDir}/javadoc/jakarta-cdi-4.0" linksOffline 'https://jakarta.ee/specifications/platform/9/apidocs/', "${project.rootDir}/javadoc/jakarta-platform-9" linksOffline 'https://www.javadoc.io/doc/javax.cache/cache-api/1.0.0/', "${project.rootDir}/javadoc/javax-cache-1.0" tags( 'apiNote:a:API Note:', 'implSpec:a:Implementation Specification:', 'implNote:a:Implementation Note:', 'todo:X', 'remove:a:Removal (deprecation):', 'settingDefault:f:Default Value:' ) addBooleanOption('Xdoclint:none', true) } } task javadocJar(type: Jar) { from project.tasks.javadoc.outputs manifest { attributes( // Basic JAR manifest attributes 'Specification-Title': project.name, 'Specification-Version': project.version, 'Specification-Vendor': 'Hibernate.org', 'Implementation-Title': project.name, 'Implementation-Version': project.version, 'Implementation-Vendor': 'Hibernate.org', 'Implementation-Vendor-Id': 'org.hibernate', 'Implementation-Url': 'https://hibernate.org/orm', // Hibernate-specific JAR manifest attributes 'Hibernate-VersionFamily': project.ormVersion.family, 'Hibernate-JpaVersion': project.jakartaJpaVersion.name ) } archiveClassifier.set( 'javadoc' ) }