plugins {
    id 'java'
    id "io.freefair.lombok" version "5.3.3.3"
    id "de.undercouch.download" version "5.1.0"
    id 'jvm-test-suite'
}

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

dependencies {
    implementation project(':code:common:service-discovery')


    implementation libs.lombok
    annotationProcessor libs.lombok
    implementation libs.bundles.slf4j

    implementation libs.commons.lang3
    implementation libs.spark
    implementation libs.guice
    implementation libs.rxjava

    implementation libs.okhttp3
    implementation libs.bundles.httpcomponents

    implementation libs.bundles.gson
    implementation libs.protobuf

    implementation libs.bundles.prometheus

    implementation libs.bundles.mariadb

    testImplementation libs.bundles.slf4j.test
    testImplementation libs.bundles.junit
    testImplementation libs.mockito
}

test {
    maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
    maxHeapSize = "8G"
    useJUnitPlatform()
}

task fastTests(type: Test) {
    maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
    maxHeapSize = "8G"
    useJUnitPlatform {
        excludeTags "slow"
    }
}