You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
autoflow-server-mgmt/build.gradle.kts

102 lines
3.2 KiB

plugins {
// Spring Boot
id("org.springframework.boot") version "3.5.6"
// 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")
// https://mvnrepository.com/artifact/org.springframework.batch/spring-batch-core
implementation("org.springframework.batch:spring-batch-core:5.2.3")
// implementation("org.springframework.boot:spring-boot-starter-batch:5.2.0")
testImplementation("org.springframework.batch:spring-batch-test:5.2.3")
// JWT
implementation("io.jsonwebtoken:jjwt-api:0.11.5")
implementation("org.springframework.boot:spring-boot-starter-actuator")
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.13")
// MariaDB 드라이버
runtimeOnly("org.mariadb.jdbc:mariadb-java-client:3.5.6")
implementation("org.springframework.boot:spring-boot-starter-webflux")
implementation("org.jsoup:jsoup:1.21.1")
compileOnly("org.projectlombok:lombok:1.18.42")
annotationProcessor("org.projectlombok:lombok:1.18.42")
testCompileOnly("org.projectlombok:lombok:1.18.42")
testAnnotationProcessor("org.projectlombok:lombok:1.18.42")
implementation("io.awspring.cloud:spring-cloud-aws-starter:3.4.0")
implementation("software.amazon.awssdk:s3:2.35.10")
// 테스트
testImplementation("org.springframework.boot:spring-boot-starter-test")
testImplementation("org.springframework.security:spring-security-test")
if (project.hasProperty("local")) {
implementation("com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.12.0")
}
implementation("io.minio:minio:8.5.17")
// Kubernetes API (Pod 목록 조회, phase == Running 확인)
implementation("io.kubernetes:client-java:19.0.3")
implementation("org.springframework.boot:spring-boot-starter-cache") // 캐시 지원
implementation("com.github.ben-manes.caffeine:caffeine:3.2.2")}
// Java 컴파일 인코딩 및 파라미터 리플렉션 지원
tasks.withType<JavaCompile> {
options.encoding = "UTF-8"
options.compilerArgs.add("-parameters")
}
// Javadoc 인코딩
tasks.withType<Javadoc> {
options.encoding = "UTF-8"
}
// (선택) Maven Publish 설정
publishing {
publications.create<MavenPublication>("maven") {
from(components["java"])
groupId = project.group.toString()
artifactId = project.name
version = project.version.toString()
}
}