Skip to content

Commit

Permalink
Align Javadoc configuration to Java 21 standards (#3230)
Browse files Browse the repository at this point in the history
This also upgrades highlight.js to version 11.9.0 and uses
its cdnjs distribution.
  • Loading branch information
scordio committed Jan 14, 2024
1 parent 71e2fdb commit e4fa639
Show file tree
Hide file tree
Showing 84 changed files with 78 additions and 9,019 deletions.
File renamed without changes.
46 changes: 20 additions & 26 deletions gradle/mockito-core/javadoc.gradle
@@ -1,12 +1,14 @@
//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/mockito-core/java-docs'
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/javase/8/docs/technotes/tools/windows/javadoc.html
// see https://docs.oracle.com/en/java/javase/21/javadoc/javadoc.html

source = sourceSets.main.allJava
destinationDir = layout.buildDirectory.dir("javadoc").get().asFile
Expand All @@ -25,38 +27,30 @@ tasks.named("javadoc", Javadoc) {
// for this reason the javadoc output is suppressed and can be reactivated with --info option.
exclude 'org/mockito/internal'

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.windowTitle = "Mockito ${project.version} API"
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.charSet = 'UTF-8'
options.encoding = 'UTF-8'
options.docEncoding = 'UTF-8'
options.use = true
options.splitIndex = true
options.noDeprecated = false
options.noDeprecatedList = false
options.noIndex = false
options.noNavBar = false
options.noTree = false
options.links('https://junit.org/junit4/javadoc/4.13.2/')
options.linksOffline('https://docs.oracle.com/en/java/javase/11/docs/api/', javaDocsDir)
options.bottom("""
<script type="text/javascript" src="{@docRoot}/js/jdk6-project-version-insert.min.js"></script>
<script type="text/javascript" src="{@docRoot}/js/jquery-1.7.min.js"></script>
<script type="text/javascript" src="{@docRoot}/js/highlight-8.6-java/highlight.pack.js"></script>
<link rel="stylesheet" type="text/css" href="{@docRoot}/js/highlight-8.6-java/styles/obsidian.css"/>
<script type="text/javascript" src="{@docRoot}/js/index.js" async defer></script>
""".replaceAll(/\r|\n|[ ]{8}/, ""))
options.stylesheetFile rootProject.file("src/javadoc/stylesheet.css")
options.addStringOption('Xwerror', '-quiet')
options.addBooleanOption('-allow-script-in-comments', true)
options.use = true
options.windowTitle = "Mockito ${project.version} API"

doLast {
copy {
from "src/javadoc"
from "src/main/javadoc"
into layout.buildDirectory.dir("javadoc")
}
}
Expand Down
43 changes: 43 additions & 0 deletions gradle/mockito-junit-jupiter/javadoc.gradle
@@ -0,0 +1,43 @@
//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 = "$rootDir/gradle/java-docs"

tasks.named("javadoc", Javadoc) {
inputs.dir("$rootDir/src/main/javadoc")

description "Creates javadoc html for Mockito JUnit Jupiter."

// 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 JUnit Jupiter ${project.version} API"

options.addBooleanOption('-allow-script-in-comments', true)
options.addFileOption('-add-stylesheet', rootProject.file("$rootDir/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>Mockito JUnit Jupiter ${project.version} API.</h1>"""
options.encoding = 'UTF-8'
options.group("Main package", ["org.mockito.junit.jupiter"])
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 JUnit Jupiter ${project.version} API"

doLast {
copy {
from "$rootDir/src/main/javadoc"
into layout.buildDirectory.dir("javadoc")
}
}
}

0 comments on commit e4fa639

Please sign in to comment.