86 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Groovy
		
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Groovy
		
	
	
	
| /*
 | |
|  * 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(":spring-boot-project:spring-boot-web-server"))
 | |
| 	api("org.apache.tomcat.embed:tomcat-embed-core") {
 | |
| 		exclude group: "org.apache.tomcat", module: "tomcat-annotations-api"
 | |
| 	}
 | |
| 
 | |
| 	optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure"))
 | |
| 	optional(project(":spring-boot-project:spring-boot-autoconfigure"))
 | |
| 	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(":spring-boot-project:spring-boot-test"))
 | |
| 	testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
 | |
| 	testImplementation(testFixtures(project(":spring-boot-project:spring-boot-web-server")))
 | |
| 	testImplementation(testFixtures(project(":spring-boot-project: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"
 | |
| }
 |