Documentation
Pages 133
-
LoadingHome
-
Loading3.1.0 Breaking changes
-
Loading3.1.0 Release Notes
-
Loading3.2.0 Release Notes
-
Loading3.2.0 Breaking changes
-
Loading3.2.1 Breaking Changes
-
Loading3.2.1 Release Notes
-
Loading3.3.0 Release Notes
-
Loading3.3.0 Breaking Changes
-
Loading3.3.1 Release Notes
-
Loading3.3.2 Release Notes
-
Loading3.3.3 Release Notes
-
Loading3.4.0 Breaking Changes
-
Loading3.4.0 Release Notes
-
Loading3.4.1 Release Notes
-
Loading3.4.2 Release Notes
-
Loading3.4.2 Breaking Changes
-
Loading3.5.0 Breaking Changes
-
Loading3.5.0 Release Notes
-
Loading3.5.1 Breaking Changes
-
Loading3.5.1 Release Notes
-
Loading3.5.2 Release Notes
-
Loading3.5.3 Release Notes
-
Loading3.5.4 Release Notes
-
Loading3.6.0 Release Notes
-
Loading3.6.2 Deprecations
-
Loading3.6.2 Release Notes
-
Loading3.6.3 Release Notes
-
Loading3.7.0 Release Notes
-
Loading3.7.1 Release Notes
-
Loading3.8.0 Release Notes
-
Loading3.8.1 Release Notes
-
Loading3.8.2 Release Notes
-
Loading3.8.3 Release Notes
-
Loading3.8.4 Release Notes
-
Loading3.8.5 Release Notes
-
Loading3.9.0 Release Notes
-
Loading3.9.1 Release Notes
-
Loading3.9.10 Release Notes
-
Loading3.9.2 Release Notes
-
Loading3.9.3 Release Notes
-
Loading3.9.4 Release Notes
-
Loading3.9.5 Release Notes
-
Loading3.9.6 Release Notes
-
Loading3.9.7 Release Notes
-
Loading3.9.8 Release Notes
-
Loading3.9.9 Release Notes
-
Loading4.0.0 Release Notes
-
Loading4.0.2 Release Notes
-
Loading4.0.3 Release Notes
-
Loading4.1.0 Release Notes
-
Loading4.1.1 Release Notes
-
Loading4.1.2 Release Notes
-
Loading4.1.3 Release Notes
-
Loading4.1.4 Release Notes
-
Loading4.1.5 Release Notes
-
Loading4.1.6 Release Notes
-
Loading4.2.0 Release Notes
-
Loading4.2.1 Release Notes
-
Loading4.2.2 Release Notes
-
LoadingCI Status
-
LoadingCluster managers discrepancies
-
LoadingContinuous Integration
-
LoadingDevelopment Process
-
LoadingGitHub actions CI setup
-
LoadingHandling Issues
-
LoadingHow to contribute to Vert.x
-
LoadingHow to: Trusted builds
-
LoadingJPMS
-
LoadingKeyCloak integration
-
LoadingPost Java 8 Support
-
LoadingPresentations about Vert.x
-
LoadingProject Information
-
LoadingProject release naming
-
LoadingRelease Process 3.x
-
LoadingRelease Process 4.x
-
LoadingRFC: Classloading in Vert.x 4
-
LoadingRFC: clustering kubernetes
-
LoadingRFC: clustering SPI revisited
-
LoadingRFC: context tracing
-
LoadingRFC: Future API
-
LoadingRFC: Loom support
-
LoadingRFC: Pool improvements
-
LoadingRFC: RFC web respond
-
LoadingRFC: Stream pipe API
-
LoadingRFC: Vert.x 4 context model
-
LoadingRFC: VertxGen as data object
-
LoadingRFC:JSON improvements
-
LoadingThe google groups
-
LoadingUpdate JSON API
-
LoadingVert.x code style guidelines
-
LoadingVert.x Commits List
-
LoadingVert.x Events
-
LoadingVert.x History
-
LoadingVert.x Releases
-
LoadingVert.x Roadmap
-
LoadingVert.x stack projects
-
LoadingVert.x Travis Setup
Clone this wiki locally
Vert.x 3 documentation
Vert.x 3 developer documentation
The developer manual and the api documentation (Javadoc, JSDoc, etc…). The documentation content uses the Asciidoc format.
Toolchain
Vert.x 3 developer documentation combines several tools used in a toolchain to produce the developer manual and the api documentation:
-
Asciidoctor : a text processor transforming Asciidoc content to HTML5, DocBook & more
-
Docgen : a Vert.x 3 project extracting Asciidoc content from Java source files
-
Api docs : tools for creating Api reference documentation from Java source files such as Javadoc, JSDoc, etc…
Documentation generation
Documentation happens at various steps of the build
Asciidoc generation
The Docgen tool is an annotation processor and so requires to compile the project sources or run the maven-processor-plugin plugin to generate the Asciidoc files from the Java sources. The compilation overhead is very small and therefore is always enabled, allowing to detect errors (like the documentation pointing to a non existing api element) and also preview the documentation (using the Chrome Asciidoctor.js plugin).
This happens during the compilation phase.
The generated Asciidoc are placed in the src/main/asciidoc directory:
-
Java manual is in
src/main/asciidoc/java -
Groovy manual is in
src/main/asciidoc/groovy -
JavaScript manual is in
src/main/asciidoc/js -
Cheatsheets are in
src/main/asciidoc/cheatsheet
Documentation archive
The build creates a -docs.zip archive that contains Asciidoc + JavaDoc + GroovyDoc + JSDoc that is used by the toolchain later to create documentation.
Documentation layout
Preview
We use this directory layout for the preview
-
apidocs: the Java API reference -
${artifactId}/cheatsheet: the cheatsheets -
${artifactId}/java/*/.adoc: the Java manual -
${artifactId}/js/*/.adoc: the JavaScript manual -
${artifactId}/groovy/*/.adoc: the Groovy manual -
${artifactId}/js/jsdoc/**: the JavaScript API reference -
${artifactId}/groovy/groovydoc/**: the Groovy API reference
Archive docs.zip
We use this directory for the $docs.zip archive:
-
cheatsheet: the cheatsheets -
java/*/.adoc: the Java manual -
js/*/.adoc: the JavaScript manual -
groovy/*/.adoc: the Groovy manual -
js/jsdoc/**: the JavaScript API reference -
groovy/groovydoc/**: the Groovy API reference
|
Note
|
we don’t bundle JavaDoc because it is re generated later with the entire stack to have a single API reference doc and provide correct links from the Java manual to the JavaDoc. |
Vertx Extensions
Vertx extension can use the vertx-ext-parent to take care of most of the task to do for building/archiving documentation.
|
Note
|
the intensive processing is done in the package phase, so using the test phase will not trigger it
|
|
Tip
|
part of documentation generation can be skipped using the -DskipDocs flag to speed up things
|