Update Antora Plugin to 1.0.0
Issue gh-2234
This commit is contained in:
@@ -1,27 +0,0 @@
|
||||
site:
|
||||
title: Spring Session
|
||||
url: https://docs.spring.io/spring-session/reference/
|
||||
asciidoc:
|
||||
attributes:
|
||||
page-pagination: true
|
||||
content:
|
||||
sources:
|
||||
- url: https://github.com/spring-io/spring-generated-docs
|
||||
branches: [spring-projects/spring-session/*]
|
||||
- url: https://github.com/spring-projects/spring-session
|
||||
branches: [main,2.7.x,2.6.x]
|
||||
tags: [ '3.0.*', '2.7.*', '2.6.*','!2.6.0-M*','!2.6.0-RC*','!2.7.0-M1','!3.0.0-M1']
|
||||
start_path: spring-session-docs
|
||||
urls:
|
||||
latest_version_segment_strategy: redirect:to
|
||||
latest_version_segment: ''
|
||||
redirect_facility: httpd
|
||||
ui:
|
||||
bundle:
|
||||
url: https://github.com/spring-io/antora-ui-spring/releases/download/latest/ui-bundle.zip
|
||||
snapshot: true
|
||||
|
||||
antora:
|
||||
extensions:
|
||||
- require: ./antora/extensions/version-fix.js
|
||||
- require: ./antora/extensions/major-minor-segment.js
|
||||
@@ -1,3 +1,12 @@
|
||||
name: ROOT
|
||||
version: '3.0.1'
|
||||
prerelease: '-SNAPSHOT'
|
||||
version: true
|
||||
title: Documentation
|
||||
nav:
|
||||
- modules/ROOT/nav.adoc
|
||||
ext:
|
||||
collector:
|
||||
run:
|
||||
command: gradlew -q -PbuildSrc.skipTests=true "-Dorg.gradle.jvmargs=-Xmx3g -XX:+HeapDumpOnOutOfMemoryError" :spring-session-docs:generateAntoraYml
|
||||
local: true
|
||||
scan:
|
||||
dir: ./build/generated-antora-resources
|
||||
|
||||
35
spring-session-docs/cached-antora-playbook.yml
Normal file
35
spring-session-docs/cached-antora-playbook.yml
Normal file
@@ -0,0 +1,35 @@
|
||||
# PACKAGES antora@3.2.0-alpha.2 @antora/atlas-extension:1.0.0-alpha.1 @antora/collector-extension@1.0.0-alpha.3 @springio/antora-extensions@1.0.0 @asciidoctor/tabs@1.0.0-beta.3 @opendevise/antora-release-line-extension@1.0.0
|
||||
#
|
||||
# The purpose of this Antora playbook is to build the docs in the current branch.
|
||||
antora:
|
||||
extensions:
|
||||
- '@antora/collector-extension'
|
||||
- id: '@antora/atlas-extension'
|
||||
require: '@antora/atlas-extension'
|
||||
enabled: false
|
||||
- '@opendevise/antora-release-line-extension'
|
||||
- require: '@springio/antora-extensions/tabs-migration-extension'
|
||||
unwrap_example_block: always
|
||||
site:
|
||||
title: Spring Session Reference
|
||||
content:
|
||||
sources:
|
||||
- url: ./..
|
||||
branches: HEAD
|
||||
start_path: spring-session-docs
|
||||
worktrees: true
|
||||
asciidoc:
|
||||
attributes:
|
||||
hide-uri-scheme: '@'
|
||||
page-pagination: ''
|
||||
primary-site-url: https://docs.spring.io/spring-session/reference
|
||||
tabs-sync-option: '@'
|
||||
extensions:
|
||||
- '@asciidoctor/tabs'
|
||||
sourcemap: true
|
||||
urls:
|
||||
latest_version_segment: ''
|
||||
ui:
|
||||
bundle:
|
||||
url: https://github.com/spring-io/antora-ui-spring/releases/download/latest/ui-bundle.zip
|
||||
snapshot: true
|
||||
@@ -1,26 +0,0 @@
|
||||
site:
|
||||
title: Spring
|
||||
url: https://docs.spring.io/spring-session/reference/
|
||||
asciidoc:
|
||||
attributes:
|
||||
page-pagination: true
|
||||
content:
|
||||
sources:
|
||||
- url: ../../spring-io/spring-generated-docs
|
||||
branches: [spring-projects/spring-session/*]
|
||||
- url: ../../spring-projects/spring-session
|
||||
branches: [main]
|
||||
start_path: spring-session-docs
|
||||
urls:
|
||||
latest_version_segment_strategy: redirect:to
|
||||
latest_version_segment: ''
|
||||
redirect_facility: httpd
|
||||
ui:
|
||||
bundle:
|
||||
url: https://github.com/spring-io/antora-ui-spring/releases/download/latest/ui-bundle.zip
|
||||
snapshot: true
|
||||
|
||||
antora:
|
||||
extensions:
|
||||
- require: ./antora/extensions/version-fix.js
|
||||
- require: ./antora/extensions/major-minor-segment.js
|
||||
@@ -1,5 +1,6 @@
|
||||
plugins {
|
||||
id "io.github.rwinch.antora" version "0.0.2"
|
||||
id 'org.antora' version '1.0.0'
|
||||
id 'io.spring.antora.generate-antora-yml' version '0.0.1'
|
||||
}
|
||||
|
||||
apply plugin: 'io.spring.convention.docs'
|
||||
@@ -29,16 +30,54 @@ dependencies {
|
||||
}
|
||||
|
||||
antora {
|
||||
antoraVersion = "3.1.0"
|
||||
arguments = ["--fetch"]
|
||||
playbook = 'cached-antora-playbook.yml'
|
||||
playbookProvider {
|
||||
repository = 'spring-projects/spring-session'
|
||||
branch = 'docs-build'
|
||||
path = 'lib/antora/templates/per-branch-antora-playbook.yml'
|
||||
checkLocalBranch = true
|
||||
}
|
||||
options = [clean: true, fetch: !project.gradle.startParameter.offline, stacktrace: true]
|
||||
}
|
||||
|
||||
tasks.antora {
|
||||
environment = [
|
||||
"ALGOLIA_API_KEY" : "82c7ead946afbac3cf98c32446154691",
|
||||
"ALGOLIA_APP_ID" : "244V8V9FGG",
|
||||
"ALGOLIA_INDEX_NAME" : "session-docs"
|
||||
]
|
||||
tasks.named("generateAntoraYml") {
|
||||
asciidocAttributes = project.provider( { generateAttributes() } )
|
||||
}
|
||||
|
||||
def generateAttributes() {
|
||||
def dollar = '$'
|
||||
def ghTag = snapshotBuild ? 'main' : project.version
|
||||
def ghUrl = "https://github.com/spring-projects/spring-session/tree/${ghTag.toString()}"
|
||||
def snapshotBuild = project.version.contains("SNAPSHOT")
|
||||
def milestoneBuild = project.version.contains("-M")
|
||||
def releaseBuild = (!snapshotBuild && !milestoneBuild)
|
||||
def springBootVersion = "2.7.0"
|
||||
def downloadUrl = "https://github.com/spring-projects/spring-session/archive/${ghTag}.zip"
|
||||
def ghSamplesUrl = "$ghUrl/spring-session-samples/"
|
||||
def samplesDir = "example${dollar}spring-session-samples/"
|
||||
def sessionJdbcMainResourcesDir = "example${dollar.toString()}session-jdbc-main-resources-dir/"
|
||||
def springSessionDataMongoDbDir = "example${dollar.toString()}spring-session-data-mongodb-dir/"
|
||||
def docsTestDir = "example${dollar.toString()}java/"
|
||||
def websocketdocTestDir = "example${dollar.toString()}java/docs/websocket/"
|
||||
def docsTestResourcesDir = "example${dollar.toString()}resources/"
|
||||
def indexdocTests = "example${dollar.toString()}java/docs/IndexDocTests.java"
|
||||
|
||||
return [
|
||||
'download-url': downloadUrl.toString(),
|
||||
'gh-samples-url': ghSamplesUrl.toString(),
|
||||
'samples-dir': samplesDir.toString(),
|
||||
'session-jdbc-main-resources-dir': sessionJdbcMainResourcesDir.toString(),
|
||||
'spring-session-data-mongodb-dir': springSessionDataMongoDbDir.toString(),
|
||||
'docs-test-dir': docsTestDir.toString(),
|
||||
'websocketdoc-test-dir': websocketdocTestDir.toString(),
|
||||
'docs-test-resources-dir': docsTestResourcesDir.toString(),
|
||||
'indexdoc-tests': indexdocTests.toString(),
|
||||
'spring-session-version': project.version,
|
||||
'version-milestone': milestoneBuild,
|
||||
'version-release': releaseBuild,
|
||||
'version-snapshot': snapshotBuild,
|
||||
'spring-boot-version': springBootVersion
|
||||
] + resolvedVersions(project.configurations.testRuntimeClasspath)
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
@@ -52,58 +91,16 @@ sourceSets {
|
||||
}
|
||||
}
|
||||
|
||||
tasks.register("generateAntora") {
|
||||
group = "Documentation"
|
||||
description = "Generates the antora.yml for dynamic properties"
|
||||
doLast {
|
||||
def dollar = '$'
|
||||
def ghTag = snapshotBuild ? 'main' : project.version
|
||||
def ghUrl = "https://github.com/spring-projects/spring-session/tree/$ghTag"
|
||||
def versions = resolvedVersions(project.configurations.testRuntimeClasspath)
|
||||
def ymlVersions = ""
|
||||
versions.call().each { name, version ->
|
||||
ymlVersions += """
|
||||
${name}: ${version}"""
|
||||
}
|
||||
def outputFile = new File("$buildDir/generateAntora/antora.yml")
|
||||
outputFile.getParentFile().mkdirs()
|
||||
outputFile.createNewFile()
|
||||
def antoraYmlText = file("antora.yml").getText()
|
||||
outputFile.setText("""$antoraYmlText
|
||||
title: Spring Session
|
||||
start_page: ROOT:index.adoc
|
||||
nav:
|
||||
- modules/ROOT/nav.adoc
|
||||
|
||||
asciidoc:
|
||||
attributes:
|
||||
download-url: "https://github.com/spring-projects/spring-session/archive/${ghTag}.zip"
|
||||
gh-samples-url: "$ghUrl/spring-session-samples/"
|
||||
samples-dir: "example${dollar}spring-session-samples/"
|
||||
session-jdbc-main-resources-dir: "example${dollar}session-jdbc-main-resources-dir/"
|
||||
spring-session-data-mongodb-dir: "example${dollar}spring-session-data-mongodb-dir/"
|
||||
docs-test-dir: "example${dollar}java/"
|
||||
websocketdoc-test-dir: 'example${dollar}java/docs/websocket/'
|
||||
docs-test-resources-dir: "example${dollar}resources/"
|
||||
indexdoc-tests: "example${dollar}java/docs/IndexDocTests.java"
|
||||
spring-session-version: ${project.version}
|
||||
version-milestone: $milestoneBuild
|
||||
version-release: $releaseBuild
|
||||
version-snapshot: $snapshotBuild
|
||||
spring-boot-version: ${springBootVersion}
|
||||
${ymlVersions}
|
||||
""")
|
||||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
maven { url "https://repo.spring.io/release" }
|
||||
mavenCentral()
|
||||
maven { url 'https://repo.spring.io/release' }
|
||||
maven { url 'https://repo.spring.io/milestone' }
|
||||
maven { url 'https://repo.spring.io/snapshot' }
|
||||
}
|
||||
|
||||
def resolvedVersions(Configuration configuration) {
|
||||
return {
|
||||
configuration.resolvedConfiguration
|
||||
return configuration.resolvedConfiguration
|
||||
.resolvedArtifacts
|
||||
.collectEntries { [(it.name + "-version"): it.moduleVersion.id.version] }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user