plugins {
    id 'java'

    id 'application'
    id 'jvm-test-suite'
}

java {
    toolchain {
        languageVersion.set(JavaLanguageVersion.of(rootProject.ext.jvmVersion))
    }
}

application {
    mainClass = 'nu.marginalia.index.IndexConstructorMain'
    applicationName = 'index-construction-process'
}

tasks.distZip.enabled = false

apply from: "$rootProject.projectDir/srcsets.gradle"

dependencies {
    implementation project(':code:processes:process-mq-api')
    implementation project(':code:common:service')
    implementation project(':code:common:db')
    implementation project(':code:common:config')
    implementation project(':code:common:model')
    implementation project(':code:libraries:message-queue')

    implementation project(':code:index:query')
    implementation project(':code:index:index-forward')
    implementation project(':code:index:index-reverse')
    implementation project(':code:index:index-journal')

    implementation libs.bundles.slf4j
    
    implementation libs.guava
    implementation dependencies.create(libs.guice.get()) {
        exclude group: 'com.google.guava'
    }

    implementation libs.bundles.mariadb
    implementation libs.bundles.gson

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

    testImplementation project(':code:processes:test-data')
}

