plugins {
    id 'java'
    id 'java-conventions'
    id 'java-library'
    id "com.gorylenko.gradle-git-properties" version "${gradleGitCommitVersion}"
}

repositories {
    mavenCentral()
}

configurations {
    compile.exclude(group: 'log4j', module: 'log4j')
    compile.exclude(group: 'org.slf4j', module: 'slf4j-log4j12')
}

dependencies {
    annotationProcessor group: 'com.google.auto.service', name: 'auto-service', version: 'auto-service'.v()
    compileOnly group: 'com.google.auto.service', name: 'auto-service', version: 'auto-service'.v()
    implementation group: 'com.beust', name: 'jcommander', version: 'jcommander'.v()
    implementation group: 'io.netty', name: 'netty-all', version: 'netty'.v()
    implementation group: 'org.apache.commons', name: 'commons-lang3', version: 'commons-lang3'.v()

    implementation group: 'io.dingodb.expr', name: 'dingo-expr-coding', version: 'dingo-expr'.v()
    implementation group: 'ch.qos.logback', name: 'logback-core', version: 'logback'.v()
    implementation group: 'ch.qos.logback', name: 'logback-classic', version: 'logback'.v()
    implementation 'com.unboundid:unboundid-ldapsdk:3.2.0'

    implementation project(":dingo-net-api")
    implementation project(":dingo-net-netty")
    implementation project(":dingo-calcite")
    implementation project(":dingo-common")

    implementation project(":dingo-driver:dingo-driver-host")
    implementation project(":dingo-driver:dingo-driver-common")
    implementation project(':dingo-verify')

    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}

tasks.withType(Jar).configureEach {
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
