buildscript {
    repositories {
        mavenLocal()
        jcenter()
        mavenCentral()
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
        classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:$gradle_bintray_plugin_version"
    }
}

plugins {
    id "org.jetbrains.kotlin.multiplatform" version "$kotlin_version"
    id "org.jetbrains.kotlin.plugin.serialization" version "$kotlin_version"
}

project.version = "$core_version"
project.group = "com.insanusmokrassar"

repositories {
    mavenLocal()
    jcenter()
    mavenCentral()
    maven { url "https://kotlin.bintray.com/kotlinx" }
}

kotlin {
    jvm()
    js (BOTH) {
        browser()
        nodejs()
    }

    sourceSets {
        commonMain {
            dependencies {
                implementation kotlin('stdlib')

                if ((project.hasProperty('RELEASE_MODE') && project.property('RELEASE_MODE') == "true") || System.getenv('RELEASE_MODE') == "true") {
                    api "com.insanusmokrassar:postssystem.ktor.common:$core_version"
                    api "com.insanusmokrassar:postssystem.publishing.api:$core_version"
                } else {
                    api projectByName("postssystem.ktor.common")
                    api projectByName("postssystem.publishing.api")
                }
            }
        }
        commonTest {
            dependencies {
                implementation kotlin('test-common')
                implementation kotlin('test-annotations-common')
            }
        }
        jvmMain {
            dependencies {
                implementation kotlin('stdlib-jdk8')
            }
        }
        jvmTest {
            dependencies {
                implementation kotlin('test-junit')
            }
        }
        jsMain {
            dependencies {
                implementation kotlin('stdlib-js')
            }
        }
        jsTest {
            dependencies {
                implementation kotlin('test-js')
                implementation kotlin('test-junit')
            }
        }
    }
}