98 lines
2.9 KiB
Kotlin
98 lines
2.9 KiB
Kotlin
import org.jetbrains.kotlin.gradle.utils.NativeCompilerDownloader
|
|
|
|
buildscript {
|
|
val cacheRedirectorEnabled = findProperty("cacheRedirectorEnabled")?.toString()?.toBoolean() ?: false
|
|
dependencies {
|
|
classpath("org.jetbrains.kotlin:kotlin-build-gradle-plugin:0.0.26")
|
|
}
|
|
repositories {
|
|
if (cacheRedirectorEnabled)
|
|
maven("https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-dependencies")
|
|
else
|
|
maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-dependencies")
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
kotlin("jvm")
|
|
id("jps-compatible")
|
|
}
|
|
|
|
kotlin {
|
|
explicitApi()
|
|
}
|
|
|
|
description = "Kotlin KLIB Library Commonizer API"
|
|
publish()
|
|
|
|
dependencies {
|
|
implementation(kotlinStdlib())
|
|
implementation(project(":native:kotlin-native-utils"))
|
|
testImplementation(project(":kotlin-test::kotlin-test-junit"))
|
|
testImplementation(commonDependency("junit:junit"))
|
|
testImplementation(projectTests(":compiler:tests-common"))
|
|
testRuntimeOnly(project(":native:kotlin-klib-commonizer"))
|
|
}
|
|
|
|
sourceSets {
|
|
"main" { projectDefault() }
|
|
"test" { projectDefault() }
|
|
}
|
|
|
|
/**
|
|
* TODO: This version hack on migrating period K/N into repository Kotlin, in new build infrostructure zero maintance claus isn't dropped,
|
|
* so for old builds we need to keep this version to string representation till total switch on new infrostructure.
|
|
*/
|
|
val konanVersion = object : org.jetbrains.kotlin.konan.CompilerVersion by NativeCompilerDownloader.DEFAULT_KONAN_VERSION {
|
|
override fun toString(showMeta: Boolean, showBuild: Boolean) = buildString {
|
|
if (major > 1
|
|
|| minor > 5
|
|
|| maintenance > 20
|
|
)
|
|
return NativeCompilerDownloader.DEFAULT_KONAN_VERSION.toString(showMeta, showBuild)
|
|
append(major)
|
|
append('.')
|
|
append(minor)
|
|
if (maintenance != 0) {
|
|
append('.')
|
|
append(maintenance)
|
|
}
|
|
if (milestone != -1) {
|
|
append("-M")
|
|
append(milestone)
|
|
}
|
|
if (showMeta) {
|
|
append('-')
|
|
append(meta.metaString)
|
|
}
|
|
if (showBuild && build != -1) {
|
|
append('-')
|
|
append(build)
|
|
}
|
|
}
|
|
|
|
override fun toString() = toString(
|
|
meta != org.jetbrains.kotlin.konan.MetaVersion.RELEASE,
|
|
meta != org.jetbrains.kotlin.konan.MetaVersion.RELEASE
|
|
)
|
|
}
|
|
|
|
tasks.register("downloadNativeCompiler") {
|
|
doFirst {
|
|
if (NativeCompilerDownloader(project, konanVersion).compilerDirectory.exists()) return@doFirst
|
|
NativeCompilerDownloader(project, konanVersion).downloadIfNeeded()
|
|
}
|
|
}
|
|
|
|
|
|
projectTest(parallel = false) {
|
|
dependsOn(":dist")
|
|
dependsOn("downloadNativeCompiler")
|
|
workingDir = projectDir
|
|
environment("KONAN_HOME", NativeCompilerDownloader(project, konanVersion).compilerDirectory.absolutePath)
|
|
}
|
|
|
|
runtimeJar()
|
|
sourcesJar()
|
|
javadocJar()
|