Comments (11)
As a plan of attack the first step would be to switch from the Kottin JVM gradle plugin to the Kotlin Multiplatform one using a JVM target. Initially each subproject would have 4 src directories jvmMain, jvmTest, commonMain, and commonTest. Your existing code would move to the JVM ones with nothing initially in the common ones. You want to get that working to build the library first.
Next would migrating code to common source sets. This is where you will have to address JVM specific libraries.
Once you can get the bulk of your code migrated then you can think about adding additional targets
from kotlin-faker.
Hi @tamimattafi ,
Yes, I'd very much like to support multiplatform. There's also #43 which is similar I guess (though the request is specific for JS, I don't see that the implementation would be very different to support all platforms, not just JS)
I've taken some steps towards this as well, particularly #159 , which should make it possible to get rid of jackson and replace it with e.g. kotlinx-serialization.
The biggest problem to-date is reflection, as some core functionality still depends on it. There's an issue to fix this also #23 , but I haven't had time to look into it.
I also don't have a lot of experience with KMP generally, so refactoring e.g. build logic could also prove to be a challenge.
That said, I do want to support it, just don't know when I'll be able to do so on my own.
Any contributions towards this are very welcome though!
from kotlin-faker.
@serpro69 Thank you for your reply!
I will study the codebase to see if I will be able to make some contributions. However, it's better to do that after your upcoming major release
from kotlin-faker.
I'm not planning to release the major version in the next month or two I think, so that is still at least a couple months away .
Adding KMP support in 2.0 would also be a good time to do so IMO, as it will likely entail some breaking changes as well.
So if you want to wait until 2.0 is out just for the sake of "waiting" - there's no need for that ;) But in any case, let's see how far this issue gets by the time 2.0 is ready and we'll plan from there.
If you need any help with understanding the code - don't hesitate to ask.
from kotlin-faker.
@serpro69 Thank you, let's keep each other updated on this issue
from kotlin-faker.
@serpro69 GitHub discussions seems like a good option, I will enable notifications too to try and respond as quick as possible
from kotlin-faker.
@serpro69 Great, thank you, I will post my questions there
from kotlin-faker.
Thanks for the comment @dalewking ! I completely agree, this would be a very good and natural first step towards adding multi-platform support - replacing the build logic to multiplatform and compiling to jvm targets.
from kotlin-faker.
@dalewking I agree, this is the very first step for every multiplatform migration and a very good advantage for us.
@serpro69 Do you have a Telegram or other contact where we can have quick Q/A about the project? I will try to implement this first step by migrating to the plugin, but I might need some quick answers since I might have limited time this week
from kotlin-faker.
Telegram no, I don't have. I do have keybase, but I can't promise to respond quick enough there as I don't use it that much... Matrix could be another possibility, but again, I can't say I'm online all the time. Discord could also be an option (same username as in github), if that works better, and I'll probably reply there faster than in the former two.
As a suggestion, maybe we could use discussions instead? I've just enabled them for this repo. That way we could keep all the relevant info in the repo as well. And I'll probably reply in github faster than other places, since it's one of the few places where I still have notifications enabled 😁
from kotlin-faker.
Awesome @tamimattafi ! Made the thread for it here - #235 .
from kotlin-faker.
Related Issues (20)
- Allow random to be used with unique HOT 1
- Regexify generates invalid value HOT 2
- Regexify should take Regex as an argument HOT 1
- Regexify fails with StackOverflowError HOT 5
- random.nextLong(bound: Long) also returns negative values HOT 3
- Suggestion: internet.ipv4() and internet.ipv6() HOT 4
- Support inner classes in RandomClassProvider
- Remove all deprecated functionality in faker 2.0
- Split core Faker into sub-fakers by categories
- Allow creating custom fakers / generators
- kotlin-faker 2.0 - Breaking Changes HOT 1
- Suggestion: Add a Database Provider HOT 6
- Add Kotlin BCV to keep changes to public API under control
- Add BOM to manage dependencies HOT 2
- Figure out versioning for submodules
- Fix publishing of snapshots
- Random country code returned for address with locale `en-US` HOT 12
- Add faker extension module for kotest Arbs
- `uk` locale: Function cityName not found in io.github.serpro69.kfaker.provider.Address
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kotlin-faker.