buildscript { ext { queryDslVersion = "5.0.0" } } plugins { id 'java' id 'org.springframework.boot' version '3.2.1' id 'io.spring.dependency-management' version '1.1.4' } group = 'com.gongjakso' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } configurations.configureEach { exclude group: 'commons-logging', module: 'commons-logging' } repositories { mavenCentral() } dependencies { // Spring Boot Default implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework.security:spring-security-test' implementation 'org.springframework.boot:spring-boot-starter-cache' implementation 'org.springframework.boot:spring-boot-starter-mail' // Lombok compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' // MySQL runtimeOnly 'com.mysql:mysql-connector-j' // Redis implementation 'org.springframework.boot:spring-boot-starter-data-redis' // JWT implementation 'io.jsonwebtoken:jjwt-api:0.11.5' runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5' runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5' // Swagger UI - spring doc implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2' // Spring Security + OAuth implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' implementation 'org.springframework.boot:spring-boot-starter-webflux' // MAC OS implementation 'io.netty:netty-resolver-dns-native-macos:4.1.68.Final:osx-aarch_64' // AWS implementation 'com.amazonaws:aws-java-sdk-s3:1.12.661' // Prometheus + Grafana implementation 'org.springframework.boot:spring-boot-starter-actuator' runtimeOnly 'io.micrometer:micrometer-registry-prometheus' // Querydsl implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" // Json Type Parsing implementation 'com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations' // Quartz implementation 'org.springframework.boot:spring-boot-starter-quartz:2.7.5' } tasks.named('test') { useJUnitPlatform() }