This project is the extension of Javadoc Tool.
It's Implement Doclet witch generates reStructuredText files based on javadoc comments in code.
Generated *.rst
files can be published using
Sphinx.
Note
The javasphinx extension must be installed in Sphinx.
Add
mavencentral()
repository to your rootbuild.gradle
:repositories { mavenCentral() }
Add ``rstDoclet``configuration to configurations:
configurations { rstDoclet }
Add the library of required java version to the dependencies:
Java 8
dependencies { rstDoclet('com.devives:devive-rst-doclet-jdk8-all:0.4.2') }
Java 11
dependencies { rstDoclet('com.devives:devive-rst-doclet-jdk11-all:0.4.2') }
Java 17
dependencies { rstDoclet('com.devives:devive-rst-doclet-jdk17-all:0.4.2') }
Register gradle task ``javadoc4sphinx``depends java version:
Java 8
tasks.register('javadoc4sphinx', Javadoc) { description = 'Generate rst files based on javadoc comments in code.' group = 'documentation' source = sourceSets.main.allJava classpath = configurations.compileClasspath destinationDir = file("$docsDir/javadoc4sphinx") failOnError = true options.docletpath = configurations.rstDoclet.files as List options.doclet = "com.devives.rstdoclet.RstDoclet" options.encoding = "UTF-8" options.showFromPackage() (options as CoreJavadocOptions).addStringOption("packageindexfilename", "package-index") }
Java 11
List<String> exportsList = [ '--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED', '--add-exports=jdk.javadoc/jdk.javadoc.internal.doclets.toolkit=ALL-UNNAMED', '--add-exports=jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets=ALL-UNNAMED', '--add-exports=jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.util=ALL-UNNAMED', '--add-exports=jdk.javadoc/jdk.javadoc.internal.doclets.formats.html=ALL-UNNAMED', '--add-exports=jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.markup=ALL-UNNAMED', ] tasks.register('javadoc4sphinx', Javadoc) { description = 'Generate rst files based on javadoc comments in code.' group = 'documentation' source = sourceSets.main.allJava classpath = configurations.compileClasspath destinationDir = file("$docsDir/javadoc4sphinx") failOnError = true options.docletpath = configurations.rstDoclet.files as List options.doclet = "com.devives.rstdoclet.RstDoclet" options.encoding = "UTF-8" options.showFromPackage() (options as CoreJavadocOptions).addStringOption("packageindexfilename", "package-index") (options as CoreJavadocOptions).setJFlags(exportsList) }
Java 17
List<String> exportsList = [ '--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED', '--add-exports=jdk.javadoc/jdk.javadoc.internal.doclets.toolkit=ALL-UNNAMED', '--add-exports=jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets=ALL-UNNAMED', '--add-exports=jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.util=ALL-UNNAMED', '--add-exports=jdk.javadoc/jdk.javadoc.internal.doclets.formats.html=ALL-UNNAMED', '--add-exports=jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.markup=ALL-UNNAMED', ] tasks.register('javadoc4sphinx', Javadoc) { description = 'Generate rst files based on javadoc comments in code.' group = 'documentation' source = sourceSets.main.allJava classpath = configurations.compileClasspath destinationDir = file("$docsDir/javadoc4sphinx") options.docletpath = configurations.rstDoclet.files.asType(List) options.doclet = "com.devives.rstdoclet.RstDoclet" options.encoding = "UTF-8" options.windowTitle(null) options.showFromPackage() failOnError = false (options as CoreJavadocOptions).addStringOption("packageindexfilename", "package-index") (options as CoreJavadocOptions).setJFlags(exportsList) }
Reload All Gradle Projects.
Execute gradle task
documentation \ javadoc4sphinx
.Find generated files at
$project.build/docs/javadoc4sphinx/
.
Are placed at GitHub.
The code of project distributed under the GNU General Public License version 3 or any later version. The source code is available on GitHub.
This document generated using this code.