diff --git a/plugin/src/main/kotlin/com/louiscad/complete_kotlin/CompleteKotlinPlugin.kt b/plugin/src/main/kotlin/com/louiscad/complete_kotlin/CompleteKotlinPlugin.kt index 29f648d..7dac12a 100644 --- a/plugin/src/main/kotlin/com/louiscad/complete_kotlin/CompleteKotlinPlugin.kt +++ b/plugin/src/main/kotlin/com/louiscad/complete_kotlin/CompleteKotlinPlugin.kt @@ -5,6 +5,7 @@ package com.louiscad.complete_kotlin +import com.louiscad.complete_kotlin.internal.KotlinNativeCompilerInfo import com.louiscad.complete_kotlin.internal.completePlatformKlibsIfNeeded import org.gradle.api.Plugin import org.gradle.api.Project @@ -54,6 +55,9 @@ class CompleteKotlinPlugin : Plugin { } private fun setupIfNeeded(project: Project) { + if (project.rootProject.hasProperty("kotlin.native.distribution.baseDownloadUrl")) { + KotlinNativeCompilerInfo.buildUrl = project.rootProject.property("kotlin.native.distribution.baseDownloadUrl")?.toString() ?: "" + } project.plugins.withId("org.jetbrains.kotlin.multiplatform") { project.completePlatformKlibsIfNeeded() } diff --git a/plugin/src/main/kotlin/com/louiscad/complete_kotlin/internal/KotlinNativeCompilerInfo.kt b/plugin/src/main/kotlin/com/louiscad/complete_kotlin/internal/KotlinNativeCompilerInfo.kt index adab3da..fad2a3e 100644 --- a/plugin/src/main/kotlin/com/louiscad/complete_kotlin/internal/KotlinNativeCompilerInfo.kt +++ b/plugin/src/main/kotlin/com/louiscad/complete_kotlin/internal/KotlinNativeCompilerInfo.kt @@ -14,6 +14,8 @@ internal class KotlinNativeCompilerInfo( companion object { val konanDir = File(System.getProperty("user.home")).resolve(".konan") + val buildRawUrl = "https://complete-kotlin-prebuilt.louiscad.com/kotlin/native/builds" + var buildUrl = buildRawUrl } private val kindaSimpleOsName: String = when { @@ -33,7 +35,7 @@ internal class KotlinNativeCompilerInfo( val archiveExtension: String = if (useZip) "zip" else "tar.gz" val repoUrl: String - get() = "https://complete-kotlin-prebuilt.louiscad.com/kotlin/native/builds".let { baseDownloadUrl -> + get() = buildUrl.ifEmpty { buildRawUrl }.let { baseDownloadUrl -> val releasePath = when (compilerVersion.meta) { MetaVersion.DEV -> "dev" else -> "releases"