plugins {
    id 'java'

    id 'application'
    id 'jvm-test-suite'
}
java {
    toolchain {
        languageVersion.set(JavaLanguageVersion.of(rootProject.ext.jvmVersion))
    }
}

application {
    mainClass = 'nu.marginalia.task.ExportTaskMain'
    applicationName = 'export-task-process'
}

tasks.distZip.enabled = false

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

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

    implementation project(':code:functions:link-graph:api')
    implementation project(':code:processes:process-mq-api')
    implementation project(':code:libraries:language-processing')
    implementation project(':code:libraries:term-frequency-dict')
    implementation project(':code:libraries:blocking-thread-pool')
    implementation project(':code:processes:crawling-process:ft-link-parser')
    implementation project(':code:processes:converting-process:ft-anchor-keywords')
    implementation project(':code:processes:crawling-process:model')
    implementation project(':code:processes:converting-process')
    implementation project(':third-party:commons-codec')

    implementation libs.bundles.slf4j

    implementation libs.guava
    implementation dependencies.create(libs.guice.get()) {
        exclude group: 'com.google.guava'
    }
    implementation libs.roaringbitmap
    implementation libs.trove
    implementation libs.fastutil
    implementation libs.bundles.mariadb
    implementation libs.gson
    implementation libs.commons.lang3
    implementation libs.commons.io
    implementation libs.commons.compress
    implementation libs.commons.codec
    implementation libs.jsoup
    implementation libs.slop
    implementation libs.jwarc



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

    testImplementation platform('org.testcontainers:testcontainers-bom:1.17.4')
    testImplementation libs.commons.codec
    testImplementation 'org.testcontainers:mariadb:1.17.4'
    testImplementation 'org.testcontainers:junit-jupiter:1.17.4'
    testImplementation project(':code:libraries:test-helpers')
}
