Port the build to Gradle
Closes gh-19609 Closes gh-19608
This commit is contained in:
241
spring-boot-project/spring-boot-docs/build.gradle
Normal file
241
spring-boot-project/spring-boot-docs/build.gradle
Normal file
@@ -0,0 +1,241 @@
|
||||
plugins {
|
||||
id 'java-base'
|
||||
id 'org.asciidoctor.jvm.convert'
|
||||
id 'org.asciidoctor.jvm.pdf'
|
||||
id 'org.springframework.boot.conventions'
|
||||
id 'org.springframework.boot.deployed'
|
||||
}
|
||||
|
||||
configurations {
|
||||
actuatorApiDocumentation
|
||||
autoConfiguration
|
||||
configurationProperties
|
||||
gradlePluginDocumentation
|
||||
mavenPluginDocumentation
|
||||
testSlices
|
||||
}
|
||||
|
||||
dependencies {
|
||||
testSlices project(path: ':spring-boot-project:spring-boot-test-autoconfigure', configuration: 'testSliceMetadata')
|
||||
autoConfiguration project(path: ':spring-boot-project:spring-boot-autoconfigure', configuration: 'autoConfigurationMetadata')
|
||||
autoConfiguration project(path: ':spring-boot-project:spring-boot-actuator-autoconfigure', configuration: 'autoConfigurationMetadata')
|
||||
autoConfiguration project(path: ':spring-boot-project:spring-boot-devtools', configuration: 'autoConfigurationMetadata')
|
||||
configurationProperties project(path: ':spring-boot-project:spring-boot', configuration: 'configurationPropertiesMetadata')
|
||||
configurationProperties project(path: ':spring-boot-project:spring-boot-actuator', configuration: 'configurationPropertiesMetadata')
|
||||
configurationProperties project(path: ':spring-boot-project:spring-boot-actuator-autoconfigure', configuration: 'configurationPropertiesMetadata')
|
||||
configurationProperties project(path: ':spring-boot-project:spring-boot-autoconfigure', configuration: 'configurationPropertiesMetadata')
|
||||
configurationProperties project(path: ':spring-boot-project:spring-boot-devtools', configuration: 'configurationPropertiesMetadata')
|
||||
gradlePluginDocumentation project(path: ':spring-boot-project:spring-boot-tools:spring-boot-gradle-plugin', configuration: 'documentation')
|
||||
actuatorApiDocumentation project(path: ':spring-boot-project:spring-boot-actuator-autoconfigure', configuration: 'documentation')
|
||||
mavenPluginDocumentation project(path: ':spring-boot-project:spring-boot-tools:spring-boot-maven-plugin', configuration: 'documentation')
|
||||
}
|
||||
|
||||
task dependencyVersions(type: org.springframework.boot.build.constraints.ExtractVersionConstraints) {
|
||||
enforcedPlatform(':spring-boot-project:spring-boot-dependencies')
|
||||
}
|
||||
|
||||
task javadoc(type: Javadoc) {
|
||||
dependsOn dependencyVersions
|
||||
project.rootProject.gradle.projectsEvaluated {
|
||||
Set<Project> publishedProjects = rootProject.subprojects.findAll { it != project}
|
||||
.findAll { it.plugins.hasPlugin(JavaPlugin) && it.plugins.hasPlugin(MavenPublishPlugin) }
|
||||
.findAll { it.name != 'spring-boot-maven-plugin' && it.name != 'spring-boot-gradle-plugin' }
|
||||
dependsOn publishedProjects.javadoc
|
||||
source publishedProjects.javadoc.source
|
||||
classpath = project.files(publishedProjects.javadoc.classpath)
|
||||
destinationDir = project.file "$buildDir/docs/javadoc"
|
||||
options {
|
||||
author = true
|
||||
docTitle = "Spring Boot ${project.version} API"
|
||||
encoding = 'UTF-8'
|
||||
memberLevel = 'protected'
|
||||
outputLevel = 'quiet'
|
||||
source = '1.8'
|
||||
splitIndex = true
|
||||
stylesheetFile = file('src/main/javadoc/spring-javadoc.css')
|
||||
use = true
|
||||
windowTitle = "Spring Boot ${project.version} API"
|
||||
}
|
||||
doFirst {
|
||||
def versionConstraints = dependencyVersions.versionConstraints
|
||||
options.links = [
|
||||
'https://docs.oracle.com/javase/8/docs/api/',
|
||||
'https://docs.oracle.com/javaee/7/api/',
|
||||
"https://docs.spring.io/spring-framework/docs/${versionConstraints['org.springframework:spring-core']}/javadoc-api/",
|
||||
"https://docs.spring.io/spring-security/site/docs/${versionConstraints['org.springframework.security:spring-security-core']}/api/",
|
||||
'https://tomcat.apache.org/tomcat-9.0-doc/api/',
|
||||
"https://www.eclipse.org/jetty/javadoc/${versionConstraints['org.eclipse.jetty:jetty-server']}/",
|
||||
"https://www.thymeleaf.org/apidocs/thymeleaf/${versionConstraints['org.thymeleaf:thymeleaf']}/"
|
||||
] as String[]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
task documentTestSlices(type: org.springframework.boot.build.test.autoconfigure.DocumentTestSlices) {
|
||||
testSlices = configurations.testSlices
|
||||
outputFile = file("$buildDir/docs/generated/test-slice-auto-configuration.adoc")
|
||||
}
|
||||
|
||||
task documentStarters(type: org.springframework.boot.build.starters.DocumentStarters) {
|
||||
outputDir = file("$buildDir/docs/generated/starters/")
|
||||
}
|
||||
|
||||
task documentAutoConfigurationClasses(type: org.springframework.boot.build.autoconfigure.DocumentAutoConfigurationClasses) {
|
||||
autoConfiguration = configurations.autoConfiguration
|
||||
outputDir = file("$buildDir/docs/generated/auto-configuration-classes/")
|
||||
}
|
||||
|
||||
task documentDependencyVersions(type: org.springframework.boot.build.constraints.DocumentConstrainedVersions) {
|
||||
dependsOn dependencyVersions
|
||||
constrainedVersions.set(providers.provider { dependencyVersions.constrainedVersions })
|
||||
outputFile = file("$buildDir/docs/generated/dependency-versions.adoc")
|
||||
}
|
||||
|
||||
task documentConfigurationProperties(type: org.springframework.boot.build.context.properties.DocumentConfigurationProperties) {
|
||||
configurationPropertyMetadata = configurations.configurationProperties
|
||||
outputDir = file("$buildDir/docs/generated/config-docs/")
|
||||
}
|
||||
|
||||
tasks.withType(org.asciidoctor.gradle.jvm.AbstractAsciidoctorTask) {
|
||||
dependsOn dependencyVersions
|
||||
baseDirFollowsSourceDir()
|
||||
doFirst {
|
||||
def versionConstraints = dependencyVersions.versionConstraints
|
||||
attributes 'jetty-version': versionConstraints['org.eclipse.jetty:jetty-server'],
|
||||
'jooq-version': versionConstraints['org.jooq:jooq'],
|
||||
'spring-amqp-version': versionConstraints['org.springframework.amqp:spring-amqp'],
|
||||
'spring-batch-version': versionConstraints['org.springframework.batch:spring-batch-core'],
|
||||
'spring-boot-version': project.version,
|
||||
'spring-data-commons-version': versionConstraints['org.springframework.data:spring-data-commons'],
|
||||
'spring-data-couchbase-version': versionConstraints['org.springframework.data:spring-data-couchbase'],
|
||||
'spring-data-jdbc-version': versionConstraints['org.springframework.data:spring-data-jdbc'],
|
||||
'spring-data-jpa-version': versionConstraints['org.springframework.data:spring-data-jpa'],
|
||||
'spring-data-mongodb-version': versionConstraints['org.springframework.data:spring-data-mongodb'],
|
||||
'spring-data-neo4j-version': versionConstraints['org.springframework.data:spring-data-neo4j'],
|
||||
'spring-data-rest-version': versionConstraints['org.springframework.data:spring-data-rest-core'],
|
||||
'spring-data-solr-version': versionConstraints['org.springframework.data:spring-data-solr'],
|
||||
'spring-framework-version': versionConstraints['org.springframework:spring-core'],
|
||||
'spring-integration-version': versionConstraints['org.springframework.integration:spring-integration-core'],
|
||||
'spring-security-version': versionConstraints['org.springframework.security:spring-security-core'],
|
||||
'spring-webservices-version': versionConstraints['org.springframework.ws:spring-ws-core']
|
||||
}
|
||||
}
|
||||
|
||||
asciidoctor {
|
||||
sources {
|
||||
include '*.htmlsingleadoc'
|
||||
}
|
||||
}
|
||||
|
||||
asciidoctorPdf {
|
||||
sources {
|
||||
include '*.pdfadoc'
|
||||
}
|
||||
}
|
||||
|
||||
task asciidoctorMultipage(type: org.asciidoctor.gradle.jvm.AsciidoctorTask) {
|
||||
sources {
|
||||
include '*.htmladoc'
|
||||
include '*.adoc'
|
||||
}
|
||||
}
|
||||
|
||||
syncDocumentationSourceForAsciidoctor {
|
||||
dependsOn documentTestSlices
|
||||
dependsOn documentStarters
|
||||
dependsOn documentAutoConfigurationClasses
|
||||
dependsOn documentDependencyVersions
|
||||
dependsOn documentConfigurationProperties
|
||||
from("$buildDir/docs/generated") {
|
||||
into 'asciidoc'
|
||||
}
|
||||
from ("src/main/java") {
|
||||
into 'main/java'
|
||||
}
|
||||
from ("src/test/java") {
|
||||
into 'test/java'
|
||||
}
|
||||
}
|
||||
|
||||
syncDocumentationSourceForAsciidoctorMultipage {
|
||||
dependsOn documentTestSlices
|
||||
dependsOn documentStarters
|
||||
dependsOn documentAutoConfigurationClasses
|
||||
dependsOn documentDependencyVersions
|
||||
dependsOn documentConfigurationProperties
|
||||
from("$buildDir/docs/generated") {
|
||||
into 'asciidoc'
|
||||
}
|
||||
from ("src/main/java") {
|
||||
into 'main/java'
|
||||
}
|
||||
from ("src/test/java") {
|
||||
into 'test/java'
|
||||
}
|
||||
}
|
||||
|
||||
syncDocumentationSourceForAsciidoctorPdf {
|
||||
dependsOn documentTestSlices
|
||||
dependsOn documentStarters
|
||||
dependsOn documentAutoConfigurationClasses
|
||||
dependsOn documentDependencyVersions
|
||||
dependsOn documentConfigurationProperties
|
||||
from("$buildDir/docs/generated") {
|
||||
into 'asciidoc'
|
||||
}
|
||||
from ("src/main/java") {
|
||||
into 'main/java'
|
||||
}
|
||||
from ("src/test/java") {
|
||||
into 'test/java'
|
||||
}
|
||||
}
|
||||
|
||||
task zip(type: Zip) {
|
||||
dependsOn asciidoctor,
|
||||
asciidoctorMultipage,
|
||||
asciidoctorPdf,
|
||||
configurations.gradlePluginDocumentation,
|
||||
configurations.actuatorApiDocumentation,
|
||||
configurations.mavenPluginDocumentation
|
||||
duplicatesStrategy 'fail'
|
||||
from(asciidoctor.outputDir) {
|
||||
into 'reference/htmlsingle'
|
||||
}
|
||||
from(asciidoctorPdf.outputDir) {
|
||||
into 'reference/pdf'
|
||||
}
|
||||
from(asciidoctorMultipage.outputDir) {
|
||||
into 'reference/html'
|
||||
}
|
||||
from(javadoc) {
|
||||
into 'api'
|
||||
}
|
||||
into('gradle-plugin') {
|
||||
from {
|
||||
zipTree(configurations.gradlePluginDocumentation.singleFile)
|
||||
}
|
||||
}
|
||||
into('actuator-api') {
|
||||
from {
|
||||
zipTree(configurations.actuatorApiDocumentation.singleFile)
|
||||
}
|
||||
}
|
||||
into('maven-plugin') {
|
||||
from {
|
||||
zipTree(configurations.mavenPluginDocumentation.singleFile)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
artifacts {
|
||||
archives zip
|
||||
}
|
||||
|
||||
publishing {
|
||||
publications {
|
||||
deployment(MavenPublication) {
|
||||
artifact zip
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
||||
[appendix]
|
||||
[[common-application-properties]]
|
||||
= Common Application properties
|
||||
include::{asciidoc-sources-root}/attributes.adoc[]
|
||||
include::attributes.adoc[]
|
||||
|
||||
Various properties can be specified inside your `application.properties` file, inside your `application.yml` file, or as command line switches.
|
||||
This appendix provides a list of common Spring Boot properties and references to the underlying classes that consume them.
|
||||
@@ -15,64 +15,64 @@ Also, you can define your own properties.
|
||||
|
||||
== Core properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/core.adoc[]
|
||||
include::config-docs/core.adoc[]
|
||||
|
||||
== Cache properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/cache.adoc[]
|
||||
include::config-docs/cache.adoc[]
|
||||
|
||||
== Mail properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/mail.adoc[]
|
||||
include::config-docs/mail.adoc[]
|
||||
|
||||
== JSON properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/json.adoc[]
|
||||
include::config-docs/json.adoc[]
|
||||
|
||||
== Data properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/data.adoc[]
|
||||
include::config-docs/data.adoc[]
|
||||
|
||||
== Transaction properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/transaction.adoc[]
|
||||
include::config-docs/transaction.adoc[]
|
||||
|
||||
== Data migration properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/data-migration.adoc[]
|
||||
include::config-docs/data-migration.adoc[]
|
||||
|
||||
== Integration properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/integration.adoc[]
|
||||
include::config-docs/integration.adoc[]
|
||||
|
||||
== Web properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/web.adoc[]
|
||||
include::config-docs/web.adoc[]
|
||||
|
||||
== Templating properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/templating.adoc[]
|
||||
include::config-docs/templating.adoc[]
|
||||
|
||||
== Server properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/server.adoc[]
|
||||
include::config-docs/server.adoc[]
|
||||
|
||||
== Security properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/security.adoc[]
|
||||
include::config-docs/security.adoc[]
|
||||
|
||||
== RSocket properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/rsocket.adoc[]
|
||||
include::config-docs/rsocket.adoc[]
|
||||
|
||||
== Actuator properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/actuator.adoc[]
|
||||
include::config-docs/actuator.adoc[]
|
||||
|
||||
== Devtools properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/devtools.adoc[]
|
||||
include::config-docs/devtools.adoc[]
|
||||
|
||||
== Testing properties
|
||||
|
||||
include::{generated-resources-root}/config-docs/testing.adoc[]
|
||||
include::config-docs/testing.adoc[]
|
||||
@@ -1,7 +1,7 @@
|
||||
[appendix]
|
||||
[[auto-configuration-classes]]
|
||||
= Auto-configuration Classes
|
||||
include::{asciidoc-sources-root}/attributes.adoc[]
|
||||
include::attributes.adoc[]
|
||||
|
||||
This appendix contains details of all of the auto-configuration classes provided by Spring Boot, with links to documentation and source code.
|
||||
Remember to also look at the conditions report in your application for more details of which features are switched on.
|
||||
@@ -13,7 +13,7 @@ Remember to also look at the conditions report in your application for more deta
|
||||
== `spring-boot-autoconfigure`
|
||||
The following auto-configuration classes are from the `spring-boot-autoconfigure` module:
|
||||
|
||||
include::{generated-resources-root}/auto-configuration-classes-spring-boot-autoconfigure.adoc[]
|
||||
include::auto-configuration-classes/spring-boot-autoconfigure.adoc[]
|
||||
|
||||
|
||||
|
||||
@@ -21,4 +21,4 @@ include::{generated-resources-root}/auto-configuration-classes-spring-boot-autoc
|
||||
== `spring-boot-actuator-autoconfigure`
|
||||
The following auto-configuration classes are from the `spring-boot-actuator-autoconfigure` module:
|
||||
|
||||
include::{generated-resources-root}/auto-configuration-classes-spring-boot-actuator-autoconfigure.adoc[]
|
||||
include::auto-configuration-classes/spring-boot-actuator-autoconfigure.adoc[]
|
||||
@@ -1,7 +1,7 @@
|
||||
[appendix]
|
||||
[[configuration-metadata]]
|
||||
= Configuration Metadata
|
||||
include::{asciidoc-sources-root}/attributes.adoc[]
|
||||
include::attributes.adoc[]
|
||||
|
||||
Spring Boot jars include metadata files that provide details of all supported configuration properties.
|
||||
The files are designed to let IDE developers offer contextual help and "`code completion`" as users are working with `application.properties` or `application.yml` files.
|
||||
@@ -1,7 +1,7 @@
|
||||
[appendix]
|
||||
[[dependency-versions]]
|
||||
= Dependency versions
|
||||
include::{asciidoc-sources-root}/attributes.adoc[]
|
||||
include::attributes.adoc[]
|
||||
|
||||
This appendix provides details of the dependencies that are managed by Spring Boot.
|
||||
|
||||
@@ -11,4 +11,4 @@ This appendix provides details of the dependencies that are managed by Spring Bo
|
||||
The following table provides details of all of the dependency versions that are provided by Spring Boot in its CLI (Command Line Interface), Maven dependency management, and Gradle plugin.
|
||||
When you declare a dependency on one of these artifacts without declaring a version, the version listed in the table is used.
|
||||
|
||||
include::{generated-resources-root}/effective-pom.adoc[]
|
||||
include::dependency-versions.adoc[]
|
||||
@@ -1,7 +1,7 @@
|
||||
[appendix]
|
||||
[[executable-jar]]
|
||||
= The Executable Jar Format
|
||||
include::{asciidoc-sources-root}/attributes.adoc[]
|
||||
include::attributes.adoc[]
|
||||
|
||||
The `spring-boot-loader` modules lets Spring Boot support executable jar and war files.
|
||||
If you use the Maven plugin or the Gradle plugin, executable jars are automatically generated, and you generally do not need to know the details of how they work.
|
||||
@@ -1,7 +1,7 @@
|
||||
[appendix]
|
||||
[[test-auto-configuration]]
|
||||
= Test Auto-configuration Annotations
|
||||
include::{asciidoc-sources-root}/attributes.adoc[]
|
||||
include::attributes.adoc[]
|
||||
|
||||
This appendix describes the `@…Test` auto-configuration annotations that Spring Boot provides to test slices of your application.
|
||||
|
||||
@@ -10,4 +10,4 @@ This appendix describes the `@…Test` auto-configuration annotations that Sprin
|
||||
|
||||
The following table lists the various `@…Test` annotations that can be used to test slices of your application and the auto-configuration that they import by default:
|
||||
|
||||
include::{generated-resources-root}/test-slice-auto-configuration.adoc[]
|
||||
include::test-slice-auto-configuration.adoc[]
|
||||
@@ -20,8 +20,8 @@
|
||||
:github-issues: https://github.com/{github-repo}/issues/
|
||||
:github-wiki: https://github.com/{github-repo}/wiki
|
||||
|
||||
:code-examples: {sources-root}/main/java/org/springframework/boot/docs
|
||||
:test-examples: {sources-root}/test/java/org/springframework/boot/docs
|
||||
:code-examples: ../main/java/org/springframework/boot/docs
|
||||
:test-examples: ../test/java/org/springframework/boot/docs
|
||||
|
||||
:spring-boot-code: https://github.com/{github-repo}/tree/{github-tag}
|
||||
:spring-boot-api: https://docs.spring.io/spring-boot/docs/{spring-boot-version}/api/
|
||||
@@ -258,17 +258,17 @@ For example, a third-party starter project called `thirdpartyproject` would typi
|
||||
The following application starters are provided by Spring Boot under the `org.springframework.boot` group:
|
||||
|
||||
.Spring Boot application starters
|
||||
include::{generated-resources-root}/application-starters.adoc[]
|
||||
include::starters/application-starters.adoc[]
|
||||
|
||||
In addition to the application starters, the following starters can be used to add _<<production-ready-features.adoc#production-ready, production ready>>_ features:
|
||||
|
||||
.Spring Boot production starters
|
||||
include::{generated-resources-root}/production-starters.adoc[]
|
||||
include::starters/production-starters.adoc[]
|
||||
|
||||
Finally, Spring Boot also includes the following starters that can be used if you want to exclude or swap specific technical facets:
|
||||
|
||||
.Spring Boot technical starters
|
||||
include::{generated-resources-root}/technical-starters.adoc[]
|
||||
include::starters/technical-starters.adoc[]
|
||||
|
||||
TIP: For a list of additional community contributed starters, see the {spring-boot-master-code}/spring-boot-project/spring-boot-starters/README.adoc[README file] in the `spring-boot-starters` module on GitHub.
|
||||
|
||||
Reference in New Issue
Block a user