/* * 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.auto-configuration" 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 JDBC" dependencies { api(project(":core:spring-boot")) api(project(":module:spring-boot-sql")) api(project(":module:spring-boot-transaction")) api("org.springframework:spring-jdbc") compileOnly("com.fasterxml.jackson.core:jackson-annotations") optional(project(":core:spring-boot-autoconfigure")) optional(project(":core:spring-boot-docker-compose")) optional(project(":core:spring-boot-testcontainers")) optional(project(":module:spring-boot-health")) optional(project(":module:spring-boot-micrometer-metrics")) optional("com.h2database:h2") optional("com.mchange:c3p0") optional("com.oracle.database.jdbc:ojdbc11") optional("com.oracle.database.jdbc:ucp11") optional("com.zaxxer:HikariCP") optional("io.micrometer:micrometer-core") optional("org.apache.commons:commons-dbcp2") optional("org.apache.tomcat:tomcat-jdbc") optional("org.postgresql:postgresql") optional("org.testcontainers:testcontainers-jdbc") optional("org.vibur:vibur-dbcp") dockerTestImplementation(project(":core:spring-boot-test")) dockerTestImplementation(project(":test-support:spring-boot-docker-test-support")) dockerTestImplementation(testFixtures(project(":core:spring-boot-docker-compose"))) dockerTestImplementation("org.testcontainers:testcontainers-junit-jupiter") dockerTestImplementation("org.testcontainers:testcontainers-postgresql") dockerTestRuntimeOnly("com.clickhouse:clickhouse-jdbc") dockerTestRuntimeOnly("com.microsoft.sqlserver:mssql-jdbc") dockerTestRuntimeOnly("org.lz4:lz4-java:1.8.0") dockerTestRuntimeOnly("org.postgresql:postgresql") testImplementation(project(":core:spring-boot-test")) testImplementation(project(":test-support:spring-boot-test-support")) testImplementation(testFixtures(project(":core:spring-boot-autoconfigure"))) testImplementation(testFixtures(project(":module:spring-boot-sql"))) testImplementation("com.ibm.db2:jcc") testImplementation("com.microsoft.sqlserver:mssql-jdbc") testImplementation("io.r2dbc:r2dbc-spi") testImplementation("org.hsqldb:hsqldb") testImplementation("org.mariadb.jdbc:mariadb-java-client") { exclude group: "org.slf4j", module: "jcl-over-slf4j" } testImplementation("tools.jackson.core:jackson-databind") testCompileOnly("org.checkerframework:checker-qual") testRuntimeOnly("ch.qos.logback:logback-classic") testRuntimeOnly("com.clickhouse:clickhouse-jdbc") testRuntimeOnly("com.mysql:mysql-connector-j") testRuntimeOnly("net.sourceforge.jtds:jtds") testRuntimeOnly("org.apache.derby:derby") testRuntimeOnly("org.apache.derby:derbytools") testRuntimeOnly("org.firebirdsql.jdbc:jaybird") { exclude group: "javax.resource", module: "connector-api" } testRuntimeOnly("org.testcontainers:testcontainers-jdbc") { exclude group: "javax.annotation", module: "javax.annotation-api" exclude group: "javax.xml.bind", module: "jaxb-api" } testRuntimeOnly("org.xerial:sqlite-jdbc") testRuntimeOnly("software.amazon.jdbc:aws-advanced-jdbc-wrapper") } tasks.named("checkSpringConfigurationMetadata").configure { exclusions = [ "spring.datasource.dbcp2.*", "spring.datasource.hikari.*", "spring.datasource.oracleucp.*", "spring.datasource.tomcat.*", ] } tasks.named("compileTestJava") { options.nullability.checking = "tests" } tasks.named("compileDockerTestJava") { options.nullability.checking = "tests" }