plugins {
    id 'java'
    id "io.freefair.lombok" version "5.3.3.3"
    id 'application'
    id 'jvm-test-suite'
}
java {
    toolchain {
        languageVersion.set(JavaLanguageVersion.of(17))
    }
}

application {
    mainClass = 'nu.marginalia.loading.LoaderMain'
    applicationName = 'loader-process'
}

tasks.distZip.enabled = false

dependencies {
    implementation project(':code:common:process')

    implementation project(':code:api:index-api')
    implementation project(':code:common:model')
    implementation project(':code:common:config')
    implementation project(':code:common:service')
    implementation project(':code:common:service-discovery')
    implementation project(':code:common:service-client')
    implementation project(':code:features-index:lexicon')
    implementation project(':code:features-index:index-journal')
    implementation project(':code:libraries:language-processing')

    testImplementation project(':code:services-core:search-service')

    implementation project(':code:process-models:crawling-model')
    implementation project(':code:process-models:converting-model')

    implementation project(':code:features-convert:keyword-extraction')


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

    implementation libs.guice
    implementation libs.gson
    implementation libs.commons.lang3
    implementation libs.zstd
    implementation libs.trove
    implementation libs.bundles.mariadb

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

    testImplementation libs.bundles.selenium
    testImplementation platform('org.testcontainers:testcontainers-bom:1.17.4')
    testImplementation 'org.testcontainers:mariadb:1.17.4'
    testImplementation 'org.testcontainers:junit-jupiter:1.17.4'
}

test {
    useJUnitPlatform()
}

task fastTests(type: Test) {
    useJUnitPlatform {
        excludeTags "slow"
    }
}
