You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.9 KiB
85 lines
2.9 KiB
/* |
|
* 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.optional-dependencies" |
|
} |
|
|
|
description = "Spring Boot Tomcat" |
|
|
|
def tomcatConfigProperties = layout.buildDirectory.dir("tomcat-config-properties") |
|
|
|
configurations { |
|
tomcatDistribution |
|
} |
|
|
|
dependencies { |
|
api(project(":module:spring-boot-web-server")) |
|
api("org.apache.tomcat.embed:tomcat-embed-core") { |
|
exclude group: "org.apache.tomcat", module: "tomcat-annotations-api" |
|
} |
|
|
|
optional(project(":core:spring-boot-autoconfigure")) |
|
optional(project(":module:spring-boot-actuator-autoconfigure")) |
|
optional(project(":module:spring-boot-micrometer-metrics")) |
|
optional("io.micrometer:micrometer-core") |
|
optional("org.apache.tomcat.embed:tomcat-embed-jasper") |
|
optional("org.apache.tomcat.embed:tomcat-embed-websocket") { |
|
exclude group: "org.apache.tomcat", module: "tomcat-annotations-api" |
|
} |
|
optional("org.springframework:spring-webflux") |
|
|
|
runtimeOnly("jakarta.annotation:jakarta.annotation-api") |
|
|
|
testImplementation(project(":core:spring-boot-test")) |
|
testImplementation(project(":test-support:spring-boot-test-support")) |
|
testImplementation(testFixtures(project(":module:spring-boot-web-server"))) |
|
testImplementation(testFixtures(project(":core:spring-boot-autoconfigure"))) |
|
testImplementation("org.apache.httpcomponents.client5:httpclient5") |
|
|
|
testRuntimeOnly("ch.qos.logback:logback-classic") |
|
testRuntimeOnly("io.projectreactor:reactor-test") |
|
testRuntimeOnly("io.projectreactor.netty:reactor-netty-http") |
|
testRuntimeOnly("org.eclipse.jetty:jetty-client") |
|
testRuntimeOnly("org.eclipse.jetty.http2:jetty-http2-client") |
|
testRuntimeOnly("org.eclipse.jetty.http2:jetty-http2-client-transport") |
|
testRuntimeOnly("org.springframework:spring-webmvc") |
|
|
|
tomcatDistribution("org.apache.tomcat:tomcat:${tomcatVersion}@zip") |
|
} |
|
|
|
tasks.register("extractTomcatConfigProperties", Sync) { |
|
destinationDir = file(tomcatConfigProperties) |
|
from { |
|
zipTree(configurations.tomcatDistribution.incoming.files.singleFile).matching { |
|
include '**/conf/catalina.properties' |
|
}.singleFile |
|
} |
|
} |
|
|
|
sourceSets { |
|
test { |
|
output.dir(tomcatConfigProperties, builtBy: "extractTomcatConfigProperties") |
|
} |
|
} |
|
|
|
test { |
|
jvmArgs += "--add-opens=java.base/java.net=ALL-UNNAMED" |
|
}
|
|
|