plugins {
    id 'java'
}

description = 'borgbutler-core'

dependencies {
    implementation group: 'commons-io', name: 'commons-io', version: '2.8.0'
    implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.8.1'
    implementation group: 'org.apache.commons', name: 'commons-exec', version: '1.3'
    implementation group: 'org.apache.commons', name: 'commons-collections4', version: '4.2'
    implementation group: 'org.apache.commons', name: 'commons-compress', version: '1.20'
    implementation group: 'org.apache.commons', name: 'commons-jcs-core', version: '2.2.1'
    // https://mvnrepository.com/artifact/com.esotericsoftware/kryo
    implementation group: 'com.esotericsoftware', name: 'kryo', version: '5.1.0'
    // Serialization (faster than Java built-in)
    implementation 'io.github.microutils:kotlin-logging-jvm:2.0.6'

    implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.12.3'
    implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.12.3'
    // https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jsr310
    implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.12.3'


    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
}

repositories {
    mavenCentral()
    jcenter()
}

sourceSets {
    main.java.srcDirs += 'src/main/java'
    main.java.srcDirs += 'src/main/kotlin'
}

test {
    // set heap size for the test JVM(s)
    minHeapSize = "128m"
    maxHeapSize = "1500m"
}
