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 documentation } dependencies { asciidoctorExtensions enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies')) asciidoctorExtensions 'org.springframework.restdocs:spring-restdocs-asciidoctor' api project(':spring-boot-project:spring-boot-actuator') implementation enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies')) implementation project(':spring-boot-project:spring-boot') implementation project(':spring-boot-project:spring-boot-autoconfigure') implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310' implementation 'org.springframework:spring-core' implementation 'org.springframework:spring-context' optional enforcedPlatform(project(':spring-boot-project:spring-boot-dependencies')) optional 'ch.qos.logback:logback-classic' 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' optional 'io.searchbox:jest' 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.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.infinispan:infinispan-spring4-embedded' optional 'org.liquibase:liquibase-core' optional 'org.mongodb:mongodb-driver-async' optional 'org.mongodb:mongodb-driver-reactivestreams' 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-neo4j' optional 'org.springframework.data:spring-data-redis' optional 'org.springframework.data:spring-data-solr' optional 'org.springframework.integration:spring-integration-core' 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 '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-spring4' 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' 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' } compileJava { options.compilerArgs << '-parameters' } compileTestJava { options.compilerArgs << '-parameters' } test { outputs.dir("$buildDir/generated-snippets") } 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' } from(asciidoctor.outputDir) { into 'html' } } artifacts { documentation zip }