plugins { id "java-library" id "org.springframework.boot.auto-configuration" id "org.springframework.boot.conventions" id "org.springframework.boot.deployed" id "org.springframework.boot.integration-test" id "org.springframework.boot.optional-dependencies" } description = "Spring Boot Developer Tools" configurations { intTestDependencies { extendsFrom dependencyManagement } propertyDefaults } artifacts { propertyDefaults(file("build/resources/main/org/springframework/boot/devtools/env/devtools-property-defaults.properties")) { builtBy(processResources) } } dependencies { api(project(":spring-boot-project:spring-boot")) api(project(":spring-boot-project:spring-boot-autoconfigure")) intTestDependencies(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) intTestImplementation(project(":spring-boot-project:spring-boot-autoconfigure")) intTestImplementation(project(":spring-boot-project:spring-boot-test")) intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) intTestImplementation("org.apache.httpcomponents.client5:httpclient5") intTestImplementation("org.assertj:assertj-core") intTestImplementation("org.awaitility:awaitility") intTestImplementation("org.junit.jupiter:junit-jupiter") intTestImplementation("net.bytebuddy:byte-buddy") intTestRuntimeOnly("org.springframework:spring-web") optional("io.projectreactor:reactor-core") optional("io.r2dbc:r2dbc-spi") optional("jakarta.servlet:jakarta.servlet-api") optional("org.apache.derby:derbytools") optional("org.hibernate.orm:hibernate-core") optional("org.springframework:spring-jdbc") optional("org.springframework:spring-orm") optional("org.springframework:spring-web") optional("org.springframework.security:spring-security-config") optional("org.springframework.security:spring-security-web") optional("org.springframework.data:spring-data-redis") optional("org.springframework.session:spring-session-core") testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) testImplementation(project(":spring-boot-project:spring-boot-test")) testImplementation("ch.qos.logback:logback-classic") testImplementation("com.h2database:h2") testImplementation("com.zaxxer:HikariCP") testImplementation("org.apache.derby:derby") testImplementation("org.apache.derby:derbyclient") testImplementation("org.apache.tomcat.embed:tomcat-embed-websocket") testImplementation("org.apache.tomcat.embed:tomcat-embed-core") testImplementation("org.apache.tomcat.embed:tomcat-embed-jasper") testImplementation("org.assertj:assertj-core") testImplementation("org.awaitility:awaitility") testImplementation("org.eclipse.jetty.websocket:websocket-jakarta-client") { exclude group: "org.eclipse.jetty.toolchain", module: "jetty-jakarta-websocket-api" } testImplementation("org.hamcrest:hamcrest-library") testImplementation("org.hsqldb:hsqldb") testImplementation("org.junit.jupiter:junit-jupiter") testImplementation("org.mockito:mockito-core") testImplementation("org.mockito:mockito-junit-jupiter") testImplementation("org.postgresql:postgresql") testImplementation("org.springframework:spring-test") testImplementation("org.springframework:spring-webmvc") testImplementation("org.springframework:spring-websocket") testImplementation("org.springframework.hateoas:spring-hateoas") testImplementation("org.springframework.security:spring-security-test") testImplementation("org.freemarker:freemarker") testRuntimeOnly("org.aspectj:aspectjweaver") testRuntimeOnly("org.yaml:snakeyaml") testRuntimeOnly("io.r2dbc:r2dbc-h2") } task syncIntTestDependencies(type: Sync) { destinationDir = file("${buildDir}/dependencies") from { configurations.intTestDependencies } from jar } intTest { dependsOn syncIntTestDependencies }