Skip to content

Commit 91ea2d4

Browse files
committed
Merge branch '6.0.x'
Closes gh-30414
2 parents b7884dd + 8a8fb31 commit 91ea2d4

File tree

485 files changed

+70268
-62124
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

485 files changed

+70268
-62124
lines changed

.github/workflows/deploy-docs.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Deploy Docs
2+
on:
3+
push:
4+
branches-ignore: [ gh-pages ]
5+
tags: '**'
6+
repository_dispatch:
7+
types: request-build-reference # legacy
8+
schedule:
9+
- cron: '0 10 * * *' # Once per day at 10am UTC
10+
workflow_dispatch:
11+
permissions:
12+
actions: write
13+
jobs:
14+
build:
15+
runs-on: ubuntu-latest
16+
if: github.repository_owner == 'spring-projects'
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v3
20+
with:
21+
ref: docs-build
22+
fetch-depth: 1
23+
- name: Dispatch (partial build)
24+
if: github.ref_type == 'branch'
25+
env:
26+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27+
run: gh workflow run deploy-docs.yml -r $(git rev-parse --abbrev-ref HEAD) -f build-refname=${{ github.ref_name }}
28+
- name: Dispatch (full build)
29+
if: github.ref_type == 'tag'
30+
env:
31+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32+
run: gh workflow run deploy-docs.yml -r $(git rev-parse --abbrev-ref HEAD)

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,5 @@ atlassian-ide-plugin.xml
5050

5151
# VS Code
5252
.vscode/
53+
54+
cached-antora-playbook.yml

framework-docs/antora.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: framework
2+
version: true
3+
title: Spring Framework
4+
nav:
5+
- modules/ROOT/nav.adoc
6+
ext:
7+
collector:
8+
run:
9+
command: gradlew -q -PbuildSrc.skipTests=true "-Dorg.gradle.jvmargs=-Xmx3g -XX:+HeapDumpOnOutOfMemoryError" :framework-docs:generateAntoraResources
10+
local: true
11+
scan:
12+
dir: ./build/generated-antora-resources
13+
14+
asciidoc:
15+
attributes:
16+
attribute-missing: 'warn'
17+
# FIXME: the copyright is not removed
18+
# FIXME: The package is not renamed
19+
chomp: 'all'
20+
include-java: 'example$docs-src/main/java/org/springframework/docs'
21+
spring-framework-main-code: 'https://github.com/spring-projects/spring-framework/tree/main'
22+
docs-site: 'https://docs.spring.io'
23+
docs-spring: "{docs-site}/spring-framework/docs/{spring-version}"
24+
docs-spring-framework: '{docs-site}/spring-framework/docs/{spring-version}'
25+
api-spring-framework: '{docs-spring-framework}/javadoc-api/org/springframework'
26+
docs-graalvm: 'https://www.graalvm.org/22.3/reference-manual'
27+
docs-spring-boot: '{docs-site}/spring-boot/docs/current/reference'
28+
docs-spring-gemfire: '{docs-site}/spring-gemfire/docs/current/reference'
29+
docs-spring-security: '{docs-site}/spring-security/reference'
30+
gh-rsocket: 'https://github.com/rsocket'
31+
gh-rsocket-extensions: '{gh-rsocket}/rsocket/blob/master/Extensions'
32+
gh-rsocket-java: '{gh-rsocket}/rsocket-java{gh-rsocket}/rsocket-java'

framework-docs/framework-docs.gradle

Lines changed: 56 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,52 @@
1+
plugins {
2+
id 'kotlin'
3+
id 'io.spring.antora.generate-antora-yml' version '0.0.1'
4+
id 'org.antora' version '1.0.0'
5+
}
6+
17
description = "Spring Framework Docs"
28

3-
apply plugin: 'kotlin'
4-
apply plugin: 'org.asciidoctor.jvm.convert'
5-
apply plugin: 'org.asciidoctor.jvm.pdf'
69
apply from: "${rootDir}/gradle/publications.gradle"
710

811

