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' dependencies { management platform(project(":spring-shell-management")) implementation project(':spring-shell-starters:spring-shell-starter') implementation project(':spring-shell-starters:spring-shell-starter-test') implementation project(':spring-shell-samples:spring-shell-sample-catalog') testImplementation('org.springframework.boot:spring-boot-test') testImplementation('org.junit.jupiter:junit-jupiter-engine') testImplementation('org.junit.jupiter:junit-jupiter-params') testImplementation('org.junit.platform:junit-platform-launcher') testImplementation("org.mockito:mockito-junit-jupiter") testImplementation('org.assertj:assertj-core') testImplementation 'org.awaitility:awaitility' } antora { version = '3.2.0-alpha.6' if (project.hasProperty('antoraLocalBarePlaybook') && antoraLocalBarePlaybook.toBoolean()) { playbook = 'local-bare-antora-playbook.yml' } 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.7', '@asciidoctor/tabs': '1.0.0-beta.6', '@springio/antora-extensions': '1.14.2', '@springio/asciidoctor-extensions': '1.0.0-alpha.12', 'asciinema-player': '3.7.1' ] } 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] } }