Compare commits

..

1 Commits

Author SHA1 Message Date
3e24cf1768 launchInCurrentThread 2022-12-27 09:28:37 +06:00
21 changed files with 4 additions and 253 deletions

View File

@@ -1,12 +1,9 @@
# Changelog
## 0.16.4
* `Coroutines`:
* Create `launchInCurrentThread`
## 0.16.3
* `Coroutines`:
* Create `launchInCurrentThread`
* `Startup`:
* `Launcher`:
* All starting API have been moved into `StartLauncherPlugin` and do not require serialize/deserialize cycle for now

View File

@@ -14,5 +14,5 @@ crypto_js_version=4.1.1
# Project data
group=dev.inmo
version=0.16.4
android_code_version=172
version=0.16.3
android_code_version=171

View File

@@ -1,10 +0,0 @@
# How to use
In case you have multiplatform project and wish to use startup plugin, this template may help you to create new modules.
1. Copy-paste whole template folder (you may clone this folder to your project and actualize some data to copy your prepared template)
2. Replace `group_name` by your project (or root module) group name
3. Replace `module_name` by the name of your new module name
You may read about the `build.gradle` structure in these templates in project
[KotlinMultiplatformProjectTemplate](https://github.com/InsanusMokrassar/KotlinMultiplatformProjectTemplate).

View File

@@ -1,18 +0,0 @@
plugins {
id "org.jetbrains.kotlin.multiplatform"
id "org.jetbrains.kotlin.plugin.serialization"
id "com.android.library"
alias(libs.plugins.compose)
}
apply from: "$mppProjectWithSerializationPresetPath"
kotlin {
sourceSets {
commonMain {
dependencies {
api project(":${rootProject.name}.module_name.common")
}
}
}
}

View File

@@ -1,15 +0,0 @@
package group_name.module_name.client
import dev.inmo.micro_utils.startup.plugin.StartPlugin
import kotlinx.serialization.json.JsonObject
import org.koin.core.Koin
import org.koin.core.module.Module
object ClientPlugin : StartPlugin {
override fun Module.setupDI(config: JsonObject) {
}
override suspend fun startPlugin(koin: Koin) {
super.startPlugin(koin)
}
}

View File

@@ -1,20 +0,0 @@
package group_name.module_name.client
import group_name.module_name.common.CommonJSPlugin
import dev.inmo.micro_utils.startup.plugin.StartPlugin
import kotlinx.serialization.json.JsonObject
import org.koin.core.Koin
import org.koin.core.module.Module
object ClientJSPlugin : StartPlugin {
override fun Module.setupDI(config: JsonObject) {
with(CommonJSPlugin) { setupDI(config) }
with(ClientPlugin) { setupDI(config) }
}
override suspend fun startPlugin(koin: Koin) {
super.startPlugin(koin)
CommonJSPlugin.startPlugin(koin)
ClientPlugin.startPlugin(koin)
}
}

View File

@@ -1,9 +0,0 @@
package group_name.module_name.client
import dev.inmo.micro_utils.startup.plugin.createStartupPluginAndRegister
@ExperimentalStdlibApi
@EagerInitialization
@JsExport
@ExperimentalJsExport
private val jsModuleLoader = createStartupPluginAndRegister("template.ClientJSPlugin") { ClientJSPlugin }

View File

@@ -1,21 +0,0 @@
package group_name.module_name.client
import group_name.module_name.common.CommonJVMPlugin
import group_name.module_name.common.CommonJVMPlugin.setupDI
import dev.inmo.micro_utils.startup.plugin.StartPlugin
import kotlinx.serialization.json.JsonObject
import org.koin.core.Koin
import org.koin.core.module.Module
object ClientJVMPlugin : StartPlugin {
override fun Module.setupDI(config: JsonObject) {
with(CommonJVMPlugin) { setupDI(config) }
with(ClientPlugin) { setupDI(config) }
}
override suspend fun startPlugin(koin: Koin) {
super.startPlugin(koin)
CommonJVMPlugin.startPlugin(koin)
ClientPlugin.startPlugin(koin)
}
}

View File

@@ -1 +0,0 @@
<manifest package="group_name.module_name.client"/>

View File

@@ -1,21 +0,0 @@
package group_name.module_name.client
import group_name.module_name.common.CommonAndroidPlugin
import group_name.module_name.common.CommonAndroidPlugin.setupDI
import dev.inmo.micro_utils.startup.plugin.StartPlugin
import kotlinx.serialization.json.JsonObject
import org.koin.core.Koin
import org.koin.core.module.Module
object ClientAndroidPlugin : StartPlugin {
override fun Module.setupDI(config: JsonObject) {
with(CommonAndroidPlugin) { setupDI(config) }
with(ClientPlugin) { setupDI(config) }
}
override suspend fun startPlugin(koin: Koin) {
super.startPlugin(koin)
CommonAndroidPlugin.startPlugin(koin)
ClientPlugin.startPlugin(koin)
}
}

View File

@@ -1,7 +0,0 @@
plugins {
id "org.jetbrains.kotlin.multiplatform"
id "org.jetbrains.kotlin.plugin.serialization"
id "com.android.library"
}
apply from: "$mppProjectWithSerializationPresetPath"

View File

@@ -1,11 +0,0 @@
package group_name.module_name.common
import dev.inmo.micro_utils.startup.plugin.StartPlugin
import kotlinx.serialization.json.JsonObject
import org.koin.core.module.Module
object CommonPlugin : StartPlugin {
override fun Module.setupDI(config: JsonObject) {
}
}

View File

@@ -1 +0,0 @@
package group_name.module_name.common

View File

@@ -1,17 +0,0 @@
package group_name.module_name.common
import dev.inmo.micro_utils.startup.plugin.StartPlugin
import kotlinx.serialization.json.JsonObject
import org.koin.core.Koin
import org.koin.core.module.Module
object CommonJSPlugin : StartPlugin {
override fun Module.setupDI(config: JsonObject) {
with (CommonPlugin) { setupDI(config) }
}
override suspend fun startPlugin(koin: Koin) {
super.startPlugin(koin)
CommonPlugin.startPlugin(koin)
}
}

View File

@@ -1,9 +0,0 @@
package group_name.module_name.common
import dev.inmo.micro_utils.startup.plugin.createStartupPluginAndRegister
@ExperimentalStdlibApi
@EagerInitialization
@JsExport
@ExperimentalJsExport
private val jsModuleLoader = createStartupPluginAndRegister("template.CommonJSPlugin") { CommonJSPlugin }

View File

@@ -1,17 +0,0 @@
package group_name.module_name.common
import dev.inmo.micro_utils.startup.plugin.StartPlugin
import kotlinx.serialization.json.JsonObject
import org.koin.core.Koin
import org.koin.core.module.Module
object CommonJVMPlugin : StartPlugin {
override fun Module.setupDI(config: JsonObject) {
with (CommonPlugin) { setupDI(config) }
}
override suspend fun startPlugin(koin: Koin) {
super.startPlugin(koin)
CommonPlugin.startPlugin(koin)
}
}

View File

@@ -1 +0,0 @@
<manifest package="group_name.module_name.common"/>

View File

@@ -1,17 +0,0 @@
package group_name.module_name.common
import dev.inmo.micro_utils.startup.plugin.StartPlugin
import kotlinx.serialization.json.JsonObject
import org.koin.core.Koin
import org.koin.core.module.Module
object CommonAndroidPlugin : StartPlugin {
override fun Module.setupDI(config: JsonObject) {
with (CommonPlugin) { setupDI(config) }
}
override suspend fun startPlugin(koin: Koin) {
super.startPlugin(koin)
CommonPlugin.startPlugin(koin)
}
}

View File

@@ -1,16 +0,0 @@
plugins {
id "org.jetbrains.kotlin.multiplatform"
id "org.jetbrains.kotlin.plugin.serialization"
}
apply from: "$mppJavaProjectPresetPath"
kotlin {
sourceSets {
commonMain {
dependencies {
api project(":${rootProject.name}.module_name.common")
}
}
}
}

View File

@@ -1,15 +0,0 @@
package group_name.module_name.server
import dev.inmo.micro_utils.startup.plugin.StartPlugin
import kotlinx.serialization.json.JsonObject
import org.koin.core.Koin
import org.koin.core.module.Module
object ServerPlugin : StartPlugin {
override fun Module.setupDI(config: JsonObject) {
}
override suspend fun startPlugin(koin: Koin) {
super.startPlugin(koin)
}
}

View File

@@ -1,20 +0,0 @@
package group_name.module_name.server
import group_name.module_name.common.CommonJVMPlugin
import dev.inmo.micro_utils.startup.plugin.StartPlugin
import kotlinx.serialization.json.JsonObject
import org.koin.core.Koin
import org.koin.core.module.Module
object ServerJVMPlugin : StartPlugin {
override fun Module.setupDI(config: JsonObject) {
with(CommonJVMPlugin) { setupDI(config) }
with(ServerPlugin) { setupDI(config) }
}
override suspend fun startPlugin(koin: Koin) {
super.startPlugin(koin)
CommonJVMPlugin.startPlugin(koin)
ServerPlugin.startPlugin(koin)
}
}