9-
configurations {
10-
asciidoctorExtensions
12+
antora {
13+
version = '3.2.0-alpha.2'
14+
playbook = 'cached-antora-playbook.yml'
15+
playbookProvider {
16+
repository = 'spring-projects/spring-framework'
17+
branch = 'docs-build'
18+
path = 'lib/antora/templates/per-branch-antora-playbook.yml'
19+
checkLocalBranch = true
20+
}
21+
options = ['--clean', '--stacktrace']
22+
environment = [
23+
'ALGOLIA_API_KEY': '82c7ead946afbac3cf98c32446154691',
24+
'ALGOLIA_APP_ID': '244V8V9FGG',
25+
'ALGOLIA_INDEX_NAME': 'framework-docs'
26+
]
27+
dependencies = [
28+
'@antora/atlas-extension': '1.0.0-alpha.1',
29+
'@antora/collector-extension': '1.0.0-alpha.3',
30+
'@asciidoctor/tabs': '1.0.0-beta.3',
31+
'@opendevise/antora-release-line-extension': '1.0.0-alpha.2',
32+
'@springio/antora-extensions': '1.3.0',
33+
'@springio/asciidoctor-extensions': '1.0.0-alpha.9'
34+
]
1135
}
1236

13-
dependencies {
14-
api(project(":spring-context"))
15-
api(project(":spring-web"))
16-
api("jakarta.servlet:jakarta.servlet-api")
1737

18-
implementation(project(":spring-core-test"))
19-
implementation("org.assertj:assertj-core")
38+
tasks.named("generateAntoraYml") {
39+
asciidocAttributes = project.provider( {
40+
return ["spring-version": project.version ]
41+
} )
42+
}
43+
44+
tasks.create("generateAntoraResources") {
45+
dependsOn 'generateAntoraYml'
46+
}
47+
48+
tasks.named("check") {
49+
dependsOn 'antora'
2050
}
2151

2252
jar {
@@ -27,8 +57,19 @@ javadoc {
2757
enabled = false
2858
}
2959

60+
repositories {
61+
maven {
62+
url "https://repo.spring.io/release"
63+
}
64+
}
65+
3066
dependencies {
31-
asciidoctorExtensions "io.spring.asciidoctor.backends:spring-asciidoctor-backends:0.0.5"
67+
api(project(":spring-context"))
68+
api(project(":spring-web"))
69+
api("jakarta.servlet:jakarta.servlet-api")
70+
71+
implementation(project(":spring-core-test"))
72+
implementation("org.assertj:assertj-core")
3273
}
3374

3475
/**
@@ -82,69 +123,10 @@ rootProject.tasks.dokkaHtmlMultiModule.configure {
82123
outputDirectory.set(project.file("$buildDir/docs/kdoc"))
83124
}
84125

85-
asciidoctorj {
86-
version = '2.4.3'
87-
fatalWarnings ".*"
88-
options doctype: 'book', eruby: 'erubis'
89-
attributes([
90-
icons: 'font',
91-
idprefix: '',
92-
idseparator: '-',
93-
revnumber: project.version,
94-
sectanchors: '',
95-
sectnums: '',
96-
'spring-version': project.version
97-
])
98-
}
99-
100-
/**
101-
* Generate the Spring Framework Reference documentation from
102-
* "src/docs/asciidoc" in "build/docs/ref-docs/html5".
103-
*/
104-
asciidoctor {
105-
baseDirFollowsSourceDir()
106-
configurations "asciidoctorExtensions"
107-
sources {
108-
include '*.adoc'
109-
}
110-
resources {
111-
from(sourceDir) {
112-
include 'images/*.png'
113-
}
114-
}
115-
outputDir "$buildDir/docs/ref-docs/html5"
116-
outputOptions {
117-
backends "spring-html"
118-
}
119-
forkOptions {
120-
jvmArgs += ["--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED", "--add-opens", "java.base/java.io=ALL-UNNAMED"]
121-
}
122-
logDocuments = true
123-
}
124-
125-
asciidoctor.mustRunAfter "check"
126-
127-
/**
128-
* Generate the Spring Framework Reference documentation from "src/docs/asciidoc"
129-
* in "build/docs/ref-docs/pdf".
130-
*/
131-
asciidoctorPdf {
132-
baseDirFollowsSourceDir()
133-
configurations 'asciidoctorExtensions'
134-
sources {
135-
include 'spring-framework.adocbook'
136-
}
137-
outputDir "$buildDir/docs/ref-docs/pdf"
138-
forkOptions {
139-
jvmArgs += ["--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED", "--add-opens", "java.base/java.io=ALL-UNNAMED"]
140-
}
141-
logDocuments = true
142-
}
143-
144126
/**
145-
* Zip all docs (API and reference) into a single archive
127+
* Zip all Java docs (javadoc & kdoc) into a single archive
146128
*/
147-
task docsZip(type: Zip, dependsOn: ['api', 'asciidoctor', 'asciidoctorPdf', rootProject.tasks.dokkaHtmlMultiModule]) {
129+
task docsZip(type: Zip, dependsOn: ['api', rootProject.tasks.dokkaHtmlMultiModule]) {
148130
group = "Distribution"
149131
description = "Builds -${archiveClassifier} archive containing api and reference " +
150132
"for deployment at https://docs.spring.io/spring-framework/docs/."
@@ -157,12 +139,6 @@ task docsZip(type: Zip, dependsOn: ['api', 'asciidoctor', 'asciidoctorPdf', root
157139
from (api) {
158140
into "javadoc-api"
159141
}
160-
from ("$asciidoctor.outputDir") {
161-
into "reference/html"
162-
}
163-
from ("$asciidoctorPdf.outputDir") {
164-
into "reference/pdf"
165-
}
166142
from (rootProject.tasks.dokkaHtmlMultiModule.outputDirectory) {
167143
into "kdoc-api"
168144
}
@@ -251,4 +227,4 @@ publishing {
251227
artifact distZip
252228
}
253229
}
254-
}
230+
}
Loading
Loading
Loading
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)