JetBrains / skiko

Kotlin Multiplatform bindings to Skia
Apache License 2.0
1.84k stars 119 forks source link

Split skiko into modules #570

Closed mcpiroman closed 2 months ago

mcpiroman commented 2 years ago

Given versatility of Compose multiplatform, and even more of the skiko itself, oftentimes the app is bundled with many skia's features it doesn't use (e.g. skottie, webp) to a space sensitive environment (mobile/web/embedded).

I propose to split Skia static libraries into separate, optional modules.

I don't know how to achieve this technically though. I'd be best to link the libs dynamically instead of statically and then ship a pair of a DLL and jar file in a separate maven bundles. In Compose it should then be fairly neat to then have a DSL to select required modules in gradle config, similar to JVM modules. But if it's not possible then we'd have to link them statically at build time, or be provided with a artifact matrix, which is not so convenient.

okushnikov commented 2 months ago

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.