plugins { id 'java' id 'org.springframework.boot' version '3.5.3' id 'io.spring.dependency-management' version '1.1.7' // QueryDSL용 플러그인 추가 X (Spring Boot 3.0+부터는 직접 sourceSets 설정 권장) } group = 'com.example' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } def querydslDir = layout.buildDirectory.dir("generated/sources/annotationProcessor/java/main").get().asFile sourceSets { main { java.srcDirs += querydslDir } } tasks.named("clean") { doLast { delete file("build/generated") } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:2025.0.0" } } dependencies { implementation 'org.springframework.boot:spring-boot-starter-actuator' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' runtimeOnly 'com.mysql:mysql-connector-j' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework.security:spring-security-test' testImplementation 'org.testcontainers:testcontainers' testImplementation 'org.testcontainers:junit-jupiter' testImplementation 'org.testcontainers:minio' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' testRuntimeOnly 'com.h2database:h2' implementation 'org.springframework.cloud:spring-cloud-starter-openfeign' implementation 'org.springframework.boot:spring-boot-starter-data-redis' implementation 'org.springframework.session:spring-session-data-redis' implementation 'io.jsonwebtoken:jjwt-api:0.12.6' implementation 'io.jsonwebtoken:jjwt-impl:0.12.6' implementation 'io.jsonwebtoken:jjwt-jackson:0.12.6' implementation 'net.coobird:thumbnailator:0.4.20' implementation 'com.google.cloud:google-cloud-storage:2.53.0' implementation platform("software.amazon.awssdk:bom:2.25.63") implementation 'software.amazon.awssdk:s3' // s3 SDK implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.8' // QueryDSL for Jakarta implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta' annotationProcessor 'jakarta.persistence:jakarta.persistence-api:3.1.0' annotationProcessor 'jakarta.annotation:jakarta.annotation-api:2.1.1' } tasks.named('test') { useJUnitPlatform() }