-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kotlin Multiplatform #62
Comments
Thanks for the great suggestion. I had already thought about it, and to proceed here, we would first need to resolve JVM dependencies. Some dependencies (namely kravis and krangl) could be moved easily into a jvm-module as they do not contribute to the core of the library. What's harder to resolve are
Once JVM dependencies have been removed, I'd be all in and ears to migrate the build system. I have no prior experience with multiplatform yet. We could explore the refactoring in a separate branch I think, to allow me to evolve the core library independently until such a fix is complete. |
Thanks @holgerbrandl! Instead of trying to remove JVM dependencies before proceeding, I think the first step could be to migrate the project to a multiplatform project that only targets JVM. Once that's done it becomes easier to try and resolve JVM specific issues, either with...
Anyway, say the word and, if you'd like, I can start updating the Gradle config? 👍 |
I've done some digging and these are the libraries that are not multiplatform compatible.
There are also some JVM specific stuff which can be happily moved to There's also a notable amount of JUnit code, but that should be quite easily migratable to kotlin.test or Kotest. |
Great analysis. I was not aware of quite some JVM dependencies. To me this also indicates that before revising the build structure, dependencies should be converted one-by-one (starting with the most complex ones) which I guess is non-trivial in some cases (e.g. reflection does not work on multiplatform afaik). I'd think ordered by amount of work for to port this to KMP the list is
Given the number of JVM dependencies, it is actually imho quite possible that it's not feasible with the few resources available to convert the library into multiplatform, and if so I don't want to end up with a more complex revised build structure that would in such case serve no function, and would need to be rolled back eventually. JVM bits could be separated in a special package/namespace until everything else is ready to go KMP. |
Hi, would it be possible to convert Kalasim to support Kotlin Multiplatform?
I'm experimenting with a Kotlin/Native based game library, and I'm curious about using Kalasim with it (instead of the JVM-only OPENRNDR).
I'd be more than willing to help out with this and create the PRs.
As part of this it would really help to tidy up the Gradle build logic into convention-plugins, to reduce some of the duplication. Again, I could go ahead and make the PRs: the only question is whether you'd like them to be incremental (break the PRs down into smaller steps, which might be more understandable but could stretch the work out), or big-bang migrate everything (which is my preference!).
The text was updated successfully, but these errors were encountered: