plugins {
    id 'io.spring.dependency-management'
    id 'org.springframework.boot' apply false
}

dependencies {
    // internal module
    implementation project(":common")
    implementation project(":dao")
    implementation project(":meta")

    // spring boot
    implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    implementation 'org.springframework.boot:spring-boot-starter-jooq'
    implementation 'org.springframework.boot:spring-boot-starter-mail'
    implementation 'org.springframework.boot:spring-boot-starter-security'

    // datasource
    implementation "com.zaxxer:HikariCP:${hikariVersion}"
    // jdbc driver
    implementation "mysql:mysql-connector-java:${mysqlConnectorVersion}"
    implementation "org.postgresql:postgresql:${postgresqlConnectorVersion}"

    // jackson
    implementation "com.fasterxml.jackson.core:jackson-core:${jacksonVersion}"
    implementation "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}"

    // others
    implementation 'com.auth0:java-jwt:3.18.3'
    implementation 'org.commonmark:commonmark:0.18.1'
    implementation 'com.github.javafaker:javafaker:1.0.2'
    implementation 'commons-io:commons-io'
    implementation 'com.alibaba:easyexcel'
    implementation "org.freemarker:freemarker"
    implementation 'com.google.guava:guava:31.1-jre'

    implementation "com.squareup.retrofit2:retrofit:${retrofitVersion}"
    implementation "com.squareup.retrofit2:converter-jackson:${retrofitVersion}"

    // test
    testImplementation "mysql:mysql-connector-java:${mysqlConnectorVersion}"
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'org.flywaydb:flyway-core'
}