plugins { // Spring Boot id("org.springframework.boot") version "3.5.3" // Spring 의존성 관리(BOM) id("io.spring.dependency-management") version "1.1.7" // Java 라이브러리, (필요하면) Maven Publish `java-library` `maven-publish` } group = "kr.re.etri" version = "0.0.1-SNAPSHOT" description = "spring-security-refresh-token" java { toolchain { languageVersion.set(JavaLanguageVersion.of(17)) } } repositories { mavenCentral() } dependencies { // Spring Boot 스타터들 implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-web") 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") // 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") // OpenAPI UI implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.9") // MariaDB 드라이버 runtimeOnly("org.mariadb.jdbc:mariadb-java-client:3.1.4") // Lombok (선택) compileOnly("org.projectlombok:lombok:1.18.38") annotationProcessor("org.projectlombok:lombok:1.18.38") testCompileOnly("org.projectlombok:lombok:1.18.38") testAnnotationProcessor("org.projectlombok:lombok:1.18.38") // 테스트 testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("org.springframework.security:spring-security-test") } // Java 컴파일 인코딩 및 파라미터 리플렉션 지원 tasks.withType { options.encoding = "UTF-8" options.compilerArgs.add("-parameters") } // Javadoc 인코딩 tasks.withType { options.encoding = "UTF-8" } // (선택) Maven Publish 설정 publishing { publications.create("maven") { from(components["java"]) groupId = project.group.toString() artifactId = project.name version = project.version.toString() } }