You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
257 lines
11 KiB
257 lines
11 KiB
plugins { |
|
id "java-library" |
|
id "org.asciidoctor.jvm.convert" |
|
id "org.springframework.boot.auto-configuration" |
|
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.sun.mail:jakarta.mail") |
|
optional("com.zaxxer:HikariCP") |
|
optional("io.dropwizard.metrics:metrics-jmx") |
|
optional("io.lettuce:lettuce-core") |
|
optional("io.micrometer:micrometer-core") |
|
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-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.projectreactor.netty:reactor-netty-http") |
|
optional("io.r2dbc:r2dbc-pool") |
|
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("net.sf.ehcache:ehcache") |
|
optional("org.apache.activemq:activemq-broker") { |
|
exclude group: "org.apache.geronimo.specs", module: "geronimo-jms_1.1_spec" |
|
exclude group: "org.apache.geronimo.specs", module: "geronimo-j2ee-management_1.1_spec" |
|
} |
|
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.solr:solr-solrj") { |
|
exclude group: "org.slf4j", module: "jcl-over-slf4j" |
|
} |
|
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.jetty:jetty-server") { |
|
exclude group: "javax.servlet", module: "javax.servlet-api" |
|
} |
|
optional("org.elasticsearch:elasticsearch") |
|
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:hibernate-core") { |
|
exclude group: "javax.activation", module: "javax.activation-api" |
|
exclude group: "javax.persistence", module: "javax.persistence-api" |
|
exclude group: "javax.xml.bind", module: "jaxb-api" |
|
exclude group: "org.jboss.spec.javax.transaction", module: "jboss-transaction-api_1.2_spec" |
|
} |
|
optional("org.hibernate:hibernate-micrometer") { |
|
exclude group: "javax.activation", module: "javax.activation-api" |
|
exclude group: "javax.persistence", module: "javax.persistence-api" |
|
exclude group: "javax.xml.bind", module: "jaxb-api" |
|
exclude group: "org.jboss.spec.javax.transaction", module: "jboss-transaction-api_1.2_spec" |
|
} |
|
optional("org.hibernate.validator:hibernate-validator") |
|
optional("org.influxdb:influxdb-java") |
|
optional("org.jolokia:jolokia-core") |
|
optional("org.liquibase:liquibase-core") { |
|
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.data:spring-data-cassandra") { |
|
exclude group: "org.slf4j", module: "jcl-over-slf4j" |
|
} |
|
optional("org.springframework.data:spring-data-couchbase") { |
|
exclude group: "com.querydsl", module: "querydsl-apt" |
|
exclude group: "javax.annotation", module: "javax.annotation-api" |
|
} |
|
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.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") { |
|
exclude group: "org.jboss.spec.javax.annotation", module: "jboss-annotations-api_1.3_spec" |
|
exclude group: "org.jboss.spec.javax.servlet", module: "jboss-servlet-api_4.0_spec" |
|
} |
|
testImplementation("jakarta.xml.bind:jakarta.xml.bind-api") |
|
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:jetty-webapp") { |
|
exclude group: "javax.servlet", module: "javax.servlet-api" |
|
} |
|
testImplementation("org.glassfish.jersey.ext:jersey-spring5") |
|
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-orm") |
|
testImplementation("org.springframework.data:spring-data-rest-webmvc") |
|
testImplementation("org.springframework.integration:spring-integration-jmx") |
|
testImplementation("org.springframework.restdocs:spring-restdocs-mockmvc") { |
|
exclude group: "javax.servlet", module: "javax.servlet-api" |
|
} |
|
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.springframework.security:spring-security-oauth2-jose") |
|
testRuntimeOnly("org.springframework.security:spring-security-oauth2-resource-server") |
|
testRuntimeOnly("org.springframework.security:spring-security-saml2-service-provider") |
|
} |
|
|
|
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") { |
|
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.*") |
|
} |
|
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") |
|
}
|
|
|