From bd083520204e3ef48e92f052fcd95d63627b5ba9 Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Thu, 3 Aug 2023 13:56:57 -0500 Subject: [PATCH] Add Antora Gradle Build --- spring-shell-docs/spring-shell-docs.gradle | 32 ++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/spring-shell-docs/spring-shell-docs.gradle b/spring-shell-docs/spring-shell-docs.gradle index 74c54b9d..4eb4e3f4 100644 --- a/spring-shell-docs/spring-shell-docs.gradle +++ b/spring-shell-docs/spring-shell-docs.gradle @@ -1,5 +1,7 @@ plugins { id 'org.springframework.shell.docs' + id 'org.antora' version '1.0.0' + id 'io.spring.antora.generate-antora-yml' version '0.0.1' } description = 'Spring Shell Documentation' @@ -12,6 +14,32 @@ dependencies { testImplementation 'org.awaitility:awaitility' } -asciidoctorj { - version = '2.5.4' +antora { + version = '3.2.0-alpha.2' + options = [clean: true, fetch: !project.gradle.startParameter.offline, stacktrace: true] + dependencies = [ + '@antora/atlas-extension': '1.0.0-alpha.1', + '@antora/collector-extension': '1.0.0-alpha.3', + '@asciidoctor/tabs': '1.0.0-beta.3', + '@springio/antora-extensions': '1.4.2', + '@springio/asciidoctor-extensions': '1.0.0-alpha.8', + ] } + +tasks.named("generateAntoraYml") { + asciidocAttributes = project.provider( { + def dependencies = resolvedVersions(project.configurations.testRuntimeClasspath) + return ['project-version' : project.version, + 'spring-boot-version' : dependencies['spring-boot-starter-version'], + 'spring-version': dependencies['spring-core-version'] + ] + } ) +} + + + +def resolvedVersions(Configuration configuration) { + return configuration.resolvedConfiguration + .resolvedArtifacts + .collectEntries { [(it.name + '-version'): it.moduleVersion.id.version] } +} \ No newline at end of file