// This file applies configuration common to projects in buildSrc

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

apply plugin: "kotlin"

buildscript {
    project.ext.supportRootFolder = buildscript.sourceFile.parentFile.parentFile
    apply from: "${buildscript.sourceFile.parent}/repos.gradle"
    repos.addMavenRepositories(repositories)
    dependencies {
        classpath(libs.kotlinGradlePlugin)
    }
}

dependencies {
    implementation(project(":jetpad-integration"))
}

apply from: "${buildscript.sourceFile.parent}/shared-dependencies.gradle"

java {
    sourceCompatibility = JavaVersion.VERSION_17
    targetCompatibility = JavaVersion.VERSION_17
}

project.tasks.withType(Jar).configureEach { task ->
    task.reproducibleFileOrder = true
    task.preserveFileTimestamps = false
}

project.repos.addMavenRepositories(project.repositories)
tasks.withType(KotlinCompile).configureEach {
    kotlinOptions {
        jvmTarget = "17"
        freeCompilerArgs += [
                "-Werror",
                "-Xskip-metadata-version-check",
                "-Xjdk-release=17",
        ]
        languageVersion = "1.8"
        apiVersion = "1.8"
    }
}
