|
| 1 | +plugins { |
| 2 | + id "java-library" |
| 3 | + id "org.springframework.boot.auto-configuration" |
| 4 | + id "org.springframework.boot.configuration-properties" |
| 5 | + id "org.springframework.boot.deployed" |
| 6 | + id "org.springframework.boot.docker-test" |
| 7 | + id "org.springframework.boot.optional-dependencies" |
| 8 | +} |
| 9 | + |
| 10 | +description = "Spring Boot AutoConfigure All" |
| 11 | + |
| 12 | +configurations.all { |
| 13 | + resolutionStrategy.eachDependency { DependencyResolveDetails details -> |
| 14 | + if (details.requested.module.group == "org.apache.kafka" && details.requested.module.name == "kafka-server-common") { |
| 15 | + details.artifactSelection { |
| 16 | + selectArtifact(DependencyArtifact.DEFAULT_TYPE, null, null) |
| 17 | + } |
| 18 | + } |
| 19 | + } |
| 20 | +} |
| 21 | + |
| 22 | +dependencies { |
| 23 | + api(project(":spring-boot-project:spring-boot-all")) |
| 24 | + api(project(":spring-boot-project:spring-boot-autoconfigure")) |
| 25 | + |
| 26 | + dockerTestImplementation(project(":spring-boot-project:spring-boot-test")) |
| 27 | + dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker")) |
| 28 | + dockerTestImplementation(testFixtures(project(":spring-boot-project:spring-boot-autoconfigure"))) |
| 29 | + dockerTestImplementation("com.redis:testcontainers-redis") |
| 30 | + dockerTestImplementation("org.assertj:assertj-core") |
| 31 | + dockerTestImplementation("org.awaitility:awaitility") |
| 32 | + dockerTestImplementation("org.junit.jupiter:junit-jupiter") |
| 33 | + dockerTestImplementation("org.mockito:mockito-core") |
| 34 | + dockerTestImplementation("org.springframework:spring-test") |
| 35 | + dockerTestImplementation("org.testcontainers:cassandra") |
| 36 | + dockerTestImplementation("org.testcontainers:couchbase") |
| 37 | + dockerTestImplementation("org.testcontainers:elasticsearch") |
| 38 | + dockerTestImplementation("org.testcontainers:junit-jupiter") |
| 39 | + dockerTestImplementation("org.testcontainers:mongodb") |
| 40 | + dockerTestImplementation("org.testcontainers:neo4j") |
| 41 | + dockerTestImplementation("org.testcontainers:pulsar") |
| 42 | + dockerTestImplementation("org.testcontainers:testcontainers") |
| 43 | + |
| 44 | + optional(project(":spring-boot-project:spring-boot-tomcat")) |
| 45 | + optional("co.elastic.clients:elasticsearch-java") { |
| 46 | + exclude group: "commons-logging", module: "commons-logging" |
| 47 | + } |
| 48 | + optional("com.fasterxml.jackson.core:jackson-databind") |
| 49 | + optional("com.fasterxml.jackson.dataformat:jackson-dataformat-cbor") |
| 50 | + optional("com.fasterxml.jackson.dataformat:jackson-dataformat-xml") |
| 51 | + optional("com.fasterxml.jackson.datatype:jackson-datatype-jsr310") |
| 52 | + optional("com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations") |
| 53 | + optional("com.fasterxml.jackson.module:jackson-module-parameter-names") |
| 54 | + optional("com.google.code.gson:gson") |
| 55 | + optional("com.hazelcast:hazelcast") |
| 56 | + optional("com.hazelcast:hazelcast-spring") |
| 57 | + optional("com.h2database:h2") |
| 58 | + optional("com.nimbusds:oauth2-oidc-sdk") |
| 59 | + optional("com.oracle.database.jdbc:ojdbc11") |
| 60 | + optional("com.oracle.database.jdbc:ucp11") |
| 61 | + optional("com.querydsl:querydsl-core") |
| 62 | + optional("com.samskivert:jmustache") |
| 63 | + optional("io.lettuce:lettuce-core") |
| 64 | + optional("io.projectreactor.netty:reactor-netty-http") |
| 65 | + optional("io.r2dbc:r2dbc-spi") |
| 66 | + optional("io.r2dbc:r2dbc-pool") |
| 67 | + optional("io.r2dbc:r2dbc-proxy") |
| 68 | + optional("io.rsocket:rsocket-core") |
| 69 | + optional("io.rsocket:rsocket-transport-netty") |
| 70 | + optional("io.undertow:undertow-servlet") |
| 71 | + optional("io.undertow:undertow-websockets-jsr") |
| 72 | + optional("jakarta.jms:jakarta.jms-api") |
| 73 | + optional("jakarta.mail:jakarta.mail-api") |
| 74 | + optional("jakarta.json.bind:jakarta.json.bind-api") |
| 75 | + optional("jakarta.persistence:jakarta.persistence-api") |
| 76 | + optional("jakarta.transaction:jakarta.transaction-api") |
| 77 | + optional("jakarta.validation:jakarta.validation-api") |
| 78 | + optional("jakarta.websocket:jakarta.websocket-api") |
| 79 | + optional("jakarta.ws.rs:jakarta.ws.rs-api") |
| 80 | + optional("javax.cache:cache-api") |
| 81 | + optional("javax.money:money-api") |
| 82 | + optional("org.apache.activemq:activemq-broker") |
| 83 | + optional("org.apache.activemq:activemq-client") |
| 84 | + optional("org.apache.activemq:artemis-jakarta-client") { |
| 85 | + exclude group: "commons-logging", module: "commons-logging" |
| 86 | + } |
| 87 | + optional("org.apache.activemq:artemis-jakarta-server") { |
| 88 | + exclude group: "commons-logging", module: "commons-logging" |
| 89 | + } |
| 90 | + optional("org.apache.commons:commons-dbcp2") { |
| 91 | + exclude group: "commons-logging", module: "commons-logging" |
| 92 | + } |
| 93 | + optional("org.apache.httpcomponents.client5:httpclient5") |
| 94 | + optional("org.apache.httpcomponents.core5:httpcore5-reactive") |
| 95 | + optional("org.apache.kafka:kafka-streams") |
| 96 | + optional("org.apache.tomcat.embed:tomcat-embed-core") |
| 97 | + optional("org.apache.tomcat.embed:tomcat-embed-el") |
| 98 | + optional("org.apache.tomcat.embed:tomcat-embed-websocket") |
| 99 | + optional("org.apache.tomcat:tomcat-jdbc") |
| 100 | + optional("org.apiguardian:apiguardian-api") |
| 101 | + optional("org.apache.groovy:groovy-templates") |
| 102 | + optional("org.eclipse.angus:angus-mail") |
| 103 | + optional("com.github.ben-manes.caffeine:caffeine") |
| 104 | + optional("com.github.mxab.thymeleaf.extras:thymeleaf-extras-data-attribute") |
| 105 | + optional("com.sendgrid:sendgrid-java") { |
| 106 | + exclude group: "commons-logging", module: "commons-logging" |
| 107 | + } |
| 108 | + optional("com.unboundid:unboundid-ldapsdk") |
| 109 | + optional("com.zaxxer:HikariCP") |
| 110 | + optional("nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect") |
| 111 | + optional("org.aspectj:aspectjweaver") |
| 112 | + optional("org.cache2k:cache2k-spring") |
| 113 | + optional("org.eclipse.jetty.ee10:jetty-ee10-webapp") |
| 114 | + optional("org.eclipse.jetty:jetty-reactive-httpclient") |
| 115 | + optional("org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-server") |
| 116 | + optional("org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jetty-server") |
| 117 | + optional("org.ehcache:ehcache") { |
| 118 | + artifact { |
| 119 | + classifier = 'jakarta' |
| 120 | + } |
| 121 | + } |
| 122 | + optional("org.elasticsearch.client:elasticsearch-rest-client") { |
| 123 | + exclude group: "commons-logging", module: "commons-logging" |
| 124 | + } |
| 125 | + optional("org.elasticsearch.client:elasticsearch-rest-client-sniffer") { |
| 126 | + exclude group: "commons-logging", module: "commons-logging" |
| 127 | + } |
| 128 | + optional("org.flywaydb:flyway-core") |
| 129 | + optional("org.flywaydb:flyway-database-postgresql") |
| 130 | + optional("org.flywaydb:flyway-database-oracle") |
| 131 | + optional("org.flywaydb:flyway-sqlserver") |
| 132 | + optional("org.freemarker:freemarker") |
| 133 | + optional("org.glassfish.jersey.containers:jersey-container-servlet-core") |
| 134 | + optional("org.glassfish.jersey.containers:jersey-container-servlet") |
| 135 | + optional("org.glassfish.jersey.core:jersey-server") |
| 136 | + optional("org.glassfish.jersey.ext:jersey-spring6") |
| 137 | + optional("org.glassfish.jersey.media:jersey-media-json-jackson") |
| 138 | + optional("org.hibernate.orm:hibernate-core") |
| 139 | + optional("org.hibernate.orm:hibernate-jcache") |
| 140 | + optional("org.hibernate.validator:hibernate-validator") |
| 141 | + optional("org.infinispan:infinispan-commons") |
| 142 | + optional("org.infinispan:infinispan-component-annotations") |
| 143 | + optional("org.infinispan:infinispan-core") |
| 144 | + optional("org.infinispan:infinispan-jcache") |
| 145 | + optional("org.infinispan:infinispan-spring6-embedded") |
| 146 | + optional("org.influxdb:influxdb-java") |
| 147 | + optional("org.jooq:jooq") { |
| 148 | + exclude group: "javax.xml.bind", module: "jaxb-api" |
| 149 | + } |
| 150 | + optional("org.liquibase:liquibase-core") { |
| 151 | + exclude group: "javax.xml.bind", module: "jaxb-api" |
| 152 | + } |
| 153 | + optional("org.messaginghub:pooled-jms") { |
| 154 | + exclude group: "org.apache.geronimo.specs", module: "geronimo-jms_2.0_spec" |
| 155 | + } |
| 156 | + optional("org.mongodb:mongodb-driver-reactivestreams") |
| 157 | + optional("org.mongodb:mongodb-driver-sync") |
| 158 | + optional("org.opensaml:opensaml-core:4.0.1") |
| 159 | + optional("org.opensaml:opensaml-saml-api:4.0.1") |
| 160 | + optional("org.opensaml:opensaml-saml-impl:4.0.1") |
| 161 | + optional("org.quartz-scheduler:quartz") |
| 162 | + optional("org.springframework.integration:spring-integration-core") |
| 163 | + optional("org.springframework.integration:spring-integration-jdbc") |
| 164 | + optional("org.springframework.integration:spring-integration-jmx") |
| 165 | + optional("org.springframework.integration:spring-integration-rsocket") |
| 166 | + optional("org.springframework:spring-aspects") |
| 167 | + optional("org.springframework:spring-jdbc") |
| 168 | + optional("org.springframework:spring-jms") |
| 169 | + optional("org.springframework:spring-orm") |
| 170 | + optional("org.springframework:spring-tx") |
| 171 | + optional("org.springframework:spring-web") |
| 172 | + optional("org.springframework:spring-websocket") |
| 173 | + optional("org.springframework:spring-webflux") |
| 174 | + optional("org.springframework:spring-webmvc") |
| 175 | + optional("org.springframework.batch:spring-batch-core") |
| 176 | + optional("org.springframework.data:spring-data-couchbase") |
| 177 | + optional("org.springframework.data:spring-data-envers") { |
| 178 | + exclude group: "javax.activation", module: "javax.activation-api" |
| 179 | + exclude group: "javax.persistence", module: "javax.persistence-api" |
| 180 | + exclude group: "javax.xml.bind", module: "jaxb-api" |
| 181 | + exclude group: "org.jboss.spec.javax.transaction", module: "jboss-transaction-api_1.2_spec" |
| 182 | + } |
| 183 | + optional("org.springframework.data:spring-data-jpa") |
| 184 | + optional("org.springframework.data:spring-data-rest-webmvc") |
| 185 | + optional("org.springframework.data:spring-data-cassandra") { |
| 186 | + exclude group: "org.slf4j", module: "jcl-over-slf4j" |
| 187 | + } |
| 188 | + optional("org.springframework.data:spring-data-elasticsearch") { |
| 189 | + exclude group: "org.elasticsearch.client", module: "transport" |
| 190 | + } |
| 191 | + optional("org.springframework.data:spring-data-jdbc") |
| 192 | + optional("org.springframework.data:spring-data-ldap") |
| 193 | + optional("org.springframework.data:spring-data-mongodb") |
| 194 | + optional("org.springframework.data:spring-data-neo4j") |
| 195 | + optional("org.springframework.data:spring-data-r2dbc") |
| 196 | + optional("org.springframework.data:spring-data-redis") |
| 197 | + optional("org.springframework.graphql:spring-graphql") |
| 198 | + optional("org.springframework.hateoas:spring-hateoas") |
| 199 | + optional("org.springframework.pulsar:spring-pulsar") |
| 200 | + optional("org.springframework.pulsar:spring-pulsar-reactive") |
| 201 | + optional("org.springframework.security:spring-security-acl") |
| 202 | + optional("org.springframework.security:spring-security-config") |
| 203 | + optional("org.springframework.security:spring-security-data") { |
| 204 | + exclude group: "javax.xml.bind", module: "jaxb-api" |
| 205 | + } |
| 206 | + optional("org.springframework.security:spring-security-messaging") |
| 207 | + optional("org.springframework.security:spring-security-oauth2-authorization-server") |
| 208 | + optional("org.springframework.security:spring-security-oauth2-client") |
| 209 | + optional("org.springframework.security:spring-security-oauth2-jose") |
| 210 | + optional("org.springframework.security:spring-security-oauth2-resource-server") |
| 211 | + optional("org.springframework.security:spring-security-rsocket") |
| 212 | + optional("org.springframework.security:spring-security-saml2-service-provider") { |
| 213 | + exclude group: "org.opensaml", module: "opensaml-core" |
| 214 | + exclude group: "org.opensaml", module: "opensaml-saml-api" |
| 215 | + exclude group: "org.opensaml", module: "opensaml-saml-impl" |
| 216 | + } |
| 217 | + optional("org.springframework.security:spring-security-web") |
| 218 | + optional("org.springframework.session:spring-session-core") |
| 219 | + optional("org.springframework.session:spring-session-data-mongodb") |
| 220 | + optional("org.springframework.session:spring-session-data-redis") |
| 221 | + optional("org.springframework.session:spring-session-hazelcast") |
| 222 | + optional("org.springframework.session:spring-session-jdbc") |
| 223 | + optional("org.springframework.amqp:spring-rabbit") |
| 224 | + optional("org.springframework.amqp:spring-rabbit-stream") |
| 225 | + optional("org.springframework.kafka:spring-kafka") |
| 226 | + optional("org.springframework.ws:spring-ws-core") { |
| 227 | + exclude group: "com.sun.mail", module: "jakarta.mail" |
| 228 | + exclude group: "jakarta.platform", module: "jakarta.jakartaee-api" |
| 229 | + exclude group: "org.eclipse.jetty", module: "jetty-server" |
| 230 | + exclude group: "org.eclipse.jetty", module: "jetty-servlet" |
| 231 | + exclude group: "jakarta.mail", module: "jakarta.mail-api" |
| 232 | + } |
| 233 | + optional("org.thymeleaf:thymeleaf") |
| 234 | + optional("org.thymeleaf:thymeleaf-spring6") |
| 235 | + optional("org.thymeleaf.extras:thymeleaf-extras-springsecurity6") |
| 236 | + optional("redis.clients:jedis") |
| 237 | + |
| 238 | + testImplementation(testFixtures(project(":spring-boot-project:spring-boot-autoconfigure"))) |
| 239 | + testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) |
| 240 | + testImplementation(project(":spring-boot-project:spring-boot-test")) |
| 241 | + testImplementation("ch.qos.logback:logback-classic") |
| 242 | + testImplementation("commons-fileupload:commons-fileupload") |
| 243 | + testImplementation("com.github.h-thurow:simple-jndi") |
| 244 | + testImplementation("com.ibm.db2:jcc") |
| 245 | + testImplementation("com.jayway.jsonpath:json-path") |
| 246 | + testImplementation("com.mysql:mysql-connector-j") |
| 247 | + testImplementation("com.squareup.okhttp3:mockwebserver") |
| 248 | + testImplementation("com.sun.xml.messaging.saaj:saaj-impl") |
| 249 | + testImplementation("io.micrometer:context-propagation") |
| 250 | + testImplementation("io.projectreactor:reactor-test") |
| 251 | + testImplementation("io.r2dbc:r2dbc-h2") |
| 252 | + testImplementation("jakarta.json:jakarta.json-api") |
| 253 | + testImplementation("jakarta.xml.ws:jakarta.xml.ws-api") |
| 254 | + testImplementation("org.apache.logging.log4j:log4j-to-slf4j") |
| 255 | + testImplementation("org.apache.tomcat.embed:tomcat-embed-jasper") |
| 256 | + testImplementation("org.assertj:assertj-core") |
| 257 | + testImplementation("org.awaitility:awaitility") |
| 258 | + testImplementation("org.eclipse:yasson") |
| 259 | + testImplementation("org.hsqldb:hsqldb") |
| 260 | + testImplementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") |
| 261 | + testImplementation("org.junit.jupiter:junit-jupiter") |
| 262 | + testImplementation("org.mockito:mockito-core") |
| 263 | + testImplementation("org.mockito:mockito-junit-jupiter") |
| 264 | + testImplementation("org.postgresql:postgresql") |
| 265 | + testImplementation("org.postgresql:r2dbc-postgresql") |
| 266 | + testImplementation("org.skyscreamer:jsonassert") |
| 267 | + testImplementation("org.springframework:spring-test") |
| 268 | + testImplementation("org.springframework:spring-core-test") |
| 269 | + testImplementation("org.springframework.graphql:spring-graphql-test") |
| 270 | + testImplementation("org.springframework.kafka:spring-kafka-test") { |
| 271 | + exclude group: "commons-logging", module: "commons-logging" |
| 272 | + } |
| 273 | + testImplementation("org.springframework.pulsar:spring-pulsar-cache-provider-caffeine") |
| 274 | + testImplementation("org.springframework.security:spring-security-test") |
| 275 | + testImplementation("org.yaml:snakeyaml") |
| 276 | + |
| 277 | + testRuntimeOnly("jakarta.management.j2ee:jakarta.management.j2ee-api") |
| 278 | + testRuntimeOnly("org.flywaydb:flyway-database-hsqldb") |
| 279 | + testRuntimeOnly("org.jetbrains.kotlin:kotlin-reflect") |
| 280 | +} |
| 281 | + |
| 282 | +tasks.named("checkSpringConfigurationMetadata").configure { |
| 283 | + exclusions = [ |
| 284 | + "spring.datasource.dbcp2.*", |
| 285 | + "spring.datasource.hikari.*", |
| 286 | + "spring.datasource.oracleucp.*", |
| 287 | + "spring.datasource.tomcat.*", |
| 288 | + "spring.groovy.template.configuration.*" |
| 289 | + ] |
| 290 | +} |
| 291 | + |
| 292 | +test { |
| 293 | + jvmArgs += "--add-opens=java.base/java.net=ALL-UNNAMED" |
| 294 | +} |
0 commit comments