Plumbing KlibMetadataVersion and KlibIrVersion values to klib manifest

This commit is contained in:
Alexander Gorshenev
2019-11-28 03:14:25 +03:00
committed by alexander-gorshenev
parent bf12f7eee0
commit b0f077ff4b
22 changed files with 128 additions and 136 deletions
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider.Companion.KOTLIN_NATIVE_HOME
import org.jetbrains.kotlin.gradle.utils.NativeCompilerDownloader
import org.jetbrains.kotlin.konan.KonanVersion
import org.jetbrains.kotlin.konan.CompilerVersion
import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.konan.target.KonanTarget
import org.jetbrains.kotlin.konan.util.DependencyDirectories
@@ -43,9 +43,9 @@ internal val Project.konanHome: String
file(it).absolutePath
} ?: NativeCompilerDownloader(project).compilerDirectory.absolutePath
internal val Project.konanVersion: KonanVersion
internal val Project.konanVersion: CompilerVersion
get() = PropertiesProvider(this).nativeVersion?.let {
KonanVersion.fromString(it.toString())
CompilerVersion.fromString(it.toString())
} ?: NativeCompilerDownloader.DEFAULT_KONAN_VERSION
internal val Project.disableKonanDaemon: Boolean
@@ -6,18 +6,15 @@
@file:Suppress("PackageDirectoryMismatch") // Old package for compatibility
package org.jetbrains.kotlin.gradle.utils
import org.gradle.api.Action
import org.gradle.api.Project
import org.gradle.api.artifacts.repositories.ArtifactRepository
import org.gradle.api.artifacts.repositories.IvyArtifactRepository
import org.gradle.api.artifacts.repositories.IvyPatternRepositoryLayout
import org.gradle.api.file.FileTree
import org.gradle.api.logging.Logger
import org.jetbrains.kotlin.compilerRunner.KonanCompilerRunner
import org.jetbrains.kotlin.compilerRunner.konanVersion
import org.jetbrains.kotlin.gradle.logging.kotlinInfo
import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
import org.jetbrains.kotlin.konan.KonanVersion
import org.jetbrains.kotlin.konan.CompilerVersion
import org.jetbrains.kotlin.konan.MetaVersion
import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.konan.util.DependencyDirectories
@@ -25,12 +22,12 @@ import java.io.File
class NativeCompilerDownloader(
val project: Project,
private val compilerVersion: KonanVersion = project.konanVersion
private val compilerVersion: CompilerVersion = project.konanVersion
) {
companion object {
internal val DEFAULT_KONAN_VERSION: KonanVersion by lazy {
KonanVersion.fromString(loadPropertyFromResources("project.properties", "kotlin.native.version"))
internal val DEFAULT_KONAN_VERSION: CompilerVersion by lazy {
CompilerVersion.fromString(loadPropertyFromResources("project.properties", "kotlin.native.version"))
}
private const val BASE_DOWNLOAD_URL = "https://download.jetbrains.com/kotlin/native/builds"
@@ -18,8 +18,7 @@ import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesClientSetti
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesTestExecutionSpec
import org.jetbrains.kotlin.gradle.targets.native.internal.parseKotlinNativeStackTraceAsJvm
import org.jetbrains.kotlin.gradle.tasks.KotlinTest
import org.jetbrains.kotlin.konan.KonanVersion
import org.jetbrains.kotlin.konan.MetaVersion
import org.jetbrains.kotlin.konan.CompilerVersion
import java.io.File
import java.util.concurrent.Callable
@@ -101,7 +100,7 @@ open class KotlinNativeTest : KotlinTest() {
// KonanVersion doesn't provide an API to compare versions,
// so we have to transform it to KotlinVersion first.
// Note: this check doesn't take into account the meta version (release, eap, dev).
private fun KonanVersion.isAtLeast(major: Int, minor: Int, patch: Int): Boolean =
private fun CompilerVersion.isAtLeast(major: Int, minor: Int, patch: Int): Boolean =
KotlinVersion(this.major, this.minor, this.maintenance).isAtLeast(major, minor, patch)
override fun createTestExecutionSpec(): TCServiceMessagesTestExecutionSpec {