You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
spring-boot/spring-boot-project/spring-boot-actuator-autoco.../build.gradle

200 lines
8.0 KiB
Groovy

plugins {
id "java-library"
id "org.asciidoctor.jvm.convert"
id "org.asciidoctor.jvm.pdf"
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 {
asciidoctorExtensions {
extendsFrom dependencyManagement
}
documentation
}
dependencies {
asciidoctorExtensions("org.springframework.restdocs:spring-restdocs-asciidoctor")
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")
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-jersey2")
optional("io.micrometer:micrometer-registry-appoptics")
optional("io.micrometer:micrometer-registry-atlas")
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")
optional("io.prometheus:simpleclient_pushgateway")
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.servlet:jakarta.servlet-api")
optional("javax.cache:cache-api")
optional("net.sf.ehcache:ehcache")
optional("org.apache.activemq:activemq-broker")
optional("org.apache.commons:commons-dbcp2")
optional("org.apache.kafka:kafka-clients")
optional("org.apache.kafka:kafka-streams")
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.eclipse.jetty:jetty-server")
optional("org.elasticsearch:elasticsearch")
optional("org.elasticsearch.client:elasticsearch-rest-client")
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")
optional("org.hibernate.validator:hibernate-validator")
optional("org.influxdb:influxdb-java")
optional("org.jolokia:jolokia-core")
optional("org.liquibase:liquibase-core")
optional("org.mongodb:mongodb-driver-reactivestreams")
optional("org.mongodb:mongodb-driver-sync")
optional("org.neo4j.driver:neo4j-java-driver")
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")
optional("org.springframework.data:spring-data-couchbase")
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")
optional("org.springframework.data:spring-data-solr")
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.2_spec"
exclude group: "org.jboss.spec.javax.servlet", module: "jboss-servlet-api_4.0_spec"
}
testImplementation("javax.xml.bind:jaxb-api")
testImplementation("org.apache.logging.log4j:log4j-to-slf4j")
testImplementation("org.aspectj:aspectjrt")
testImplementation("org.assertj:assertj-core")
testImplementation("org.eclipse.jetty:jetty-webapp")
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.skyscreamer:jsonassert")
testImplementation("org.springframework:spring-orm")
testImplementation("org.springframework.data:spring-data-elasticsearch") {
exclude group: "org.elasticsearch.client", module: "transport"
}
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("org.junit.platform:junit-platform-launcher")
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")
}
test {
outputs.dir("${buildDir}/generated-snippets")
}
task dependencyVersions(type: org.springframework.boot.build.constraints.ExtractVersionConstraints) {
enforcedPlatform(":spring-boot-project:spring-boot-dependencies")
}
tasks.withType(org.asciidoctor.gradle.jvm.AbstractAsciidoctorTask) {
dependsOn dependencyVersions
baseDirFollowsSourceDir()
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
}
}
asciidoctor {
configurations "asciidoctorExtensions"
dependsOn test
sources {
include "index.adoc"
}
}
asciidoctorPdf {
configurations "asciidoctorExtensions"
dependsOn test
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 "html"
}
}
artifacts {
documentation zip
}