Merge branch '2.6.x' into 2.7.x

- Update Antora

Closes gh-2331
This commit is contained in:
Rob Winch
2023-06-22 11:39:42 -05:00
6 changed files with 54 additions and 62 deletions

View File

@@ -1,3 +1,25 @@
name: ROOT
version: '2.7.2'
prerelease: '-SNAPSHOT'
name: session
version: true
title: Spring Session
start_page: ROOT:index.adoc
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
asciidoc:
attributes:
gh-url: "https://github.com/spring-projects/spring-session/tree/{gh-tag}"
download-url: "https://github.com/spring-projects/spring-session/archive/{gh-tag}.zip"
gh-samples-url: "{gh-url}/spring-session-samples/"
samples-dir: "example$spring-session-samples/"
session-jdbc-main-resources-dir: "example$session-jdbc-main-resources-dir/"
spring-session-data-mongodb-dir: "example$spring-session-data-mongodb-dir/"
docs-test-dir: "example$java/"
websocketdoc-test-dir: 'example$java/docs/websocket/'
docs-test-resources-dir: "example$resources/"
indexdoc-tests: "example$java/docs/IndexDocTests.java"

View File

@@ -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'
@@ -27,17 +28,30 @@ dependencies {
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
}
antora {
antoraVersion = "3.0.1"
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() } )
asciidocAttributes.putAll(providers.provider( { resolvedVersions(project.configurations.testRuntimeClasspath) }))
}
def generateAttributes() {
def ghTag = snapshotBuild ? 'main' : project.version
return ['gh-tag':ghTag,
'spring-boot-version': springBootVersion,
'spring-session-version': project.version]
}
sourceSets {
@@ -51,58 +65,13 @@ 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" }
}
def resolvedVersions(Configuration configuration) {
return {
configuration.resolvedConfiguration
return configuration.resolvedConfiguration
.resolvedArtifacts
.collectEntries { [(it.name + "-version"): it.moduleVersion.id.version] }
}
}