ysb33r
09/20/2025, 10:16 PMclassic to any plugin identifier. For instance if you used org.asciidoctor.jvm.pdf, you can use org.asciidoctor.jvm.pdf.classic. There have been no big fixes to the classic plugins, beside upgrading some dependencies and having better compatibility with later JDKs. There has been no attempt to make the classic plugins configuration cache compliant.
Now on the the new model. Instead not having a mix of configuration spread between extensions and tasks, everything in the new model is configured from a single block asciidoc. In here all of the toolchains, asciidoctor extensions, output formatters, source sets etc. are defined. The model takes care of creating all of the necessary tasks behind the scenes and a build script author has no need to touch the task configuration at all. This is also a step in the direction of a future declarative Gradle DSL.
The way the model is structured, it even allows for asciidoctor.js and asciidoctorj to be mixed. You can for instance, produce the docbook output with asciidoctor.js and pdf output with asciidoctorj from the same source set. You may ask why one would want to do this, but this allows for working (nearly transparently) with backends that are only supported on specific engines.
Some highlights from the new model:
- Hopefully have fixed a lot of the issues with GEMs etc. that have plagued people in the past.
- Support for adding extensions from NPM modules should be alot easier now.
- Kroki support for both asciidoctorj and asciidoctor.js
- Reveal.js support for both asciidoctorj and asciidoctor.js
Compatibility: Minimum of Gradle 7.3.3. Using asciidoctorj on the new model and the classic plugins requires JDK11 as a minimum. Asciidoctor.js support still needs a minimum of JDK8.
The following is not yet supported on the new model:
- Extensions written with the Groovy DSL module.
- Asciidoctor.js does not work on Windows yet.
- Multi-language support.
- gradle-relative-srcdir.
- Source mapping is still off. It needs to be turned on in the DSL. In future it might becomes the default for asciidoctorj.
- Downloading PDF themes for repositories other than Github & Gitlab.
- There is a bug in Gitlab downloads for PDF themes.
To read more please see the documentation is at https://docs.asciidoctor.org/gradle-plugin/5.0/.
Please raise any issues you come across at https://github.com/asciidoctor/asciidoctor-gradle-plugin. Be aware that priority will be given to issues on the new model over ones in the classic plugins.