I am happy to announce a 5.0.0-alpha.1 release of ...
# community-news
y
I am happy to announce a 5.0.0-alpha.1 release of Asciidoctor Gradle. There are a number of missing bits in this release, but I wanted it to get out so that people can play with the new DSL model and provide feedback. Firstly, the old DSL from 4.0 is still supported, and you can get using them by appending
classic
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.
party gradlephant 3