Conversation
There was a problem hiding this comment.
Pull request overview
This PR upgrades Skiko from Kotlin 2.0.10 to 2.3.0, with substantial refactoring to support the newer Kotlin version. The PR is described as a test to investigate build failures on Linux in PR #1173, and adds the --allow-shlib-undefined linker option for Linux native builds.
Changes:
- Kotlin version upgraded from 2.0.10 to 2.3.0 across all modules and samples
- Web platform refactored to use standard
kotlinx.browserandorg.w3c.domAPIs instead of custom W3C declarations - Build configuration updated to use
compilerOptionsinstead of deprecatedkotlinOptions - Native C interop updated to use explicit unsigned literals instead of implicit conversions
- Import generator plugin enhanced to support both JS and WASM targets with WebImport annotation
- Android Gradle Plugin upgraded from 7.4.2 to 8.2.2
Reviewed changes
Copilot reviewed 59 out of 65 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| skiko/buildSrc/gradle.properties | Updated Kotlin version to 2.3.0 |
| skiko/build.gradle.kts | Added language/API version config, updated module names, commented out implicit unsigned conversion flag |
| dependencies.toml | Updated Kotlin to 2.3.0, Android Gradle Plugin to 8.2.2, added kotlinx-browser dependency |
| skiko/buildSrc/src/main/kotlin/tasks/configuration/NativeTasksConfiguration.kt | Added --allow-shlib-undefined linker flag, migrated to compilerOptions, updated cinterop API |
| skiko/src/webMain/kotlin/org/jetbrains/skiko/w3c/W3CSubset.kt | Removed custom W3C declarations (replaced by standard library) |
| skiko/src/webMain/kotlin/org/jetbrains/skiko/*.kt | Multiple files migrated from custom W3C to kotlinx.browser imports |
| skiko/src/webMain/kotlin/org/jetbrains/skiko/Actuals.web.kt | Added WebImport annotation definition |
| skiko/src/webMain/kotlin/org/jetbrains/skia/webext/ArrayBuffer.web.kt | Refactored from expect/actual pattern to single web implementation |
| skiko/src/jsMain & wasmJsMain | Updated ExternalSymbolName to use WebImport, removed platform-specific implementations |
| skiko/src/nativeMain/kotlin/org/jetbrains/skiko/Resources.native.kt | Changed fread call to use explicit unsigned literal (1u) |
| skiko/src/darwinMain/kotlin/org/jetbrains/skiko/Dispatchers.kt | Updated dispatch_get_global_queue to use unsigned literal (0u) |
| skiko/src/commonTest/kotlin/* | Removed unnecessary OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE suppressions, cleaned up test data |
| skiko/import-generator/src/jvmMain/kotlin/org/jetbrains/skiko/*.kt | Enhanced to generate both JsName and WasmImport annotations from WebImport |
| samples/* | Updated Kotlin versions, migrated to compilerOptions, cleaned up unnecessary code |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| OS.Linux -> listOf( | ||
| "-linker-option", "-lX11", | ||
| "-linker-option", "-lGLX", | ||
| "-linker-option", "--allow-shlib-undefined" |
There was a problem hiding this comment.
The PR title contains a typo: "shliub" should be "shlib" (shared library).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The sole purpose of this PR is to test my hypothesis why does #1173 keep failing on linux