buildscript { repositories { mavenCentral() val kotlinCompilerRepo: String? by rootProject kotlinCompilerRepo?.let { maven(it) } } val kotlin_version: String by rootProject dependencies { classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") } } allprojects { repositories { mavenCentral() val kotlinCompilerRepo: String? by rootProject kotlinCompilerRepo?.let { maven(it) } } tasks.withType().configureEach { compilerOptions.freeCompilerArgs.addAll( "-XXLanguage:+ImplicitSignedToUnsignedIntegerConversion", "-opt-in=kotlinx.cinterop.ExperimentalForeignApi", "-opt-in=kotlin.experimental.ExperimentalNativeApi" ) } } val hostOs = System.getProperty("os.name") val isMacos = hostOs == "Mac OS X" val isLinux = hostOs == "Linux" val isWindows = hostOs.startsWith("Windows") val localRepo = rootProject.file("build/.m2-local") val clean by tasks.creating(Delete::class) { delete(localRepo) } val buildSamplesWithPlatformLibs by tasks.creating { dependsOn(":csvparser:assemble") if (!isWindows) { dependsOn(":curl:assemble") } dependsOn(":globalState:assemble") dependsOn(":workers:assemble") if (isMacos || isLinux) { dependsOn(":echoServer:assemble") //https://youtrack.jetbrains.com/issue/KT-63721/ dependsOn(":nonBlockingEchoServer:assemble") dependsOn(":tensorflow:assemble") } if (isMacos) { dependsOn(":objc:assemble") dependsOn(":opengl:assemble") dependsOn(":uikit:assemble") dependsOn(":watchos:assemble") } if (isWindows) { dependsOn(":win32:assemble") } }