plugins {
    id 'java'
}

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(17)
    }
}

repositories {
    mavenCentral()

    flatDir { dirs "lib" }
}

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
    jaxb
}

dependencies {
    implementation libs.bouncycastle
    implementation libs.lombok
    implementation libs.jackson.core
    implementation libs.jackson.databind
    implementation libs.jakarta.api
    implementation libs.jakarta.xml
    implementation libs.guava
    implementation libs.commons.codec
    implementation libs.commons.lang3
    implementation libs.minimal.json

    implementation 'org.apache.logging.log4j:log4j-core:2.19.0'
    implementation 'org.apache.logging.log4j:log4j-api:2.19.0'
    implementation 'org.glassfish.jaxb:jaxb-runtime:4.0.1'
    compileOnly libs.lombok
    annotationProcessor libs.lombok

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

test {
    useJUnitPlatform()
}

//task generateXjcLibrary(type:Exec) {
//    workingDir 'config'
//
//    commandLine './genXjcLibrary.sh'
//}
//compileJava.dependsOn generateXjcLibrary