Tips & Tricks
Issues with plugins that modify project.version
Plugins such as Nebula Release and Reckon modify project.version
with a non-serialisable object. This breaks the build.
The safest workaround is to set the revnumber
attribute to a delayed evaluation of project.version
in your build:
asciidoctorj {
attributes revnumber : { project.version.toString() }
}
groovy
Pre-process and post-process
To make your own custom actions before or after asciidoctor processing, use doFirst
and doLast
. Check out chapters 14 and 17 in the Gradle docs to learn about the various actions you can perform.
build.gradle
asciidoctor.doFirst {
// pre-process
}
asciidoctor.doLast {
// post-process
}
groovy
As an example, here’s how to copy the generated index.html
file to the root of the project. This is useful in Windows systems where asciidoctor can’t output directly to the root.
build.gradle
asciidoctor.doLast {
copy {
from 'build/docs/html5'
into "$projectDir"
include 'index.html'
}
}
groovy
Using Pygments source highlighter
You need to have Python 2.x installed on a system or in a container for Pygments to work. |
plugins {
id 'org.asciidoctor.jvm.pdf' version '4.0.2'
id 'org.asciidoctor.jvm.gems' version '4.0.2'
}
repositories {
jcenter()
ruby.gems()
}
dependencies {
asciidoctorGems 'rubygems:pygments:1.2.1'
}
asciidoctorPdf {
dependsOn asciidoctorGemsPrepare
sourceDir 'docs'
asciidoctorj {
requires 'pygments'
attributes 'source-highlighter' : 'pygments'
}
}
groovy