mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-09-03 04:26:12 +08:00
260 lines
11 KiB
Groovy
260 lines
11 KiB
Groovy
plugins {
|
|
id "java-library"
|
|
id "org.asciidoctor.jvm.convert"
|
|
id "org.springframework.boot.auto-configuration"
|
|
id "org.springframework.boot.configuration-properties"
|
|
id "org.springframework.boot.conventions"
|
|
id "org.springframework.boot.deployed"
|
|
id "org.springframework.boot.optional-dependencies"
|
|
}
|
|
|
|
description = "Spring Boot Actuator AutoConfigure"
|
|
|
|
configurations {
|
|
documentation
|
|
}
|
|
|
|
dependencies {
|
|
asciidoctorExtensions("org.springframework.restdocs:spring-restdocs-asciidoctor")
|
|
asciidoctorExtensions("io.spring.asciidoctor:spring-asciidoctor-extensions-section-ids")
|
|
|
|
api(project(":spring-boot-project:spring-boot-actuator"))
|
|
api(project(":spring-boot-project:spring-boot"))
|
|
api(project(":spring-boot-project:spring-boot-autoconfigure"))
|
|
|
|
implementation("com.fasterxml.jackson.core:jackson-databind")
|
|
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
|
|
|
|
optional("ch.qos.logback:logback-classic")
|
|
optional("com.datastax.oss:java-driver-core") {
|
|
exclude group: "org.slf4j", module: "jcl-over-slf4j"
|
|
}
|
|
optional("com.fasterxml.jackson.dataformat:jackson-dataformat-xml")
|
|
optional("com.github.ben-manes.caffeine:caffeine")
|
|
optional("com.hazelcast:hazelcast")
|
|
optional("com.hazelcast:hazelcast-spring")
|
|
optional("com.zaxxer:HikariCP")
|
|
optional("io.dropwizard.metrics:metrics-jmx")
|
|
optional("io.lettuce:lettuce-core")
|
|
optional("io.micrometer:micrometer-observation")
|
|
optional("io.micrometer:micrometer-jakarta9")
|
|
optional("io.micrometer:micrometer-tracing")
|
|
optional("io.micrometer:micrometer-tracing-bridge-brave")
|
|
optional("io.micrometer:micrometer-tracing-bridge-otel")
|
|
optional("io.micrometer:micrometer-tracing-reporter-wavefront")
|
|
optional("io.micrometer:micrometer-registry-appoptics")
|
|
optional("io.micrometer:micrometer-registry-atlas") {
|
|
exclude group: "javax.inject", module: "javax.inject"
|
|
}
|
|
optional("io.micrometer:micrometer-registry-datadog")
|
|
optional("io.micrometer:micrometer-registry-dynatrace")
|
|
optional("io.micrometer:micrometer-registry-elastic")
|
|
optional("io.micrometer:micrometer-registry-ganglia")
|
|
optional("io.micrometer:micrometer-registry-graphite")
|
|
optional("io.micrometer:micrometer-registry-humio")
|
|
optional("io.micrometer:micrometer-registry-influx")
|
|
optional("io.micrometer:micrometer-registry-jmx")
|
|
optional("io.micrometer:micrometer-registry-kairos")
|
|
optional("io.micrometer:micrometer-registry-new-relic")
|
|
optional("io.micrometer:micrometer-registry-otlp")
|
|
optional("io.micrometer:micrometer-registry-prometheus")
|
|
optional("io.micrometer:micrometer-registry-stackdriver") {
|
|
exclude group: "commons-logging", module: "commons-logging"
|
|
exclude group: "javax.annotation", module: "javax.annotation-api"
|
|
}
|
|
optional("io.prometheus:simpleclient_pushgateway") {
|
|
exclude group: "javax.xml.bind", module: "jaxb-api"
|
|
}
|
|
optional("io.micrometer:micrometer-registry-signalfx")
|
|
optional("io.micrometer:micrometer-registry-statsd")
|
|
optional("io.micrometer:micrometer-registry-wavefront")
|
|
optional("io.zipkin.reporter2:zipkin-reporter-brave")
|
|
optional("io.zipkin.reporter2:zipkin-sender-urlconnection")
|
|
optional("io.opentelemetry:opentelemetry-exporter-zipkin")
|
|
optional("io.opentelemetry:opentelemetry-exporter-otlp")
|
|
optional("io.projectreactor.netty:reactor-netty-http")
|
|
optional("io.r2dbc:r2dbc-pool")
|
|
optional("io.r2dbc:r2dbc-proxy")
|
|
optional("io.r2dbc:r2dbc-spi")
|
|
optional("jakarta.jms:jakarta.jms-api")
|
|
optional("jakarta.persistence:jakarta.persistence-api")
|
|
optional("jakarta.servlet:jakarta.servlet-api")
|
|
optional("javax.cache:cache-api")
|
|
optional("org.apache.activemq:activemq-client-jakarta")
|
|
optional("org.apache.commons:commons-dbcp2") {
|
|
exclude group: "commons-logging", module: "commons-logging"
|
|
}
|
|
optional("org.apache.kafka:kafka-clients")
|
|
optional("org.apache.kafka:kafka-streams")
|
|
optional("org.apache.logging.log4j:log4j-api")
|
|
optional("org.apache.tomcat.embed:tomcat-embed-core")
|
|
optional("org.apache.tomcat.embed:tomcat-embed-el")
|
|
optional("org.apache.tomcat:tomcat-jdbc")
|
|
optional("org.aspectj:aspectjweaver")
|
|
optional("org.cache2k:cache2k-micrometer")
|
|
optional("org.cache2k:cache2k-spring")
|
|
optional("org.eclipse.angus:angus-mail")
|
|
optional("org.eclipse.jetty:jetty-server") {
|
|
exclude group: "org.eclipse.jetty.toolchain", module: "jetty-jakarta-servlet-api"
|
|
}
|
|
optional("org.elasticsearch.client:elasticsearch-rest-client") {
|
|
exclude group: "commons-logging", module: "commons-logging"
|
|
}
|
|
optional("org.flywaydb:flyway-core")
|
|
optional("org.glassfish.jersey.core:jersey-server")
|
|
optional("org.glassfish.jersey.containers:jersey-container-servlet-core")
|
|
optional("org.hibernate.orm:hibernate-core")
|
|
optional("org.hibernate.orm:hibernate-micrometer")
|
|
optional("org.hibernate.validator:hibernate-validator")
|
|
optional("org.influxdb:influxdb-java")
|
|
optional("org.liquibase:liquibase-core") {
|
|
exclude group: "javax.activation", module: "javax.activation-api"
|
|
exclude group: "javax.xml.bind", module: "jaxb-api"
|
|
}
|
|
optional("org.mongodb:mongodb-driver-reactivestreams")
|
|
optional("org.mongodb:mongodb-driver-sync")
|
|
optional("org.neo4j.driver:neo4j-java-driver")
|
|
optional("org.quartz-scheduler:quartz")
|
|
optional("org.springframework:spring-jdbc")
|
|
optional("org.springframework:spring-jms")
|
|
optional("org.springframework:spring-messaging")
|
|
optional("org.springframework:spring-webflux")
|
|
optional("org.springframework:spring-webmvc")
|
|
optional("org.springframework.amqp:spring-rabbit")
|
|
optional("org.springframework.batch:spring-batch-core")
|
|
optional("org.springframework.data:spring-data-cassandra") {
|
|
exclude group: "org.slf4j", module: "jcl-over-slf4j"
|
|
}
|
|
optional("org.springframework.data:spring-data-couchbase")
|
|
optional("org.springframework.data:spring-data-jpa")
|
|
optional("org.springframework.data:spring-data-ldap")
|
|
optional("org.springframework.data:spring-data-mongodb")
|
|
optional("org.springframework.data:spring-data-redis")
|
|
optional("org.springframework.data:spring-data-elasticsearch") {
|
|
exclude group: "commons-logging", module: "commons-logging"
|
|
}
|
|
optional("org.springframework.graphql:spring-graphql")
|
|
optional("org.springframework.integration:spring-integration-core")
|
|
optional("org.springframework.kafka:spring-kafka")
|
|
optional("org.springframework.security:spring-security-config")
|
|
optional("org.springframework.security:spring-security-web")
|
|
optional("org.springframework.session:spring-session-core")
|
|
optional("redis.clients:jedis")
|
|
|
|
testImplementation(project(":spring-boot-project:spring-boot-test"))
|
|
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
|
|
testImplementation("io.micrometer:micrometer-observation-test")
|
|
testImplementation("io.projectreactor:reactor-test")
|
|
testImplementation("io.r2dbc:r2dbc-h2")
|
|
testImplementation("com.squareup.okhttp3:mockwebserver")
|
|
testImplementation("com.jayway.jsonpath:json-path")
|
|
testImplementation("io.undertow:undertow-core")
|
|
testImplementation("io.undertow:undertow-servlet")
|
|
testImplementation("jakarta.xml.bind:jakarta.xml.bind-api")
|
|
testImplementation("org.apache.activemq:artemis-jakarta-client") {
|
|
exclude group: "commons-logging", module: "commons-logging"
|
|
}
|
|
testImplementation("org.apache.activemq:artemis-jakarta-server") {
|
|
exclude group: "commons-logging", module: "commons-logging"
|
|
}
|
|
testImplementation("org.apache.logging.log4j:log4j-to-slf4j")
|
|
testImplementation("org.aspectj:aspectjrt")
|
|
testImplementation("org.assertj:assertj-core")
|
|
testImplementation("org.awaitility:awaitility")
|
|
testImplementation("org.cache2k:cache2k-api")
|
|
testImplementation("org.eclipse.jetty.ee10:jetty-ee10-webapp")
|
|
testImplementation("org.glassfish.jersey.ext:jersey-spring6")
|
|
testImplementation("org.glassfish.jersey.media:jersey-media-json-jackson")
|
|
testImplementation("org.hamcrest:hamcrest")
|
|
testImplementation("org.hsqldb:hsqldb")
|
|
testImplementation("org.junit.jupiter:junit-jupiter")
|
|
testImplementation("org.mockito:mockito-core")
|
|
testImplementation("org.mockito:mockito-junit-jupiter")
|
|
testImplementation("org.skyscreamer:jsonassert")
|
|
testImplementation("org.springframework:spring-core-test")
|
|
testImplementation("org.springframework:spring-orm")
|
|
testImplementation("org.springframework.data:spring-data-rest-webmvc")
|
|
testImplementation("org.springframework.integration:spring-integration-jmx")
|
|
testImplementation("org.springframework.restdocs:spring-restdocs-mockmvc")
|
|
testImplementation("org.springframework.restdocs:spring-restdocs-webtestclient")
|
|
testImplementation("org.springframework.security:spring-security-test")
|
|
testImplementation("org.yaml:snakeyaml")
|
|
|
|
testRuntimeOnly("jakarta.management.j2ee:jakarta.management.j2ee-api")
|
|
testRuntimeOnly("jakarta.transaction:jakarta.transaction-api")
|
|
testRuntimeOnly("org.cache2k:cache2k-core")
|
|
testRuntimeOnly("org.opensaml:opensaml-core:4.0.1")
|
|
testRuntimeOnly("org.opensaml:opensaml-saml-api:4.0.1")
|
|
testRuntimeOnly("org.opensaml:opensaml-saml-impl:4.0.1")
|
|
testRuntimeOnly("org.springframework:spring-aspects")
|
|
testRuntimeOnly("org.springframework.security:spring-security-oauth2-jose")
|
|
testRuntimeOnly("org.springframework.security:spring-security-oauth2-resource-server")
|
|
testRuntimeOnly("org.springframework.security:spring-security-saml2-service-provider") {
|
|
exclude group: "org.opensaml", module: "opensaml-core"
|
|
exclude group: "org.opensaml", module: "opensaml-saml-api"
|
|
exclude group: "org.opensaml", module: "opensaml-saml-impl"
|
|
}
|
|
}
|
|
|
|
task dependencyVersions(type: org.springframework.boot.build.constraints.ExtractVersionConstraints) {
|
|
enforcedPlatform(":spring-boot-project:spring-boot-dependencies")
|
|
}
|
|
|
|
asciidoctor {
|
|
sources {
|
|
include "index.adoc"
|
|
}
|
|
}
|
|
|
|
task asciidoctorPdf(type: org.asciidoctor.gradle.jvm.AsciidoctorTask) {
|
|
sources {
|
|
include "index.adoc"
|
|
}
|
|
}
|
|
|
|
task zip(type: Zip) {
|
|
dependsOn asciidoctor, asciidoctorPdf
|
|
duplicatesStrategy "fail"
|
|
from(asciidoctorPdf.outputDir) {
|
|
into "pdf"
|
|
rename { "spring-boot-actuator-web-api.pdf" }
|
|
}
|
|
from(asciidoctor.outputDir) {
|
|
into "htmlsingle"
|
|
}
|
|
}
|
|
|
|
artifacts {
|
|
documentation zip
|
|
}
|
|
|
|
tasks.named("test") {
|
|
jvmArgs += "--add-opens=java.base/java.net=ALL-UNNAMED"
|
|
filter {
|
|
excludeTestsMatching("org.springframework.boot.actuate.autoconfigure.endpoint.web.documentation.*")
|
|
}
|
|
}
|
|
|
|
def documentationTest = tasks.register("documentationTest", Test) {
|
|
filter {
|
|
includeTestsMatching("org.springframework.boot.actuate.autoconfigure.endpoint.web.documentation.*")
|
|
}
|
|
jvmArgs += "--add-opens=java.base/java.net=ALL-UNNAMED"
|
|
outputs.dir("${buildDir}/generated-snippets")
|
|
predictiveSelection {
|
|
enabled = false
|
|
}
|
|
}
|
|
|
|
tasks.withType(org.asciidoctor.gradle.jvm.AbstractAsciidoctorTask) {
|
|
dependsOn dependencyVersions
|
|
doFirst {
|
|
def versionConstraints = dependencyVersions.versionConstraints
|
|
def integrationVersion = versionConstraints["org.springframework.integration:spring-integration-core"]
|
|
def integrationDocs = String.format("https://docs.spring.io/spring-integration/docs/%s/reference/html/", integrationVersion)
|
|
attributes "spring-integration-docs": integrationDocs
|
|
}
|
|
dependsOn documentationTest
|
|
inputs.dir("${buildDir}/generated-snippets").withPathSensitivity(PathSensitivity.RELATIVE).withPropertyName("generatedSnippets")
|
|
}
|