description = "Spring Web" apply plugin: "kotlin" apply plugin: "kotlinx-serialization" dependencies { api(project(":spring-beans")) api(project(":spring-core")) api("io.micrometer:micrometer-observation") compileOnly("io.projectreactor.tools:blockhound") optional(project(":spring-aop")) optional(project(":spring-context")) optional(project(":spring-oxm")) optional("com.fasterxml.jackson.core:jackson-databind") optional("com.fasterxml.jackson.dataformat:jackson-dataformat-cbor") optional("com.fasterxml.jackson.dataformat:jackson-dataformat-smile") optional("com.fasterxml.jackson.dataformat:jackson-dataformat-xml") optional("com.fasterxml.woodstox:woodstox-core") optional("com.google.code.gson:gson") optional("com.google.protobuf:protobuf-java-util") optional("com.rometools:rome") optional("com.squareup.okhttp3:okhttp") optional("io.reactivex.rxjava3:rxjava") optional("io.netty:netty-buffer") optional("io.netty:netty-handler") optional("io.netty:netty-codec-http") optional("io.netty:netty-transport") optional("io.netty:netty5-buffer") optional("io.netty:netty5-handler") optional("io.netty:netty5-codec-http") optional("io.netty:netty5-transport") optional("io.projectreactor.netty:reactor-netty-http") optional("io.projectreactor.netty:reactor-netty5-http") optional("io.undertow:undertow-core") optional("jakarta.el:jakarta.el-api") optional("jakarta.faces:jakarta.faces-api") optional("jakarta.json.bind:jakarta.json.bind-api") optional("jakarta.servlet:jakarta.servlet-api") optional("jakarta.servlet.jsp:jakarta.servlet.jsp-api") optional("jakarta.validation:jakarta.validation-api") optional("jakarta.xml.bind:jakarta.xml.bind-api") optional("org.apache.groovy:groovy") optional("org.apache.httpcomponents.client5:httpclient5") optional("org.apache.httpcomponents.core5:httpcore5-reactive") optional("org.apache.tomcat.embed:tomcat-embed-core") optional("org.eclipse.jetty:jetty-reactive-httpclient") optional("org.eclipse.jetty:jetty-server") { exclude group: "jakarta.servlet", module: "jakarta.servlet-api" } optional("org.eclipse.jetty.ee10:jetty-ee10-servlet") { exclude group: "jakarta.servlet", module: "jakarta.servlet-api" exclude group: "org.eclipse.jetty", module: "jetty-ee" exclude group: "org.eclipse.jetty", module: "jetty-security" exclude group: "org.eclipse.jetty", module: "jetty-server" exclude group: "org.eclipse.jetty", module: "jetty-servlet" } optional("org.jetbrains.kotlin:kotlin-reflect") optional("org.jetbrains.kotlin:kotlin-stdlib") optional("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") optional("org.jetbrains.kotlinx:kotlinx-serialization-cbor") optional("org.jetbrains.kotlinx:kotlinx-serialization-json") optional("org.jetbrains.kotlinx:kotlinx-serialization-protobuf") optional("com.fasterxml:aalto-xml") // out of order to avoid XML parser override testFixturesApi("jakarta.servlet:jakarta.servlet-api") testFixturesApi("org.junit.jupiter:junit-jupiter-api") testFixturesApi("org.junit.jupiter:junit-jupiter-params") testFixturesImplementation("io.projectreactor:reactor-test") testFixturesImplementation("org.assertj:assertj-core") testFixturesImplementation("org.bouncycastle:bcpkix-jdk18on") { because("needed by Netty's SelfSignedCertificate on JDK 15+") } testFixturesImplementation("org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jetty-server") testImplementation(project(":spring-core-test")) testImplementation(testFixtures(project(":spring-beans"))) testImplementation(testFixtures(project(":spring-context"))) testImplementation(testFixtures(project(":spring-core"))) testImplementation("com.fasterxml.jackson.datatype:jackson-datatype-jdk8") testImplementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310") testImplementation("com.fasterxml.jackson.module:jackson-module-kotlin") testImplementation("com.fasterxml.jackson.module:jackson-module-parameter-names") testImplementation("com.squareup.okhttp3:mockwebserver") testImplementation("io.micrometer:micrometer-observation-test") testImplementation("io.projectreactor:reactor-test") testImplementation("io.projectreactor.tools:blockhound") testImplementation("org.apache.tomcat:tomcat-util") testImplementation("org.apache.tomcat.embed:tomcat-embed-core") testImplementation("org.eclipse.jetty:jetty-server") testImplementation("org.eclipse.jetty.ee10:jetty-ee10-servlet") testImplementation("org.jetbrains.kotlin:kotlin-reflect") testImplementation("org.skyscreamer:jsonassert") testImplementation("org.xmlunit:xmlunit-assertj") testImplementation("org.xmlunit:xmlunit-matchers") testRuntimeOnly("com.sun.mail:jakarta.mail") testRuntimeOnly("com.sun.xml.bind:jaxb-core") testRuntimeOnly("com.sun.xml.bind:jaxb-impl") testRuntimeOnly("jakarta.json:jakarta.json-api") testRuntimeOnly("org.eclipse:yasson") testRuntimeOnly("org.glassfish:jakarta.el") testRuntimeOnly("org.hibernate:hibernate-validator") }