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.tools.TermFrequencyExtractor'
    applicationName = 'term-frequency-extractor'
}

tasks.distZip.enabled = false

dependencies {
    implementation project(':third-party:rdrpostagger')
    implementation project(':third-party:porterstemmer')
    implementation project(':third-party:monkey-patch-opennlp')
    implementation project(':code:common:model')
    implementation project(':code:common:config')
    implementation project(':code:common:process')
    implementation project(':code:libraries:language-processing')
    implementation project(':code:libraries:term-frequency-dict')
    implementation project(':code:libraries:big-string')
    implementation project(':code:processes:converting-process')
    implementation project(':code:process-models:crawling-model')

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

    implementation libs.guice
    implementation libs.jsoup
    implementation libs.trove
    implementation libs.fastutil

    implementation libs.bundles.nlp
    implementation libs.commons.lang3

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


test {
    useJUnitPlatform()
}

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