plugins {
    id 'java'
}

group = 'com.tsi'
version = '0.0.1'

compileJava.options.encoding = 'UTF-8'

repositories {
    mavenLocal()
    mavenCentral()
    def os = org.gradle.internal.os.OperatingSystem.current()
    if (os.isWindows()) {
        flatDir {
            dirs 'C:/java/repository/'
        }
    } else {
        flatDir {
            dirs '/Users/openvalue/Projects/java/repository/'
        }
    }
}

ext {
    nettyVersion = '4.1.52.Final'
}

dependencies {
//    compileOnly 'org.jetbrains:annotations'
    // lombok 라이브러리 추가 시작
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    testCompileOnly 'org.projectlombok:lombok'
    testAnnotationProcessor 'org.projectlombok:lombok'
    // lombok 라이브러리 추가 끝

    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-aop'
    implementation 'org.springframework.boot:spring-boot-starter-jdbc'
    implementation 'org.springframework.boot:spring-boot-starter-tomcat'

    implementation 'org.springframework.boot:spring-boot-configuration-processor'

    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    implementation 'io.micrometer:micrometer-registry-prometheus'

    implementation 'org.springframework.kafka:spring-kafka'
    implementation "io.netty:netty-all:${nettyVersion}"

    implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
    runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'

//    implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
//    implementation 'org.mongodb:mongo-java-driver:3.12.7'

    implementation 'com.tsi:tsi-common:0.0.1'

    implementation 'org.jetbrains:annotations:24.0.0'  //@NotNull, @Nullable
    implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16'

    implementation 'org.jctools:jctools-core:3.3.0'
    implementation 'com.fasterxml.jackson.core:jackson-databind'

    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'org.springframework.kafka:spring-kafka-test'
}

test {
    useJUnitPlatform()
}

jar {
    enabled = false
}

compileJava.options.encoding = 'UTF-8'
tasks.withType(JavaCompile).configureEach {
    options.compilerArgs << '-Xlint:unchecked'
    options.deprecation = true
    options.encoding = 'UTF-8'
}
