scala_library(
    sources = ["*.scala"],
    compiler_option_sets = ["fatal_warnings"],
    provides = scala_artifact(
        org = "com.twitter",
        name = "util-validation-core",
        repo = artifactory,
    ),
    strict_deps = True,
    dependencies = [
        "3rdparty/jvm/com/github/ben-manes/caffeine",
        "3rdparty/jvm/jakarta/validation:jakarta.validation-api",
        "3rdparty/jvm/org/hibernate/validator:hibernate-validator",
        "3rdparty/jvm/org/json4s:json4s-core",
        "util/util-core:scala",
        "util/util-reflect/src/main/scala/com/twitter/util/reflect",
        "util/util-slf4j-api/src/main/scala",
        "util/util-validator/src/main/java/com/twitter/util/validation",
        "util/util-validator/src/main/java/com/twitter/util/validation/constraints",
        "util/util-validator/src/main/resources",  # loads custom constraint mappings and validation messages
        "util/util-validator/src/main/scala/com/twitter/util/validation/cfg",
        "util/util-validator/src/main/scala/com/twitter/util/validation/constraintvalidation",
        "util/util-validator/src/main/scala/com/twitter/util/validation/conversions",
        "util/util-validator/src/main/scala/com/twitter/util/validation/engine",
        "util/util-validator/src/main/scala/com/twitter/util/validation/executable",
        "util/util-validator/src/main/scala/com/twitter/util/validation/internal",
        "util/util-validator/src/main/scala/com/twitter/util/validation/internal/constraintvalidation",
        "util/util-validator/src/main/scala/com/twitter/util/validation/internal/engine",
        "util/util-validator/src/main/scala/com/twitter/util/validation/internal/metadata/descriptor",
        "util/util-validator/src/main/scala/com/twitter/util/validation/internal/validators",
        "util/util-validator/src/main/scala/com/twitter/util/validation/internal/validators/notempty",
        "util/util-validator/src/main/scala/com/twitter/util/validation/internal/validators/size",
        "util/util-validator/src/main/scala/com/twitter/util/validation/metadata",
        "util/util-validator/src/main/scala/org/hibernate/validator/internal/engine",
        "util/util-validator/src/main/scala/org/hibernate/validator/internal/properties/javabean",
    ],
    exports = [
        "3rdparty/jvm/jakarta/validation:jakarta.validation-api",
        "3rdparty/jvm/org/json4s:json4s-core",
        "util/util-validator/src/main/java/com/twitter/util/validation",
        "util/util-validator/src/main/java/com/twitter/util/validation/constraints",
        "util/util-validator/src/main/scala/com/twitter/util/validation/cfg",
        "util/util-validator/src/main/scala/com/twitter/util/validation/constraintvalidation",
        "util/util-validator/src/main/scala/com/twitter/util/validation/conversions",
        "util/util-validator/src/main/scala/com/twitter/util/validation/engine",
        "util/util-validator/src/main/scala/com/twitter/util/validation/executable",
        "util/util-validator/src/main/scala/com/twitter/util/validation/metadata",
    ],
)
