blob: 7311aa68dd2273125006f731d88ebbd6a06bf827 [file] [log] [blame] [edit]
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) }
}
}
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 buildSh by tasks.creating(Exec::class) {
errorOutput = System.out
isIgnoreExitValue = true
workingDir = projectDir
enabled = !isWindows
if (isLinux || isMacos) {
commandLine = listOf(projectDir.resolve("build.sh").toString())
}
}
val buildSamplesWithPlatformLibs by tasks.creating {
dependsOn(":csvparser:assemble")
dependsOn(":curl:assemble")
dependsOn(":echoServer:assemble")
dependsOn(":globalState:assemble")
dependsOn(":html5Canvas:assemble")
dependsOn(":workers:assemble")
if (isMacos || isLinux) {
dependsOn(":nonBlockingEchoServer:assemble")
dependsOn(":tensorflow:assemble")
}
if (isMacos) {
dependsOn(":objc:assemble")
dependsOn(":opengl:assemble")
dependsOn(":uikit:assemble")
dependsOn(":coverage:assemble")
dependsOn(":watchos:assemble")
}
if (isWindows) {
dependsOn(":win32:assemble")
}
}
val buildAllSamples by tasks.creating {
subprojects.forEach {
dependsOn("${it.path}:assemble")
}
finalizedBy(buildSh)
}