diff --git a/spring-boot-project/spring-boot-docs/pom.xml b/spring-boot-project/spring-boot-docs/pom.xml
index e19f55286d..c40c57523d 100644
--- a/spring-boot-project/spring-boot-docs/pom.xml
+++ b/spring-boot-project/spring-boot-docs/pom.xml
@@ -983,6 +983,11 @@
spring-data-cassandra
true
+
+ org.springframework.data
+ spring-data-commons
+ true
+
org.springframework.data
spring-data-couchbase
@@ -998,6 +1003,11 @@
spring-data-jdbc
true
+
+ org.springframework.data
+ spring-data-jdbc
+ true
+
org.springframework.data
spring-data-jpa
@@ -1376,29 +1386,55 @@
1.0.1
+ transform-effective-pom
+
+ transform
+
+
+
+
+ ${project.build.directory}/external-resources
+
+ effective-pom.xml
+
+ src/main/xslt/dependencyVersions.xsl
+
+
+ .adoc
+
+
+ ${project.build.directory}/generated-resources
+
+
+
+
+
+ transform-flattened-pom
+ process-resources
transform
+
+
+
+ ${project.basedir}
+
+ .flattened-pom.xml
+
+ src/main/xslt/versionProperties.xsl
+
+
+ .properties
+
+
+ ${project.build.directory}/generated-resources
+
+
+
-
-
-
- ${project.build.directory}/external-resources
-
- effective-pom.xml
-
- src/main/xslt/dependencyVersions.xsl
-
-
- .adoc
-
-
- ${project.build.directory}/generated-resources
-
-
-
org.codehaus.gmavenplus
@@ -1437,6 +1473,26 @@
+
+ org.codehaus.mojo
+ properties-maven-plugin
+ 1.0.0
+
+
+ read-flattenedpom-versions
+ prepare-package
+
+ read-project-properties
+
+ false
+
+
+ ${project.build.directory}/generated-resources/.flattened-pom.properties
+
+
+
+
+
org.asciidoctor
asciidoctor-maven-plugin
@@ -1458,11 +1514,19 @@
${project.basedir}/target/generated-resources
${jooq.version}
${revision}
+ ${spring-amqp.version}
+ ${flattenedpom.version.org.springframework.data.spring-data-couchbase}
+ ${flattenedpom.version.org.springframework.data.spring-data-commons}
+ ${flattenedpom.version.org.springframework.data.spring-data-jpa}
+ ${flattenedpom.version.org.springframework.data.spring-data-jdbc}
+ ${flattenedpom.version.org.springframework.data.spring-data-mongodb}
+ ${flattenedpom.version.org.springframework.data.spring-data-neo4j}
+ ${flattenedpom.version.org.springframework.data.spring-data-rest-core}
+ ${flattenedpom.version.org.springframework.data.spring-data-solr}
${spring-framework.version}
${spring-integration.version}
${spring-security.version}
- ${spring-ws.version}
-
+ ${spring-ws.version}
diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/attributes.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/attributes.adoc
index 57bafa962e..284f81a6a4 100644
--- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/attributes.adoc
+++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/attributes.adoc
@@ -51,38 +51,39 @@
:spring-boot-test-autoconfigure-module-code: {spring-boot-code}/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure
:spring-boot-test-autoconfigure-module-api: {spring-boot-api}/org/springframework/boot/test/autoconfigure
-:spring-amqp-api: https://docs.spring.io/spring-amqp/docs/current/api/org/springframework/amqp
+:spring-amqp-api: https://docs.spring.io/spring-amqp/docs/{spring-amqp-version}/api/org/springframework/amqp
:spring-batch: https://spring.io/projects/spring-batch
:spring-batch-api: https://docs.spring.io/spring-batch/apidocs/org/springframework/batch
:spring-data: https://spring.io/projects/spring-data
:spring-data-cassandra: https://spring.io/projects/spring-data-cassandra
-:spring-data-commons-api: https://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data
+:spring-data-commons-api: https://docs.spring.io/spring-data/commons/docs/{spring-data-commons-version}/api/org/springframework/data
:spring-data-couchbase: https://spring.io/projects/spring-data-couchbase
+:spring-data-couchbase-docs: https://docs.spring.io/spring-data/couchbase/docs/{spring-data-couchbase-version}/reference/html/
:spring-data-elasticsearch: https://spring.io/projects/spring-data-elasticsearch
:spring-data-elasticsearch-docs: https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/
:spring-data-gemfire: https://spring.io/projects/spring-data-gemfire
:spring-data-geode: https://spring.io/projects/spring-data-geode
:spring-data-jpa: https://spring.io/projects/spring-data-jpa
-:spring-data-jpa-api: https://docs.spring.io/spring-data/jpa/docs/current/api/org/springframework/data/jpa
-:spring-data-jdbc-docs: https://docs.spring.io/spring-data/jdbc/docs/current/reference/html/
+:spring-data-jpa-api: https://docs.spring.io/spring-data/jpa/docs/{spring-data-jpa-version}/api/org/springframework/data/jpa
+:spring-data-jdbc-docs: https://docs.spring.io/spring-data/jdbc/docs/{spring-data-jdbc-version}/reference/html/
:spring-data-ldap: https://spring.io/projects/spring-data-ldap
:spring-data-mongodb: https://spring.io/projects/spring-data-mongodb
-:spring-data-mongodb-api: https://docs.spring.io/spring-data/mongodb/docs/current/api/org/springframework/data/mongodb
+:spring-data-mongodb-api: https://docs.spring.io/spring-data/mongodb/docs/{spring-data-mongodb-version}/api/org/springframework/data/mongodb
:spring-data-neo4j: https://spring.io/projects/spring-data-neo4j
-:spring-data-neo4j-docs: https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/
+:spring-data-neo4j-docs: https://docs.spring.io/spring-data/neo4j/docs/{spring-data-neo4j-version}/reference/html/
:spring-data-redis: https://spring.io/projects/spring-data-redis
-:spring-data-rest-api: https://docs.spring.io/spring-data/rest/docs/current/api/org/springframework/data/rest
+:spring-data-rest-api: https://docs.spring.io/spring-data/rest/docs/{spring-data-rest-version}/api/org/springframework/data/rest
:spring-data-solr: https://spring.io/projects/spring-data-solr
-:spring-data-solr-docs: https://docs.spring.io/spring-data/solr/docs/current/reference/html/
+:spring-data-solr-docs: https://docs.spring.io/spring-data/solr/docs/{spring-data-solr-version}/reference/html/
:spring-framework: https://spring.io/projects/spring-framework
:spring-framework-api: https://docs.spring.io/spring/docs/{spring-framework-version}/javadoc-api/org/springframework
:spring-framework-docs: https://docs.spring.io/spring/docs/{spring-framework-version}/spring-framework-reference/
-:spring-initializr-docs: https://docs.spring.io/initializr/docs/current/reference/html
+:spring-initializr-docs: https://docs.spring.io/initializr/docs/current/reference/html/
:spring-integration: https://spring.io/projects/spring-integration
-:spring-integration-docs: https://docs.spring.io/spring-integration/docs/{spring-integration-version}/reference/html
+:spring-integration-docs: https://docs.spring.io/spring-integration/docs/{spring-integration-version}/reference/html/
:spring-restdocs: https://spring.io/projects/spring-restdocs
:spring-security: https://spring.io/projects/spring-security
-:spring-security-docs: https://docs.spring.io/spring-security/site/docs/{spring-security-version}/reference/htmlsingle
+:spring-security-docs: https://docs.spring.io/spring-security/site/docs/{spring-security-version}/reference/htmlsingle/
:spring-security-oauth2: https://spring.io/projects/spring-security-oauth
:spring-security-oauth2-docs: https://projects.spring.io/spring-security-oauth/docs/oauth2.html
:spring-session: https://spring.io/projects/spring-session
diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/howto.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/howto.adoc
index 7ab58e8b46..d3f0e02fa1 100644
--- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/howto.adoc
+++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/howto.adoc
@@ -1196,7 +1196,7 @@ For example, the test in the snippet below will run with an authenticated user t
Spring Security provides comprehensive integration with Spring MVC Test and this can also be used when testing controllers using the `@WebMvcTest` slice and `MockMvc`.
-For additional details on Spring Security's testing support, refer to Spring Security's https://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#test[reference documentation]).
+For additional details on Spring Security's testing support, refer to Spring Security's {spring-security-docs}#test[reference documentation]).
@@ -2111,7 +2111,7 @@ If you define a `@Configuration` with a `WebSecurityConfigurerAdapter` in your a
[[howto-change-the-user-details-service-and-add-user-accounts]]
=== Change the UserDetailsService and Add User Accounts
If you provide a `@Bean` of type `AuthenticationManager`, `AuthenticationProvider`, or `UserDetailsService`, the default `@Bean` for `InMemoryUserDetailsManager` is not created.
-This means you have the full feature set of Spring Security available (such as https://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#jc-authentication[various authentication options]).
+This means you have the full feature set of Spring Security available (such as {spring-security-docs}#jc-authentication[various authentication options]).
The easiest way to add user accounts is to provide your own `UserDetailsService` bean.
diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
index 2973348fbd..b714fd9bcf 100644
--- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
+++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
@@ -3528,7 +3528,7 @@ When using deferred or lazy bootstrapping, the auto-configured `EntityManagerFac
If more than one exists, the one named `applicationTaskExecutor` will be used.
TIP: We have barely scratched the surface of Spring Data JPA.
-For complete details, see the https://docs.spring.io/spring-data/jpa/docs/current/reference/html/[Spring Data JPA reference documentation].
+For complete details, see the {spring-data-jdbc-docs}[Spring Data JPA reference documentation].
diff --git a/spring-boot-project/spring-boot-docs/src/main/xslt/versionProperties.xsl b/spring-boot-project/spring-boot-docs/src/main/xslt/versionProperties.xsl
new file mode 100644
index 0000000000..f08f48949a
--- /dev/null
+++ b/spring-boot-project/spring-boot-docs/src/main/xslt/versionProperties.xsl
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+ flattenedpom.version.
+
+ .
+
+ =
+
+
+
+
+
+