🌐 scrumia-kotlin-multiplatform-mobile
Le preset de composition Kotlin Multiplatform Mobile — six familles de règles KMP spécifiques et une clé unique qui re-exporte les satellites qu'un projet KMP fait tourner.
slot · implementation
version · 0.2.0
Ce dont il est responsable
Six refus qui façonnent un projet Kotlin Multiplatform Mobile pour que les règles multiplateformes s'appliquent là où elles s'appliquent et ne fuient jamais là où elles ne le font pas. expect/actual reste dans commonMain pour le contrat, dans le source set plateforme pour l'implémentation ; la disposition des source sets garde le code plateforme dans son propre source set ; les tests plateforme et les dépendances partagées vivent là où ils compilent pour chaque target ; un pod Cocoapods est déclaré une seule fois entre le module KMP et le projet iOS ; la liste des targets est celle du DSL Gradle, pas celle qu'un IDE invente ; le câblage Gradle passe par le DSL source-set du plugin Kotlin Multiplatform, pas par un implementation(...) brut. Livre une compétence de référence scrumia-kotlin-multiplatform-mobile et re-exporte les six satellites (scrumia-kotlin, scrumia-gradle, scrumia-ktor, scrumia-material3, scrumia-effect, scrumia-functional-programming) par configuration.
Ce qu'il refuse
Un expect hors de commonMain. Un actual dans commonMain. Imports Android dans commonMain, bridges Swift dans commonMain, APIs JVM-only dans iosMain. Un test plateforme dans commonTest. Une dépendance partagée dans commonMain qui livre à une target sans surface d'API pour elle. Un pod Cocoapods déclaré à la fois dans le module KMP et dans le Podfile du projet iOS. Une target que le build ne compile pas, ou une target que l'IDE invente. Une dépendance dans dependencies { implementation(...) } au lieu de dependencies { "commonMainImplementation"(...) }.
L'hypothèse qu'il fait
Présume que Kotlin Multiplatform Mobile est une surface distincte d'un projet purement JVM, et que les règles sur ce qui traverse les source sets et ce qui ne le fait pas sont l'ensemble de règles qu'un projet KMP doit. Le pivot est compose-only : il livre une référence, pas une adhésion de pile ; les satellites sont dissociables ; le pivot est la façon d'avoir les sept ensemble plutôt que la façon dont l'un d'eux dépend d'un autre. Coûte la friction d'une liste de satellites à mettre à jour quand on en ajoute un, le rend en une clé unique qui re-exporte les règles qu'un projet KMP fait tourner.
Ses compétences
scrumia-kotlin-multiplatform-mobile
Ce à quoi il se branche
| Registre | Sens | Module |
|---|---|---|
find-spec | contribue | scrumia-specs |
implement | contribue | scrumia-github-project |
review | contribue | scrumia-github-project |
L'installer
/plugin install scrumia-kotlin-multiplatform-mobile@scrumia