Unverified Commit 86abfd4c authored by Oleksandr Karpovich's avatar Oleksandr Karpovich Committed by GitHub

use kotlin 1.8.0 (#644)

parent dc985814
...@@ -19,7 +19,7 @@ repositories { ...@@ -19,7 +19,7 @@ repositories {
plugins { plugins {
id("com.android.application") version "7.0.2" id("com.android.application") version "7.0.2"
kotlin("android") version "1.6.10" kotlin("android") version "1.8.0"
} }
val skikoNativeX64 by configurations.creating val skikoNativeX64 by configurations.creating
......
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins { plugins {
kotlin("jvm") version "1.6.10" kotlin("jvm") version "1.8.0"
application application
} }
......
plugins { plugins {
kotlin("multiplatform") version "1.6.10" kotlin("multiplatform") version "1.8.0"
} }
repositories { repositories {
......
...@@ -10,12 +10,12 @@ buildscript { ...@@ -10,12 +10,12 @@ buildscript {
dependencies { dependencies {
// __KOTLIN_COMPOSE_VERSION__ // __KOTLIN_COMPOSE_VERSION__
classpath(kotlin("gradle-plugin", version = "1.7.20")) classpath(kotlin("gradle-plugin", version = "1.8.0"))
} }
} }
plugins { plugins {
kotlin("multiplatform") version "1.7.20" kotlin("multiplatform") version "1.8.0"
id("org.jetbrains.gradle.apple.applePlugin") version "222.3345.143-0.16" id("org.jetbrains.gradle.apple.applePlugin") version "222.3345.143-0.16"
} }
......
...@@ -6,9 +6,10 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget ...@@ -6,9 +6,10 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.jetbrains.kotlin.gradle.tasks.KotlinCompileTool import org.jetbrains.kotlin.gradle.tasks.KotlinCompileTool
import org.jetbrains.kotlin.konan.target.KonanTarget
plugins { plugins {
kotlin("multiplatform") version "1.7.20" kotlin("multiplatform") version "1.8.0"
id("org.jetbrains.dokka") version "1.7.20" id("org.jetbrains.dokka") version "1.7.20"
`maven-publish` `maven-publish`
signing signing
...@@ -439,10 +440,8 @@ fun configureNativeTarget(os: OS, arch: Arch, target: KotlinNativeTarget) { ...@@ -439,10 +440,8 @@ fun configureNativeTarget(os: OS, arch: Arch, target: KotlinNativeTarget) {
val bridgesLibrary = "$buildDir/nativeBridges/static/$targetString/skiko-native-bridges-$targetString.a" val bridgesLibrary = "$buildDir/nativeBridges/static/$targetString/skiko-native-bridges-$targetString.a"
val allLibraries = skiaStaticLibraries(skiaDir, targetString) + bridgesLibrary val allLibraries = skiaStaticLibraries(skiaDir, targetString) + bridgesLibrary
target.compilations.all {
val skiaBinDir = "$skiaDir/out/${buildType.id}-$targetString" val skiaBinDir = "$skiaDir/out/${buildType.id}-$targetString"
this.
kotlinOptions {
val linkerFlags = when (os) { val linkerFlags = when (os) {
OS.MacOS -> mutableListOf("-linker-option", "-framework", "-linker-option", "Metal", OS.MacOS -> mutableListOf("-linker-option", "-framework", "-linker-option", "Metal",
"-linker-option", "-framework", "-linker-option", "CoreGraphics", "-linker-option", "-framework", "-linker-option", "CoreGraphics",
...@@ -474,7 +473,14 @@ fun configureNativeTarget(os: OS, arch: Arch, target: KotlinNativeTarget) { ...@@ -474,7 +473,14 @@ fun configureNativeTarget(os: OS, arch: Arch, target: KotlinNativeTarget) {
else -> emptyList() else -> emptyList()
}) })
} }
freeCompilerArgs = allLibraries.map { listOf("-include-binary", it) }.flatten() + linkerFlags
// For some reason since 1.8.0 we need to set freeCompilerArgs for binaries AND for compilations
target.binaries.all {
freeCompilerArgs += allLibraries.map { listOf("-include-binary", it) }.flatten() + linkerFlags
}
target.compilations.all {
kotlinOptions {
freeCompilerArgs += allLibraries.map { listOf("-include-binary", it) }.flatten() + linkerFlags
} }
} }
...@@ -508,7 +514,7 @@ fun configureNativeTarget(os: OS, arch: Arch, target: KotlinNativeTarget) { ...@@ -508,7 +514,7 @@ fun configureNativeTarget(os: OS, arch: Arch, target: KotlinNativeTarget) {
outputs.dir(outDir) outputs.dir(outDir)
} }
target.compilations.all { target.compilations.all {
compileKotlinTaskProvider.configure { compileTaskProvider.configure {
dependsOn(linkTask) dependsOn(linkTask)
} }
} }
......
...@@ -18,3 +18,5 @@ dependencies.skia.android-x64=m105-adda216f-2 ...@@ -18,3 +18,5 @@ dependencies.skia.android-x64=m105-adda216f-2
dependencies.skia.android-arm64=m105-adda216f-2 dependencies.skia.android-arm64=m105-adda216f-2
org.gradle.jvmargs=-Xmx3G -XX:MaxMetaspaceSize=512m org.gradle.jvmargs=-Xmx3G -XX:MaxMetaspaceSize=512m
kotlin.native.cacheKind.macosX64=none
kotlin.native.cacheKind.iosX64=none
...@@ -115,7 +115,10 @@ actual open class SkiaLayer { ...@@ -115,7 +115,10 @@ actual open class SkiaLayer {
override fun viewWillMoveToWindow(newWindow: NSWindow?) { override fun viewWillMoveToWindow(newWindow: NSWindow?) {
updateTrackingAreas() updateTrackingAreas()
} }
override fun updateTrackingAreas() {
@ObjCAction // override
// see https://youtrack.jetbrains.com/issue/KT-40426/Incorrect-Objective-C-extensions-importing-that-prevents-UIKit-usage#focus=Comments-27-5208687.0-0
fun updateTrackingAreas() {
trackingArea?.let { removeTrackingArea(it) } trackingArea?.let { removeTrackingArea(it) }
trackingArea = NSTrackingArea( trackingArea = NSTrackingArea(
rect = bounds, rect = bounds,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment