Skip to content

Commit fcf0064

Browse files
committed
Update Antora
- Use org.gradle 1.0.0 - Need to use JDK 17 for latest plugin - Use io.spring.antora.generate-antora-yml - Use collector extension - Use name: session Closes gh-2327
1 parent 9f7a969 commit fcf0064

File tree

6 files changed

+59
-61
lines changed

6 files changed

+59
-61
lines changed

.github/workflows/continuous-integration-workflow.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
if: github.repository == 'spring-projects/spring-session'
2121
strategy:
2222
matrix:
23-
jdk: [8, 11]
23+
jdk: [17]
2424
fail-fast: false
2525
steps:
2626
- uses: actions/checkout@v2
@@ -53,7 +53,7 @@ jobs:
5353
- name: Set up JDK
5454
uses: actions/setup-java@v1
5555
with:
56-
java-version: '8'
56+
java-version: '17'
5757
- name: Setup gradle user name
5858
run: |
5959
mkdir -p ~/.gradle

.github/workflows/pr-build-workflow.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
if: github.repository == 'spring-projects/spring-session'
1010
strategy:
1111
matrix:
12-
jdk: [8, 11]
12+
jdk: [17]
1313
fail-fast: false
1414
steps:
1515
- uses: actions/checkout@v2

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ out
1414
!etc/eclipse/.checkstyle
1515
!**/src/**/build
1616
.DS_Store
17+
cached-antora-playbook.yml

.sdkmanrc

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Use sdkman to run "sdk env" to initialize with correct JDK version
2+
# Enable auto-env through the sdkman_auto_env config
3+
# See https://sdkman.io/usage#config
4+
# A summary is to add the following to ~/.sdkman/etc/config
5+
# sdkman_auto_env=true
6+
java=17.0.2-tem

spring-session-docs/antora.yml

+25-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
1-
name: ROOT
2-
version: '2.6.4'
3-
prerelease: '-SNAPSHOT'
1+
name: session
2+
version: true
3+
title: Spring Session
4+
start_page: ROOT:index.adoc
5+
nav:
6+
- modules/ROOT/nav.adoc
7+
ext:
8+
collector:
9+
run:
10+
command: gradlew -q -PbuildSrc.skipTests=true "-Dorg.gradle.jvmargs=-Xmx3g -XX:+HeapDumpOnOutOfMemoryError" :spring-session-docs:generateAntoraYml
11+
local: true
12+
scan:
13+
dir: ./build/generated-antora-resources
14+
asciidoc:
15+
attributes:
16+
gh-url: "https://github.com/spring-projects/spring-session/tree/{gh-tag}"
17+
download-url: "https://github.com/spring-projects/spring-session/archive/{gh-tag}.zip"
18+
gh-samples-url: "{gh-url}/spring-session-samples/"
19+
samples-dir: "example$spring-session-samples/"
20+
session-jdbc-main-resources-dir: "example$session-jdbc-main-resources-dir/"
21+
spring-session-data-mongodb-dir: "example$spring-session-data-mongodb-dir/"
22+
docs-test-dir: "example$java/"
23+
websocketdoc-test-dir: 'example$java/docs/websocket/'
24+
docs-test-resources-dir: "example$resources/"
25+
indexdoc-tests: "example$java/docs/IndexDocTests.java"
+24-55
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
plugins {
2-
id "io.github.rwinch.antora" version "0.0.2"
2+
id 'org.antora' version '1.0.0'
3+
id 'io.spring.antora.generate-antora-yml' version '0.0.1'
34
}
45

56
apply plugin: 'io.spring.convention.docs'
@@ -27,17 +28,30 @@ dependencies {
2728
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
2829
}
2930

31+
3032
antora {
31-
antoraVersion = "3.0.0-alpha.8"
32-
arguments = ["--fetch"]
33+
playbook = 'cached-antora-playbook.yml'
34+
playbookProvider {
35+
repository = 'spring-projects/spring-session'
36+
branch = 'docs-build'
37+
path = 'lib/antora/templates/per-branch-antora-playbook.yml'
38+
checkLocalBranch = true
39+
}
40+
options = [clean: true, fetch: !project.gradle.startParameter.offline, stacktrace: true]
41+
}
42+
43+
tasks.named("generateAntoraYml") {
44+
asciidocAttributes = project.provider( { generateAttributes() } )
45+
asciidocAttributes.putAll(providers.provider( { resolvedVersions(project.configurations.testRuntimeClasspath) }))
3346
}
3447

35-
tasks.antora {
36-
environment = [
37-
"ALGOLIA_API_KEY" : "82c7ead946afbac3cf98c32446154691",
38-
"ALGOLIA_APP_ID" : "244V8V9FGG",
39-
"ALGOLIA_INDEX_NAME" : "session-docs"
40-
]
48+
49+
def generateAttributes() {
50+
def ghTag = snapshotBuild ? 'main' : project.version
51+
52+
return ['gh-tag':ghTag,
53+
'spring-boot-version': springBootVersion,
54+
'spring-session-version': project.version]
4155
}
4256

4357
sourceSets {
@@ -51,58 +65,13 @@ sourceSets {
5165
}
5266
}
5367

54-
tasks.register("generateAntora") {
55-
group = "Documentation"
56-
description = "Generates the antora.yml for dynamic properties"
57-
doLast {
58-
def dollar = '$'
59-
def ghTag = snapshotBuild ? 'main' : project.version
60-
def ghUrl = "https://github.com/spring-projects/spring-session/tree/$ghTag"
61-
def versions = resolvedVersions(project.configurations.testRuntimeClasspath)
62-
def ymlVersions = ""
63-
versions.call().each { name, version ->
64-
ymlVersions += """
65-
${name}: ${version}"""
66-
}
67-
def outputFile = new File("$buildDir/generateAntora/antora.yml")
68-
outputFile.getParentFile().mkdirs()
69-
outputFile.createNewFile()
70-
def antoraYmlText = file("antora.yml").getText()
71-
outputFile.setText("""$antoraYmlText
72-
title: Spring Session
73-
start_page: ROOT:index.adoc
74-
nav:
75-
- modules/ROOT/nav.adoc
76-
77-
asciidoc:
78-
attributes:
79-
download-url: "https://github.com/spring-projects/spring-session/archive/${ghTag}.zip"
80-
gh-samples-url: "$ghUrl/spring-session-samples/"
81-
samples-dir: "example${dollar}spring-session-samples/"
82-
session-jdbc-main-resources-dir: "example${dollar}session-jdbc-main-resources-dir/"
83-
spring-session-data-mongodb-dir: "example${dollar}spring-session-data-mongodb-dir/"
84-
docs-test-dir: "example${dollar}java/"
85-
websocketdoc-test-dir: 'example${dollar}java/docs/websocket/'
86-
docs-test-resources-dir: "example${dollar}resources/"
87-
indexdoc-tests: "example${dollar}java/docs/IndexDocTests.java"
88-
spring-session-version: ${project.version}
89-
version-milestone: $milestoneBuild
90-
version-release: $releaseBuild
91-
version-snapshot: $snapshotBuild
92-
spring-boot-version: ${springBootVersion}
93-
${ymlVersions}
94-
""")
95-
}
96-
}
9768

9869
repositories {
9970
maven { url "https://repo.spring.io/release" }
10071
}
10172

10273
def resolvedVersions(Configuration configuration) {
103-
return {
104-
configuration.resolvedConfiguration
74+
return configuration.resolvedConfiguration
10575
.resolvedArtifacts
10676
.collectEntries { [(it.name + "-version"): it.moduleVersion.id.version] }
107-
}
10877
}

0 commit comments

Comments
 (0)