mirror of
https://github.com/bitsycore/compose-desktop-native.git
synced 2026-10-05 10:47:26 +00:00
Upstream baseline - Pin both vendored refs to the STABLE v1.12.0 tag (core + umbrella); the native and JVM-parity legs are back in lockstep, no dev-build skew. - Catalog: compose 1.12.0, composeRuntime 1.12.0. material3 stays 1.12.0-alpha03 - that IS the version CMP 1.12.0 ships (its own train). - Re-synced 1560 vendored files; drift + vendor-clean both clean. - Retire the SelectionLayout.kt manual vendor: upstream fixed the same out-of-bounds at the source (lastSlot = currentSlot, not currentSlot + 1), so the fork's index clamps are redundant. Back to verbatim vendoring. - Re-stamp 10 manual vendors to @ v1.12.0 (upstream unchanged base..pin). - Regenerate the klib API dumps. These had already drifted on main (the last dump predates the scrollbar / IME changes), so the diff covers that too. SDL3 3.4.16, skiko fork 0.150.1-mingw.2 - Rebuild the static libSDL3.a from release-3.4.16. - CMP 1.12.0 uses skiko 0.150.1, unchanged, so the fork's Skia base still matches; bump to the -mingw.2 build and centralise it as `skikoMingw` in the version catalog instead of three hardcoded copies. - Resolve the fork from the PUBLIC maven.bitsycore.com/releases instead of the credentialed GitHub Packages repo: building the Windows target no longer needs a GitHub token. Gradle module paths mirror the directory - Drop every projectDir redirect: :ui -> :compose:ui:ui, :animation-core -> :compose:animation:animation-core, and so on. - INVARIANT (documented in settings.gradle.kts + CLAUDE.md): the leaf directory IS the published artifactId. KMP derives a target publication's coordinate as <project.name>-<target>, and a target disabled on the building host (all Apple targets on Windows) has no publication object to retarget - while the root kotlinMultiplatform metadata, which the WINDOWS publish job owns, still emits an available-at for it. A mismatched leaf silently ships a root module pointing at a nonexistent <leaf>-macosarm64. So compose/desktop/native/window and components/resources/library are renamed to their artifactIds. Published coordinates are unchanged. Manual-vendor audit - New scripts/compose-fork/audit-exclusions.py: classifies every `!` manifest exclusion as manual vendor (VENDOR-BASE, drift-tracked), reimplementation (VENDOR-REIMPL, deliberately not tracked), or orphan, and fails on any unclassified one. - 14 project reimplementations were invisible to the drift checker by accident; mark them VENDOR-REIMPL. None needed reconciling (all verified <= 0.53 similarity to their upstream counterparts, none changed upstream between the old pin and v1.12.0). Fix the JVM apidemo build - Declare components-resources on jvmMain (decodeToImageBitmap / decodeToSvgPainter) and add the two missing cross-package imports. The JVM parity target had never compiled. Verified on Windows: both native executables link and render, apidemo JVM builds and launches, apiCheck green, common metadata compiles (the Windows publish gate), publishToMavenLocal emits the same coordinates as before.
109 lines
12 KiB
Plaintext
109 lines
12 KiB
Plaintext
# Files vendored VERBATIM from JetBrains/compose-multiplatform (the umbrella repo -
|
|
# NOT compose-multiplatform-core) into :components-resources. The official
|
|
# org.jetbrains.compose.components:components-resources artifact publishes NO
|
|
# mingwX64/linux variants, so the runtime library is vendored and the platform
|
|
# actuals are project code:
|
|
# src/nativeMain - ResourceReader (data.kres), getSystemEnvironment (SDL),
|
|
# pure-Kotlin DomXmlParser (upstream's is Darwin NSXMLParser),
|
|
# and the Font/Image resource actuals: renderer-agnostic
|
|
# project code (image decode via the :ui-graphics Skia
|
|
# decoder, Font via the project font registry)
|
|
# Re-sync: python scripts/compose-fork/sync.py components/resources/library
|
|
|
|
SET_REPO=https://github.com/JetBrains/compose-multiplatform@<COMPOSE_REF>
|
|
SET_FOLDER=components/resources/library/src
|
|
|
|
commonMain/kotlin/ -> src/vendor/common/kotlin/
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/FontResources.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/FontResources.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/ImageDecoders.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/ImageDecoders.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/ImageResources.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/ImageResources.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/PluralStringResources.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/PluralStringResources.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/Qualifier.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/Qualifier.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/Resource.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/Resource.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/ResourceCaches.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/ResourceCaches.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/ResourceContentHash.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/ResourceContentHash.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/ResourceEnvironment.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/ResourceEnvironment.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/ResourceReader.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/ResourceReader.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/ResourceState.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/ResourceState.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/StringArrayResources.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/StringArrayResources.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/StringResources.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/StringResources.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/StringResourcesUtils.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/StringResourcesUtils.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/plural/CLDRPluralRuleLists.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/plural/CLDRPluralRuleLists.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/plural/PluralCategory.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/plural/PluralCategory.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/plural/PluralRule.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/plural/PluralRule.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/plural/PluralRuleList.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/plural/PluralRuleList.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/vector/ValueParsers.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/vector/ValueParsers.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/vector/XmlVectorParser.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/vector/XmlVectorParser.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/vector/xmldom/Element.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/vector/xmldom/Element.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/vector/xmldom/MalformedXMLException.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/vector/xmldom/MalformedXMLException.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/vector/xmldom/Node.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/vector/xmldom/Node.kt
|
|
# | commonMain/kotlin/org/jetbrains/compose/resources/vector/xmldom/NodeList.kt -> src/vendor/common/kotlin/org/jetbrains/compose/resources/vector/xmldom/NodeList.kt
|
|
blockingMain/kotlin/ -> src/vendor/native/kotlin/
|
|
# | blockingMain/kotlin/org/jetbrains/compose/resources/ResourceState.blocking.kt -> src/vendor/native/kotlin/org/jetbrains/compose/resources/ResourceState.blocking.kt
|
|
nativeMain/kotlin/ -> src/vendor/native/kotlin/
|
|
# | nativeMain/kotlin/org/jetbrains/compose/resources/ImageResources.native.kt -> src/vendor/native/kotlin/org/jetbrains/compose/resources/ImageResources.native.kt
|
|
# | nativeMain/kotlin/org/jetbrains/compose/resources/vector/xmldom/DomXmlParser.kt -> src/vendor/native/kotlin/org/jetbrains/compose/resources/vector/xmldom/DomXmlParser.kt
|
|
# Darwin-only (Foundation NSXMLParser) - replaced by a pure-Kotlin project parser
|
|
# in src/nativeMain so mingwX64/linux compile.
|
|
!nativeMain/kotlin/org/jetbrains/compose/resources/vector/xmldom/DomXmlParser.kt
|
|
|
|
# Portable pieces of upstream skikoMain (no Skia references - pure delegation /
|
|
# runtime-only) - every native target gets them.
|
|
skikoMain/kotlin/org/jetbrains/compose/resources/ImageDecoders.skiko.kt -> src/vendor/native/kotlin/org/jetbrains/compose/resources/ImageDecoders.skiko.kt
|
|
skikoMain/kotlin/org/jetbrains/compose/resources/ResourceReader.skiko.kt -> src/vendor/native/kotlin/org/jetbrains/compose/resources/ResourceReader.skiko.kt
|
|
|
|
# Skia-bound pieces - upstream's skikoMain actuals rely on Compose-Desktop Skia
|
|
# extensions (SystemFont / toComposeImageBitmap / nativeCanvas) this port's :ui
|
|
# doesn't expose. The module's own Font/Image actuals (src/nativeMain/kotlin/)
|
|
# use pure project APIs (IconFont / NamedFont / decodeEncodedImageBitmap)
|
|
# instead, so opt the upstream Skia-bound files out.
|
|
!skikoMain/kotlin/org/jetbrains/compose/resources/ImageResources.skiko.kt
|
|
!skikoMain/kotlin/org/jetbrains/compose/resources/FontResources.skiko.kt
|
|
!skikoMain/kotlin/org/jetbrains/compose/resources/SvgPainter.kt
|
|
!skikoMain/kotlin/org/jetbrains/compose/resources/DrawCache.kt
|
|
|
|
# >>> ---- DIAGNOSTIC GAPS ---- <<<<
|
|
# androidMain (5)
|
|
# | androidMain/kotlin/org/jetbrains/compose/resources/AndroidContextProvider.kt -> src/vendor/android/kotlin/org/jetbrains/compose/resources/AndroidContextProvider.kt
|
|
# | androidMain/kotlin/org/jetbrains/compose/resources/FontResources.android.kt -> src/vendor/android/kotlin/org/jetbrains/compose/resources/FontResources.android.kt
|
|
# | androidMain/kotlin/org/jetbrains/compose/resources/ImageResources.android.kt -> src/vendor/android/kotlin/org/jetbrains/compose/resources/ImageResources.android.kt
|
|
# | androidMain/kotlin/org/jetbrains/compose/resources/ResourceEnvironment.android.kt -> src/vendor/android/kotlin/org/jetbrains/compose/resources/ResourceEnvironment.android.kt
|
|
# | androidMain/kotlin/org/jetbrains/compose/resources/ResourceReader.android.kt -> src/vendor/android/kotlin/org/jetbrains/compose/resources/ResourceReader.android.kt
|
|
# desktopMain (3)
|
|
# | desktopMain/kotlin/org/jetbrains/compose/resources/ResourceCaches.desktop.kt -> src/vendor/desktop/kotlin/org/jetbrains/compose/resources/ResourceCaches.desktop.kt
|
|
# | desktopMain/kotlin/org/jetbrains/compose/resources/ResourceEnvironment.desktop.kt -> src/vendor/desktop/kotlin/org/jetbrains/compose/resources/ResourceEnvironment.desktop.kt
|
|
# | desktopMain/kotlin/org/jetbrains/compose/resources/ResourceReader.desktop.kt -> src/vendor/desktop/kotlin/org/jetbrains/compose/resources/ResourceReader.desktop.kt
|
|
# iosMain (2)
|
|
# | iosMain/kotlin/org/jetbrains/compose/resources/ResourceEnvironment.ios.kt -> src/vendor/native/kotlin/org/jetbrains/compose/resources/ResourceEnvironment.ios.kt
|
|
# | iosMain/kotlin/org/jetbrains/compose/resources/ResourceReader.ios.kt -> src/vendor/native/kotlin/org/jetbrains/compose/resources/ResourceReader.ios.kt
|
|
# jsMain (5)
|
|
# | jsMain/kotlin/org/jetbrains/compose/resources/ImageResources.js.kt -> src/vendor/js/kotlin/org/jetbrains/compose/resources/ImageResources.js.kt
|
|
# | jsMain/kotlin/org/jetbrains/compose/resources/ResourceEnvironment.js.kt -> src/vendor/js/kotlin/org/jetbrains/compose/resources/ResourceEnvironment.js.kt
|
|
# | jsMain/kotlin/org/jetbrains/compose/resources/ResourceReader.js.kt -> src/vendor/js/kotlin/org/jetbrains/compose/resources/ResourceReader.js.kt
|
|
# | jsMain/kotlin/org/jetbrains/compose/resources/vector/xmldom/ElementImpl.kt -> src/vendor/js/kotlin/org/jetbrains/compose/resources/vector/xmldom/ElementImpl.kt
|
|
# | jsMain/kotlin/org/jetbrains/compose/resources/vector/xmldom/NodeImpl.kt -> src/vendor/js/kotlin/org/jetbrains/compose/resources/vector/xmldom/NodeImpl.kt
|
|
# jvmAndAndroidMain (3)
|
|
# | jvmAndAndroidMain/kotlin/org/jetbrains/compose/resources/ImageResources.jvmAndAndroid.kt -> src/vendor/jvmAndAndroid/kotlin/org/jetbrains/compose/resources/ImageResources.jvmAndAndroid.kt
|
|
# | jvmAndAndroidMain/kotlin/org/jetbrains/compose/resources/vector/xmldom/ElementImpl.kt -> src/vendor/jvmAndAndroid/kotlin/org/jetbrains/compose/resources/vector/xmldom/ElementImpl.kt
|
|
# | jvmAndAndroidMain/kotlin/org/jetbrains/compose/resources/vector/xmldom/NodeImpl.kt -> src/vendor/jvmAndAndroid/kotlin/org/jetbrains/compose/resources/vector/xmldom/NodeImpl.kt
|
|
# macosMain (2)
|
|
# | macosMain/kotlin/org/jetbrains/compose/resources/ResourceEnvironment.macos.kt -> src/vendor/native/kotlin/org/jetbrains/compose/resources/ResourceEnvironment.macos.kt
|
|
# | macosMain/kotlin/org/jetbrains/compose/resources/ResourceReader.macos.kt -> src/vendor/native/kotlin/org/jetbrains/compose/resources/ResourceReader.macos.kt
|
|
# skikoMain (4)
|
|
# | skikoMain/kotlin/org/jetbrains/compose/resources/DrawCache.kt -> src/vendor/skikoRenderer/kotlin/org/jetbrains/compose/resources/DrawCache.kt
|
|
# | skikoMain/kotlin/org/jetbrains/compose/resources/FontResources.skiko.kt -> src/vendor/skikoRenderer/kotlin/org/jetbrains/compose/resources/FontResources.skiko.kt
|
|
# | skikoMain/kotlin/org/jetbrains/compose/resources/ImageResources.skiko.kt -> src/vendor/skikoRenderer/kotlin/org/jetbrains/compose/resources/ImageResources.skiko.kt
|
|
# | skikoMain/kotlin/org/jetbrains/compose/resources/SvgPainter.kt -> src/vendor/skikoRenderer/kotlin/org/jetbrains/compose/resources/SvgPainter.kt
|
|
# wasmJsMain (6)
|
|
# | wasmJsMain/kotlin/org/jetbrains/compose/resources/ImageResources.wasmJs.kt -> src/vendor/wasmJs/kotlin/org/jetbrains/compose/resources/ImageResources.wasmJs.kt
|
|
# | wasmJsMain/kotlin/org/jetbrains/compose/resources/ResourceEnvironment.wasmJs.kt -> src/vendor/wasmJs/kotlin/org/jetbrains/compose/resources/ResourceEnvironment.wasmJs.kt
|
|
# | wasmJsMain/kotlin/org/jetbrains/compose/resources/ResourceReader.wasmJs.kt -> src/vendor/wasmJs/kotlin/org/jetbrains/compose/resources/ResourceReader.wasmJs.kt
|
|
# | wasmJsMain/kotlin/org/jetbrains/compose/resources/WasmByteArrayUtils.kt -> src/vendor/wasmJs/kotlin/org/jetbrains/compose/resources/WasmByteArrayUtils.kt
|
|
# | wasmJsMain/kotlin/org/jetbrains/compose/resources/vector/xmldom/ElementImpl.kt -> src/vendor/wasmJs/kotlin/org/jetbrains/compose/resources/vector/xmldom/ElementImpl.kt
|
|
# | wasmJsMain/kotlin/org/jetbrains/compose/resources/vector/xmldom/NodeImpl.kt -> src/vendor/wasmJs/kotlin/org/jetbrains/compose/resources/vector/xmldom/NodeImpl.kt
|
|
# webMain (3)
|
|
# | webMain/kotlin/org/jetbrains/compose/resources/Resource.web.kt -> src/vendor/web/kotlin/org/jetbrains/compose/resources/Resource.web.kt
|
|
# | webMain/kotlin/org/jetbrains/compose/resources/ResourceState.web.kt -> src/vendor/web/kotlin/org/jetbrains/compose/resources/ResourceState.web.kt
|
|
# | webMain/kotlin/org/jetbrains/compose/resources/ResourceWebCache.web.kt -> src/vendor/web/kotlin/org/jetbrains/compose/resources/ResourceWebCache.web.kt
|
|
# <<< ---- DIAGNOSTIC GAPS ---- >>>>
|