blob: 060c00a4a319d2542be5b4366fb393874bca2242 [file] [log] [blame]
//It seems the gradle javadoc task works file by file and as such disable some features of javadoc tool
//such as link to packages, https://groups.google.com/d/msg/gradle-dev/R83dy_6PHMc/bgw0cUTMFAAJ
def javaDocsDir = 'gradle/java-docs'
tasks.named("javadoc", Javadoc) {
inputs.dir("src/main/javadoc")
description "Creates javadoc html for Mockito API."
// For more details on the format
// see https://docs.oracle.com/en/java/javase/21/javadoc/javadoc.html
source = sourceSets.main.allJava
destinationDir = layout.buildDirectory.dir("javadoc").get().asFile
title = "Mockito ${project.version} API"
options.addBooleanOption('-allow-script-in-comments', true)
options.addFileOption('-add-stylesheet', rootProject.file("src/main/javadoc/mockito-theme.css"))
options.addStringOption('Xwerror', '-quiet')
options.bottom("""
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/obsidian.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
""".replaceAll(/\r|\n|[ ]{8}/, ""))
options.charSet = 'UTF-8'
options.docEncoding = 'UTF-8'
options.docTitle = """<h1><a href="org/mockito/Mockito.html">Click to see examples</a>. Mockito ${project.version} API.</h1>"""
options.encoding = 'UTF-8'
options.group("Main package", ["org.mockito"])
options.links('https://junit.org/junit4/javadoc/4.13.2/')
options.linksOffline('https://docs.oracle.com/en/java/javase/11/docs/api/', javaDocsDir)
options.memberLevel = JavadocMemberLevel.PROTECTED
options.outputLevel = JavadocOutputLevel.QUIET
options.splitIndex = true
options.use = true
options.windowTitle = "Mockito ${project.version} API"
doLast {
copy {
from "src/main/javadoc"
into layout.buildDirectory.dir("javadoc")
}
}
}