
plugins {
    id 'java'
    id 'application'
    id "org.jetbrains.kotlin.jvm"
    id "io.kotest" version "0.3.9"
}

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(javaVersion)
    }
}

compileKotlin {
    kotlinOptions {
        jvmTarget = javaVersion
    }
}

compileTestKotlin {
    kotlinOptions {
        jvmTarget = javaVersion
    }
}

dependencies {
    implementation project(':codeCore')
    implementation project(':intermediate')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
    implementation "com.michael-bull.kotlin-result:kotlin-result-jvm:1.1.18"
    testImplementation 'io.kotest:kotest-runner-junit5-jvm:5.8.0'
}

sourceSets {
    main {
        java {
            srcDir "${project.projectDir}/src"
        }
        resources {
            srcDir "${project.projectDir}/res"
        }
    }

    test {
        java {
            srcDir "${project.projectDir}/test"
        }
    }
}

test {
    // Enable JUnit 5 (Gradle 4.6+).
    useJUnitPlatform()

    // Always run tests, even when nothing changed.
    dependsOn 'cleanTest'

    // Show test results.
    testLogging {
        events "skipped", "failed"
    }
}
