Litote / kmongo

[deprecated] KMongo - a Kotlin toolkit for Mongo
https://litote.org/kmongo/
Apache License 2.0
781 stars 75 forks source link

Consider migrating to gradle and adding support for Kotlin-Multiplatform #86

Open saied89 opened 5 years ago

saied89 commented 5 years ago

Its really great that you've extracted Kmongo-Id so that it could be used in common modules. I tried to adapt it for Kotlin multi-platform but it can't be done because multi-platform is only supported on Gradle.

Please consider migrating to gradle and adding support for multi-platform.

dwlizlo commented 4 years ago

@zigzago I can help with that, I just wonder if we don't want to merge "*-tests" modules to follow standard gradle structure. WDYT?

zigzago commented 4 years ago

@dwlizlo the -tests modules are not in a /test test source folder because they need to be launched by more than one module.

For example, kmongo-core-tests tests are used by kmongo, kmongo-native & kmongo-serialization modules - the same tests are checked for different mapping engines.

I don't know what is the best way to configure this behaviour with gradle, but if there is a more elegant solution, I'm ok with it ;)

saied89 commented 4 years ago

Separate -test modules and then importing them with testImplementation wouldn't work?

lamba92 commented 3 years ago

I am working on both going MPP (at least for the model not the implementation) and migration to Gradle. It would speed up the process a lot if I could talk with someone that explains to me the hierarchy of the project.

Maven and Gradle are similar but Gradle offers levels flexibility that could make the project better but requires decisions from someone who knows KMongo from inside out!

zigzago commented 3 years ago

all sub modules are here: https://github.com/Litote/kmongo/blob/master/pom.xml#L31

tests are shared between mapping engines.

For example,

JUnit Category (https://dzone.com/articles/grouping-tests-using-junit) are used for tests that are dedicated to specific engine - for example SerializationMappingCategory for kotlinx.serialization (https://github.com/Litote/kmongo/blob/master/kmongo-serialization/pom.xml#L57)

HTH and if you have any questions, please ask ;)

lammertw commented 3 years ago

Any progress on this? I'm also working on a KMM project and would love to use this.

lamba92 commented 3 years ago

I was very busy during the last 2 months with university. Today I finally graduated 🎉🎊 I'll try to look into it during holidays 🎄🎄

dosier commented 3 years ago

I would also love to see this, anyone managed a work around?

Atm I am overriding my base serializable classes from commonsMain in jvmMain to include the _id property. However, this means I can no longer make the base classes data classes.

fsmorygo commented 3 years ago

The issue is approaching it's 3yr birthday slowly. Are there any plans to fix this?

zigzago commented 3 years ago

I will implement it for 4.3.0

jonathanoff2022 commented 1 year ago

Any news ?

zigzago commented 1 year ago

Yes! This is planned for the inclusion in mongo github repository :)