Use spring-pdf backend for PDF generation

Update `asciidoctorPdf` tasks to use the `spring-pdf` backend so that
chomped elements and @fold:on/@fold:off comments are hidden.

Closes gh-26373
This commit is contained in:
Phillip Webb 2021-05-10 18:04:05 -07:00
parent 65db4411ae
commit 87d8aedd3c
6 changed files with 15 additions and 20 deletions

View File

@ -18,8 +18,7 @@ dependencies {
implementation("com.fasterxml.jackson.core:jackson-databind:2.11.4") implementation("com.fasterxml.jackson.core:jackson-databind:2.11.4")
implementation("commons-codec:commons-codec:1.13") implementation("commons-codec:commons-codec:1.13")
implementation("org.apache.maven:maven-embedder:3.6.2") implementation("org.apache.maven:maven-embedder:3.6.2")
implementation("org.asciidoctor:asciidoctor-gradle-jvm:3.1.0") implementation("org.asciidoctor:asciidoctor-gradle-jvm:3.3.2")
implementation("org.asciidoctor:asciidoctor-gradle-jvm-pdf:3.1.0")
implementation("org.gradle:test-retry-gradle-plugin:1.1.9") implementation("org.gradle:test-retry-gradle-plugin:1.1.9")
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0-RC") implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0-RC")
implementation("org.jetbrains.kotlin:kotlin-compiler-embeddable:1.5.0-RC") implementation("org.jetbrains.kotlin:kotlin-compiler-embeddable:1.5.0-RC")

View File

@ -98,6 +98,8 @@ class AsciidoctorConventions {
Configuration asciidoctorExtensions = configurations.maybeCreate(EXTENSIONS_CONFIGURATION); Configuration asciidoctorExtensions = configurations.maybeCreate(EXTENSIONS_CONFIGURATION);
asciidoctorExtensions.getDependencies().add(project.getDependencies() asciidoctorExtensions.getDependencies().add(project.getDependencies()
.create("io.spring.asciidoctor.backends:spring-asciidoctor-backends:0.0.1-SNAPSHOT")); .create("io.spring.asciidoctor.backends:spring-asciidoctor-backends:0.0.1-SNAPSHOT"));
asciidoctorExtensions.getDependencies()
.add(project.getDependencies().create("org.asciidoctor:asciidoctorj-pdf:1.5.3"));
Configuration dependencyManagement = configurations.findByName("dependencyManagement"); Configuration dependencyManagement = configurations.findByName("dependencyManagement");
if (dependencyManagement != null) { if (dependencyManagement != null) {
asciidoctorExtensions.extendsFrom(dependencyManagement); asciidoctorExtensions.extendsFrom(dependencyManagement);
@ -111,7 +113,9 @@ class AsciidoctorConventions {
asciidoctorTask.baseDirFollowsSourceDir(); asciidoctorTask.baseDirFollowsSourceDir();
createSyncDocumentationSourceTask(project, asciidoctorTask); createSyncDocumentationSourceTask(project, asciidoctorTask);
if (asciidoctorTask instanceof AsciidoctorTask) { if (asciidoctorTask instanceof AsciidoctorTask) {
configureAsciidoctorHtmlTask((AsciidoctorTask) asciidoctorTask); boolean pdf = asciidoctorTask.getName().toLowerCase().contains("pdf");
String backend = (!pdf) ? "spring-html" : "spring-pdf";
((AsciidoctorTask) asciidoctorTask).outputOptions((outputOptions) -> outputOptions.backends(backend));
} }
} }
@ -146,8 +150,4 @@ class AsciidoctorConventions {
return syncDocumentationSource; return syncDocumentationSource;
} }
private void configureAsciidoctorHtmlTask(AsciidoctorTask asciidoctorTask) {
asciidoctorTask.outputOptions((outputOptions) -> outputOptions.backends("spring-html"));
}
} }

View File

@ -1,7 +1,6 @@
plugins { plugins {
id "java-library" id "java-library"
id "org.asciidoctor.jvm.convert" id "org.asciidoctor.jvm.convert"
id "org.asciidoctor.jvm.pdf"
id "org.springframework.boot.auto-configuration" id "org.springframework.boot.auto-configuration"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
@ -175,7 +174,7 @@ asciidoctor {
} }
} }
asciidoctorPdf { task asciidoctorPdf(type: org.asciidoctor.gradle.jvm.AsciidoctorTask) {
sources { sources {
include "index.adoc" include "index.adoc"
} }

View File

@ -2,7 +2,6 @@ plugins {
id "java" id "java"
id "groovy" id "groovy"
id "org.asciidoctor.jvm.convert" id "org.asciidoctor.jvm.convert"
id "org.asciidoctor.jvm.pdf"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed" id "org.springframework.boot.deployed"
} }
@ -257,7 +256,7 @@ asciidoctor {
} }
} }
asciidoctorPdf { task asciidoctorPdf(type: org.asciidoctor.gradle.jvm.AsciidoctorTask) {
sources { sources {
include "*.singleadoc" include "*.singleadoc"
} }

View File

@ -2,7 +2,6 @@ plugins {
id "java-gradle-plugin" id "java-gradle-plugin"
id "maven-publish" id "maven-publish"
id "org.asciidoctor.jvm.convert" id "org.asciidoctor.jvm.convert"
id "org.asciidoctor.jvm.pdf"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.maven-repository" id "org.springframework.boot.maven-repository"
id "org.springframework.boot.optional-dependencies" id "org.springframework.boot.optional-dependencies"
@ -82,7 +81,7 @@ asciidoctor {
attributes "stylesheet": "css/style.css" attributes "stylesheet": "css/style.css"
} }
asciidoctorPdf { task asciidoctorPdf(type: org.asciidoctor.gradle.jvm.AsciidoctorTask) {
sources { sources {
include "index.adoc" include "index.adoc"
} }

View File

@ -1,6 +1,5 @@
plugins { plugins {
id "org.asciidoctor.jvm.convert" id "org.asciidoctor.jvm.convert"
id "org.asciidoctor.jvm.pdf"
id "org.springframework.boot.conventions" id "org.springframework.boot.conventions"
id "org.springframework.boot.maven-plugin" id "org.springframework.boot.maven-plugin"
id "org.springframework.boot.optional-dependencies" id "org.springframework.boot.optional-dependencies"
@ -74,15 +73,15 @@ asciidoctor {
} }
} }
syncDocumentationSourceForAsciidoctorPdf { task asciidoctorPdf(type: org.asciidoctor.gradle.jvm.AsciidoctorTask) {
from(documentPluginGoals) { sources {
into "asciidoc/goals" include "index.adoc"
} }
} }
asciidoctorPdf { syncDocumentationSourceForAsciidoctorPdf {
sources { from(documentPluginGoals) {
include "index.adoc" into "asciidoc/goals"
} }
} }