project.version = "$library_version"
project.group = "$library_group"

kotlin {
    jvm {
        compilations.main {
            kotlinOptions {
                jvmTarget = "17"
            }
        }
    }
    js (IR) {
        browser()
        nodejs()
    }
    linuxX64()
    mingwX64()
    linuxArm64()

    sourceSets {
        commonMain {
            dependencies {
                implementation libs.kotlin
                api libs.kotlin.serialization
            }
        }
        commonTest {
            dependencies {
                implementation libs.kotlin.test.common
                implementation libs.kotlin.test.annotations.common
            }
        }
        jvmTest {
            dependencies {
                implementation libs.kotlin.test.junit
            }
        }
        jsTest {
            dependencies {
                implementation libs.kotlin.test.js
                implementation libs.kotlin.test.junit
            }
        }
        all {
            languageSettings {
                optIn('dev.inmo.tgbotapi.utils.RiskFeature')
                optIn('dev.inmo.tgbotapi.utils.PreviewFeature')
                optIn('dev.inmo.micro_utils.common.Warning')
                optIn('dev.inmo.micro_utils.common.PreviewFeature')
            }
        }
    }
}

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