/* * Copyright 2012-present the original author or authors. * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ plugins { id "java-library" id "org.springframework.boot.configuration-properties" id "org.springframework.boot.deployed" id "org.springframework.boot.docker-test" id "org.springframework.boot.optional-dependencies" } description = "Spring Boot Test AutoConfigure" configurations.all { resolutionStrategy.eachDependency { if (it.requested.group == 'org.opensaml') { it.useVersion '4.0.1' } } } dependencies { api(project(":core:spring-boot")) api(project(":core:spring-boot-autoconfigure")) api(project(":core:spring-boot-test")) compileOnly("org.mockito:mockito-core") optional(project(":module:spring-boot-cache")) optional(project(":module:spring-boot-data-cassandra")) optional(project(":module:spring-boot-data-commons")) optional(project(":module:spring-boot-data-couchbase")) optional(project(":module:spring-boot-data-elasticsearch")) optional(project(":module:spring-boot-data-jdbc")) optional(project(":module:spring-boot-data-jpa")) optional(project(":module:spring-boot-data-ldap")) optional(project(":module:spring-boot-data-mongodb")) optional(project(":module:spring-boot-data-neo4j")) optional(project(":module:spring-boot-data-r2dbc")) optional(project(":module:spring-boot-data-redis")) optional(project(":module:spring-boot-flyway")) optional(project(":module:spring-boot-graphql")) optional(project(":module:spring-boot-groovy-templates")) optional(project(":module:spring-boot-hateoas")) optional(project(":module:spring-boot-http-converter")) optional(project(":module:spring-boot-http-codec")) optional(project(":module:spring-boot-jackson")) optional(project(":module:spring-boot-jdbc")) optional(project(":module:spring-boot-jooq")) optional(project(":module:spring-boot-jsonb")) optional(project(":module:spring-boot-liquibase")) { exclude(group: "org.liquibase") } optional(project(":module:spring-boot-metrics")) optional(project(":module:spring-boot-mongodb")) optional(project(":module:spring-boot-observation")) optional(project(":module:spring-boot-r2dbc")) optional(project(":module:spring-boot-reactor-netty")) optional(project(":module:spring-boot-restclient")) optional(project(":module:spring-boot-restclient-test")) optional(project(":module:spring-boot-security")) optional(project(":module:spring-boot-security-oauth2-client")) optional(project(":module:spring-boot-security-oauth2-resource-server")) optional(project(":module:spring-boot-security-saml2")) optional(project(":module:spring-boot-tracing")) optional(project(":module:spring-boot-tx")) optional(project(":module:spring-boot-validation")) optional(project(":module:spring-boot-web-server-test")) optional(project(":module:spring-boot-webclient")) optional(project(":module:spring-boot-webflux")) optional(project(":module:spring-boot-webmvc")) optional(project(":module:spring-boot-webservices")) optional("jakarta.json.bind:jakarta.json.bind-api") optional("jakarta.persistence:jakarta.persistence-api") optional("jakarta.servlet:jakarta.servlet-api") optional("jakarta.transaction:jakarta.transaction-api") optional("com.fasterxml.jackson.core:jackson-databind") optional("com.google.code.gson:gson") optional("com.jayway.jsonpath:json-path") optional("com.sun.xml.messaging.saaj:saaj-impl") optional("org.hibernate.orm:hibernate-core") optional("org.htmlunit:htmlunit") optional("org.junit.jupiter:junit-jupiter-api") optional("org.seleniumhq.selenium:htmlunit3-driver") { exclude(group: "com.sun.activation", module: "jakarta.activation") } optional("org.seleniumhq.selenium:selenium-api") optional("org.springframework:spring-orm") optional("org.springframework:spring-test") optional("org.springframework:spring-web") optional("org.springframework:spring-webflux") optional("org.springframework.data:spring-data-couchbase") optional("org.springframework.data:spring-data-jdbc") 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-r2dbc") optional("org.springframework.data:spring-data-redis") optional("org.springframework.graphql:spring-graphql-test") optional("org.springframework.restdocs:spring-restdocs-mockmvc") optional("org.springframework.restdocs:spring-restdocs-restassured") optional("org.springframework.restdocs:spring-restdocs-webtestclient") optional("org.springframework.security:spring-security-config") optional("org.springframework.security:spring-security-test") optional("org.springframework.ws:spring-ws-core") optional("org.springframework.ws:spring-ws-test") optional("org.apache.tomcat.embed:tomcat-embed-core") optional("org.mongodb:mongodb-driver-reactivestreams") optional("org.mongodb:mongodb-driver-sync") optional("io.micrometer:micrometer-tracing") dockerTestImplementation(project(":core:spring-boot-docker-compose")) dockerTestImplementation(project(":core:spring-boot-testcontainers")) dockerTestImplementation(project(":module:spring-boot-data-mongodb")) dockerTestImplementation(project(":module:spring-boot-tx")) dockerTestImplementation(project(":test-support:spring-boot-docker-test-support")) dockerTestImplementation("com.zaxxer:HikariCP") dockerTestImplementation("io.projectreactor:reactor-test") dockerTestImplementation("com.redis:testcontainers-redis") dockerTestImplementation("com.h2database:h2") dockerTestImplementation("org.assertj:assertj-core") dockerTestImplementation("org.elasticsearch.client:elasticsearch-rest-client") dockerTestImplementation("org.junit.jupiter:junit-jupiter") dockerTestImplementation("org.postgresql:postgresql") dockerTestImplementation("org.testcontainers:cassandra") dockerTestImplementation("org.testcontainers:couchbase") dockerTestImplementation("org.testcontainers:elasticsearch") dockerTestImplementation("org.testcontainers:junit-jupiter") dockerTestImplementation("org.testcontainers:mongodb") dockerTestImplementation("org.testcontainers:neo4j") dockerTestImplementation("org.testcontainers:postgresql") dockerTestImplementation("org.testcontainers:testcontainers") dockerTestRuntimeOnly("io.lettuce:lettuce-core") dockerTestRuntimeOnly("org.springframework.data:spring-data-redis") testImplementation(project(":core:spring-boot-testcontainers")) testImplementation(project(":module:spring-boot-actuator")) testImplementation(project(":module:spring-boot-actuator-autoconfigure")) testImplementation(project(":module:spring-boot-freemarker")) testImplementation(project(":module:spring-boot-gson")) testImplementation(project(":module:spring-boot-mustache")) testImplementation(project(":module:spring-boot-reactor")) testImplementation(project(":module:spring-boot-thymeleaf")) testImplementation(project(":test-support:spring-boot-test-support")) testImplementation("ch.qos.logback:logback-classic") testImplementation("com.fasterxml.jackson.module:jackson-module-parameter-names") testImplementation("com.h2database:h2") testImplementation("com.unboundid:unboundid-ldapsdk") testImplementation("io.lettuce:lettuce-core") testImplementation("io.micrometer:micrometer-registry-prometheus") testImplementation("io.projectreactor.netty:reactor-netty-http") testImplementation("io.projectreactor:reactor-test") testImplementation("io.r2dbc:r2dbc-h2") testImplementation("jakarta.json:jakarta.json-api") testImplementation("org.apache.commons:commons-pool2") testImplementation("org.apache.tomcat.embed:tomcat-embed-el") testImplementation("org.aspectj:aspectjrt") testImplementation("org.aspectj:aspectjweaver") testImplementation("org.eclipse:yasson") testImplementation("org.hibernate.validator:hibernate-validator") testImplementation("org.hsqldb:hsqldb") testImplementation("org.jooq:jooq") testImplementation("org.junit.platform:junit-platform-engine") testImplementation("org.junit.platform:junit-platform-launcher") testImplementation("org.springframework.hateoas:spring-hateoas") testImplementation("org.springframework.plugin:spring-plugin-core") testImplementation("org.springframework.security:spring-security-oauth2-client") testImplementation("org.thymeleaf:thymeleaf") testRuntimeOnly(project(":module:spring-boot-tomcat")) testRuntimeOnly("org.flywaydb:flyway-database-hsqldb") } test { include "**/*Tests.class" } tasks.register("testSliceMetadata", org.springframework.boot.build.test.autoconfigure.TestSliceMetadata) { sourceSet = sourceSets.main outputFile = layout.buildDirectory.file("test-slice-metadata.properties") }