plugins {
    id 'java-library'
    id 'java-test-fixtures'
}

apply from: '../../java_tools/dependencies.gradle'

configurations {
    all*.exclude group: 'org.hamcrest', module: 'hamcrest-core'
}

tasks.withType(Test) {
    systemProperty "java.library.path", "../../unit_tests/build"
}

dependencies {
    api project(':models')
    api project(':util')

    implementation group: 'com.fazecast', name: 'jSerialComm', version: '2.10.3'
    implementation global_libs.jcip
    implementation project(':logging')

    // junit 4.13 does not mix well with httpclient :(
    testImplementation group: 'junit', name: 'junit', version: '4.8.2'
    testFixturesImplementation global_libs.mockito
    testFixturesApi global_libs.annotations
    testFixturesApi global_libs.junit
}

compileJava {
    doLast {
        // gradle java plugin always generates JNI headers
        copy {
            from 'build/generated/sources/headers/java/main'
            into "../../unit_tests/native"
            include 'com*.h'
        }
    }
}