https://github.com/devives/rst-doclet
Doclet for JavaDoc Tool, generating reStructuredText for Sphinx.
https://github.com/devives/rst-doclet
doclet javadoc restructuredtext rst sphinx
Last synced: 6 months ago
JSON representation
Doclet for JavaDoc Tool, generating reStructuredText for Sphinx.
- Host: GitHub
- URL: https://github.com/devives/rst-doclet
- Owner: devives
- License: gpl-3.0
- Created: 2024-01-28T14:10:44.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-10-19T19:18:21.000Z (9 months ago)
- Last Synced: 2025-10-20T02:26:03.882Z (9 months ago)
- Topics: doclet, javadoc, restructuredtext, rst, sphinx
- Language: Java
- Homepage:
- Size: 2.69 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE-GPL-3.0
Awesome Lists containing this project
README
==========================
RstDoclet for JavaDoc Tool
==========================
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.
Quick Start
-----------
1. Add ``mavencentral()`` repository to your root ``build.gradle``:
.. code:: gradle
repositories {
mavenCentral()
}
#. Add ``rstDoclet``configuration to configurations:
.. code:: gradle
configurations {
rstDoclet
}
#. Add the library of required java version to the dependencies:
Java 8
.. code:: gradle
dependencies {
rstDoclet('com.devives:devive-rst-doclet-jdk8-all:0.4.5')
}
Java 11
.. code:: gradle
dependencies {
rstDoclet('com.devives:devive-rst-doclet-jdk11-all:0.4.5')
}
Java 17
.. code:: gradle
dependencies {
rstDoclet('com.devives:devive-rst-doclet-jdk17-all:0.4.5')
}
Java 21
.. code:: gradle
dependencies {
rstDoclet('com.devives:devive-rst-doclet-jdk21-all:0.4.5')
}
#. Register gradle task ``javadoc4sphinx``depends java version:
Java 8
.. code:: gradle
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
.. code:: gradle
List 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
.. code:: gradle
List 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)
}
Java 21
.. code:: gradle
List exportsList = [
'--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED',
'--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED',
'--add-exports=jdk.compiler/com.sun.tools.javac.code=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',
'--add-exports=jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders=ALL-UNNAMED',
]
List opensList = [
'--add-opens=jdk.javadoc/jdk.javadoc.internal.doclets.formats.html=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 + opensList)
}
#. Reload All Gradle Projects.
#. Execute gradle task ``documentation \ javadoc4sphinx``.
#. Find generated files at ``$project.build/docs/javadoc4sphinx/``.
Complete example projects
-------------------------
Are placed at `GitHub `_.
License
-------
The code of project distributed under the GNU General Public License version 3 or any later version.
The source code is available on `GitHub `_.
Links
-----
* `Javadoc Tool `_
* `ReStructuredText Document & Builder for Sphinx `_
* `ReStructuredText Document & Builder `_
.. footer::
This document generated using `this code `_.