plugins {
    id 'java-library'
    id 'maven-publish'
    id 'checkstyle'
    alias libs.plugins.yumi.gradle.licenser.plugin
    alias libs.plugins.jaredsburrows.license.plugin
}

java {
    withJavadocJar()
    withSourcesJar()
}

dependencies {
    compileOnly libs.slf4j.api

    implementation libs.classgraph
    compileOnly libs.javax.validation.api
    compileOnly libs.jakarta.validation.api
    implementation libs.jackson.core
    implementation libs.jackson.databind
    implementation libs.jackson.datatype.jdk8
    implementation libs.jackson.datatype.jsr310
    implementation libs.jackson.module.parameter.names

    implementation (libs.type.resolver) {
        exclude (group: 'org.apache.logging.log4j', module: 'log4j-core')
    }

    api project(":types")
    implementation project(":reflect")

    testImplementation libs.logback.classic
    testImplementation project(":test-shared-impl")
    testImplementation project(":builder")
    testImplementation project(":type-utils")
    testImplementation libs.junit.jupiter.params
    testImplementation libs.lombok
    testImplementation libs.assertj
    testAnnotationProcessor libs.lombok


}
