Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
skiko
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liuqiang
skiko
Commits
86abfd4c
Unverified
Commit
86abfd4c
authored
Jan 12, 2023
by
Oleksandr Karpovich
Committed by
GitHub
Jan 12, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
use kotlin 1.8.0 (#644)
parent
dc985814
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
54 additions
and
43 deletions
+54
-43
build.gradle.kts
samples/SkiaAndroidSample/build.gradle.kts
+2
-2
build.gradle.kts
samples/SkiaAwtSample/build.gradle.kts
+1
-1
build.gradle.kts
samples/SkiaJsSample/build.gradle.kts
+1
-1
build.gradle.kts
samples/SkiaMultiplatformSample/build.gradle.kts
+2
-2
build.gradle.kts
skiko/build.gradle.kts
+42
-36
gradle.properties
skiko/gradle.properties
+2
-0
SkiaLayer.macos.kt
...c/macosMain/kotlin/org/jetbrains/skiko/SkiaLayer.macos.kt
+4
-1
No files found.
samples/SkiaAndroidSample/build.gradle.kts
View file @
86abfd4c
...
@@ -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.1
0"
kotlin
(
"android"
)
version
"1.
8.
0"
}
}
val
skikoNativeX64
by
configurations
.
creating
val
skikoNativeX64
by
configurations
.
creating
...
@@ -87,4 +87,4 @@ dependencies {
...
@@ -87,4 +87,4 @@ dependencies {
tasks
.
withType
<
org
.
jetbrains
.
kotlin
.
gradle
.
dsl
.
KotlinJvmCompile
>().
configureEach
{
tasks
.
withType
<
org
.
jetbrains
.
kotlin
.
gradle
.
dsl
.
KotlinJvmCompile
>().
configureEach
{
dependsOn
(
unzipTaskX64
)
dependsOn
(
unzipTaskX64
)
dependsOn
(
unzipTaskArm64
)
dependsOn
(
unzipTaskArm64
)
}
}
\ No newline at end of file
samples/SkiaAwtSample/build.gradle.kts
View file @
86abfd4c
import
org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import
org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins
{
plugins
{
kotlin
(
"jvm"
)
version
"1.
6.1
0"
kotlin
(
"jvm"
)
version
"1.
8.
0"
application
application
}
}
...
...
samples/SkiaJsSample/build.gradle.kts
View file @
86abfd4c
plugins
{
plugins
{
kotlin
(
"multiplatform"
)
version
"1.
6.1
0"
kotlin
(
"multiplatform"
)
version
"1.
8.
0"
}
}
repositories
{
repositories
{
...
...
samples/SkiaMultiplatformSample/build.gradle.kts
View file @
86abfd4c
...
@@ -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.2
0"
))
classpath
(
kotlin
(
"gradle-plugin"
,
version
=
"1.
8.
0"
))
}
}
}
}
plugins
{
plugins
{
kotlin
(
"multiplatform"
)
version
"1.
7.2
0"
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"
}
}
...
...
skiko/build.gradle.kts
View file @
86abfd4c
...
@@ -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.2
0"
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,42 +440,47 @@ fun configureNativeTarget(os: OS, arch: Arch, target: KotlinNativeTarget) {
...
@@ -439,42 +440,47 @@ 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
val
skiaBinDir
=
"$skiaDir/out/${buildType.id}-$targetString"
val
linkerFlags
=
when
(
os
)
{
OS
.
MacOS
->
mutableListOf
(
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"Metal"
,
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"CoreGraphics"
,
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"CoreText"
,
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"CoreServices"
)
OS
.
IOS
->
mutableListOf
(
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"Metal"
,
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"CoreGraphics"
,
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"UIKit"
,
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"CoreText"
)
OS
.
Linux
->
mutableListOf
(
"-linker-option"
,
"-L/usr/lib/x86_64-linux-gnu"
,
"-linker-option"
,
"-lfontconfig"
,
"-linker-option"
,
"-lGL"
,
// TODO: an ugly hack, Linux linker searches only unresolved symbols.
"-linker-option"
,
"$skiaBinDir/libsksg.a"
,
"-linker-option"
,
"$skiaBinDir/libskshaper.a"
,
"-linker-option"
,
"$skiaBinDir/libskunicode.a"
,
"-linker-option"
,
"$skiaBinDir/libskia.a"
)
else
->
mutableListOf
()
}
if
(
skiko
.
includeTestHelpers
)
{
linkerFlags
.
addAll
(
when
(
os
)
{
OS
.
Linux
->
listOf
(
"-linker-option"
,
"-lX11"
,
"-linker-option"
,
"-lGLX"
,
)
else
->
emptyList
()
})
}
// 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
{
target
.
compilations
.
all
{
val
skiaBinDir
=
"$skiaDir/out/${buildType.id}-$targetString"
this
.
kotlinOptions
{
kotlinOptions
{
val
linkerFlags
=
when
(
os
)
{
freeCompilerArgs
+=
allLibraries
.
map
{
listOf
(
"-include-binary"
,
it
)
}.
flatten
()
+
linkerFlags
OS
.
MacOS
->
mutableListOf
(
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"Metal"
,
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"CoreGraphics"
,
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"CoreText"
,
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"CoreServices"
)
OS
.
IOS
->
mutableListOf
(
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"Metal"
,
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"CoreGraphics"
,
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"UIKit"
,
"-linker-option"
,
"-framework"
,
"-linker-option"
,
"CoreText"
)
OS
.
Linux
->
mutableListOf
(
"-linker-option"
,
"-L/usr/lib/x86_64-linux-gnu"
,
"-linker-option"
,
"-lfontconfig"
,
"-linker-option"
,
"-lGL"
,
// TODO: an ugly hack, Linux linker searches only unresolved symbols.
"-linker-option"
,
"$skiaBinDir/libsksg.a"
,
"-linker-option"
,
"$skiaBinDir/libskshaper.a"
,
"-linker-option"
,
"$skiaBinDir/libskunicode.a"
,
"-linker-option"
,
"$skiaBinDir/libskia.a"
)
else
->
mutableListOf
()
}
if
(
skiko
.
includeTestHelpers
)
{
linkerFlags
.
addAll
(
when
(
os
)
{
OS
.
Linux
->
listOf
(
"-linker-option"
,
"-lX11"
,
"-linker-option"
,
"-lGLX"
,
)
else
->
emptyList
()
})
}
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
{
compile
Kotlin
TaskProvider
.
configure
{
compileTaskProvider
.
configure
{
dependsOn
(
linkTask
)
dependsOn
(
linkTask
)
}
}
}
}
...
...
skiko/gradle.properties
View file @
86abfd4c
...
@@ -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
skiko/src/macosMain/kotlin/org/jetbrains/skiko/SkiaLayer.macos.kt
View file @
86abfd4c
...
@@ -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
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment