up versions
This commit is contained in:
+1
-1
@@ -10,7 +10,7 @@ import org.koin.core.annotation.Single
|
|||||||
import org.koin.plugin.module.dsl.startKoin
|
import org.koin.plugin.module.dsl.startKoin
|
||||||
import ru.shadowsparky.domain.AppConfig
|
import ru.shadowsparky.domain.AppConfig
|
||||||
|
|
||||||
@KoinApplication
|
@KoinApplication(modules = [AppModule::class])
|
||||||
object VBox
|
object VBox
|
||||||
|
|
||||||
class App : Application() {
|
class App : Application() {
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ gradlePlugin {
|
|||||||
id = "convention.krpc-server"
|
id = "convention.krpc-server"
|
||||||
implementationClass = "${prefix}KrpcServer"
|
implementationClass = "${prefix}KrpcServer"
|
||||||
}
|
}
|
||||||
|
|
||||||
create("conventionWebApp") {
|
create("conventionWebApp") {
|
||||||
id = "convention.web-app"
|
id = "convention.web-app"
|
||||||
implementationClass = "${prefix}WebApplication"
|
implementationClass = "${prefix}WebApplication"
|
||||||
|
|||||||
@@ -7,6 +7,6 @@ import ru.shadowsparky.findLibs
|
|||||||
class BackendApplication : Plugin<Project> {
|
class BackendApplication : Plugin<Project> {
|
||||||
override fun apply(target: Project): Unit = with(target) {
|
override fun apply(target: Project): Unit = with(target) {
|
||||||
val libs = findLibs()
|
val libs = findLibs()
|
||||||
plugins.apply(libs.findPlugin("convention-jvm").get().get().pluginId)
|
plugins.apply(libs.findPlugin("convention.jvm").get().get().pluginId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package ru.shadowsparky.plugin
|
|||||||
import org.gradle.api.Plugin
|
import org.gradle.api.Plugin
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.kotlin.dsl.dependencies
|
import org.gradle.kotlin.dsl.dependencies
|
||||||
import org.jetbrains.compose.ComposePlugin
|
|
||||||
import ru.shadowsparky.findLibs
|
import ru.shadowsparky.findLibs
|
||||||
import ru.shadowsparky.implementation
|
import ru.shadowsparky.implementation
|
||||||
|
|
||||||
@@ -13,15 +12,13 @@ class Compose : Plugin<Project> {
|
|||||||
plugins.apply(libs.findPlugin("jetbrains.compose").get().get().pluginId)
|
plugins.apply(libs.findPlugin("jetbrains.compose").get().get().pluginId)
|
||||||
plugins.apply(libs.findPlugin("compose.compiler").get().get().pluginId)
|
plugins.apply(libs.findPlugin("compose.compiler").get().get().pluginId)
|
||||||
dependencies {
|
dependencies {
|
||||||
val compose = ComposePlugin.Dependencies(target)
|
implementation(libs.findLibrary("compose.runtime").get())
|
||||||
implementation(compose.runtime)
|
implementation(libs.findLibrary("compose.components.resources").get())
|
||||||
implementation(compose.foundation)
|
implementation(libs.findLibrary("compose.foundation").get())
|
||||||
implementation(compose.components.resources)
|
implementation(libs.findLibrary("compose.material3").get())
|
||||||
|
|
||||||
implementation(libs.findLibrary("compose-material3").get())
|
|
||||||
implementation(libs.findLibrary("decompose").get())
|
implementation(libs.findLibrary("decompose").get())
|
||||||
implementation(libs.findLibrary("decompose-extensions").get())
|
implementation(libs.findLibrary("decompose.extensions").get())
|
||||||
implementation(libs.findLibrary("decompose-lifecycle-coroutines").get())
|
implementation(libs.findLibrary("decompose.lifecycle.coroutines").get())
|
||||||
implementation(libs.findLibrary("image.loader").get())
|
implementation(libs.findLibrary("image.loader").get())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,12 +10,12 @@ import ru.shadowsparky.findLibs
|
|||||||
class Jvm : Plugin<Project> {
|
class Jvm : Plugin<Project> {
|
||||||
override fun apply(target: Project): Unit = with(target) {
|
override fun apply(target: Project): Unit = with(target) {
|
||||||
val libs = findLibs()
|
val libs = findLibs()
|
||||||
plugins.apply(libs.findPlugin("java-library").get().get().pluginId)
|
plugins.apply(libs.findPlugin("java.library").get().get().pluginId)
|
||||||
plugins.apply(libs.findPlugin("jetbrains-kotlin-jvm").get().get().pluginId)
|
plugins.apply(libs.findPlugin("jetbrains.kotlin.jvm").get().get().pluginId)
|
||||||
|
|
||||||
tasks.withType<JavaCompile> {
|
tasks.withType<JavaCompile> {
|
||||||
sourceCompatibility = libs.findVersion("proj-server-java").get().toString()
|
sourceCompatibility = libs.findVersion("proj.server.java").get().toString()
|
||||||
targetCompatibility = libs.findVersion("proj-server-java").get().toString()
|
targetCompatibility = libs.findVersion("proj.server.java").get().toString()
|
||||||
}
|
}
|
||||||
applyCoroutines(libs)
|
applyCoroutines(libs)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,10 +12,14 @@ import ru.shadowsparky.findLibs
|
|||||||
|
|
||||||
class Kmp : Plugin<Project> {
|
class Kmp : Plugin<Project> {
|
||||||
|
|
||||||
|
@OptIn(ExperimentalWasmDsl::class)
|
||||||
override fun apply(target: Project) = with(target) {
|
override fun apply(target: Project) = with(target) {
|
||||||
val libs = findLibs()
|
val libs = findLibs()
|
||||||
pluginManager.apply(libs.findPlugin("kotlin-multiplatform").get().get().pluginId)
|
pluginManager.apply(libs.findPlugin("kotlin.multiplatform").get().get().pluginId)
|
||||||
extensions.configure<KotlinMultiplatformExtension> { applyConfig() }
|
extensions.configure<KotlinMultiplatformExtension> {
|
||||||
|
if (BuildFlags.DESKTOP) jvm("desktop")
|
||||||
|
wasmJs { browser() }
|
||||||
|
}
|
||||||
applyCoroutines(libs, false)
|
applyCoroutines(libs, false)
|
||||||
kotlinExtension.sourceSets.named("commonMain").configure {
|
kotlinExtension.sourceSets.named("commonMain").configure {
|
||||||
kotlin.srcDirs(
|
kotlin.srcDirs(
|
||||||
@@ -24,9 +28,3 @@ class Kmp : Plugin<Project> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@OptIn(ExperimentalWasmDsl::class)
|
|
||||||
fun KotlinMultiplatformExtension.applyConfig() {
|
|
||||||
if (BuildFlags.DESKTOP) jvm("desktop")
|
|
||||||
wasmJs { browser() }
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -17,19 +17,16 @@ import ru.shadowsparky.isWebApp
|
|||||||
class Koin : Plugin<Project> {
|
class Koin : Plugin<Project> {
|
||||||
override fun apply(target: Project): Unit = with(target) {
|
override fun apply(target: Project): Unit = with(target) {
|
||||||
val libs = findLibs()
|
val libs = findLibs()
|
||||||
plugins.apply(libs.findPlugin("koin-compiler").get().get().pluginId)
|
plugins.apply(libs.findPlugin("koin.compiler").get().get().pluginId)
|
||||||
koinCompiler {
|
koinCompiler {
|
||||||
val checkSafety = isAndroidApp || isWebApp // || isBackendApp
|
val checkSafety = isAndroidApp || isWebApp // || isBackendApp
|
||||||
if (checkSafety) {
|
|
||||||
println("koin check safety enabled for module ${target.name}")
|
|
||||||
}
|
|
||||||
compileSafety.set(checkSafety)
|
compileSafety.set(checkSafety)
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(libs.findLibrary("koin-core").get())
|
implementation(libs.findLibrary("koin.core").get())
|
||||||
implementation(libs.findLibrary("koin-annotations").get())
|
implementation(libs.findLibrary("koin.annotations").get())
|
||||||
if (hasAndroidSupport()) {
|
if (hasAndroidSupport()) {
|
||||||
val androidKoin = libs.findLibrary("koin-android").get()
|
val androidKoin = libs.findLibrary("koin.android").get()
|
||||||
if (hasMultiplatformSupport()) {
|
if (hasMultiplatformSupport()) {
|
||||||
androidImplementation(androidKoin)
|
androidImplementation(androidKoin)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ class KrpcClient : Plugin<Project> {
|
|||||||
plugins.apply(libs.findPlugin("krpc").get().get().pluginId)
|
plugins.apply(libs.findPlugin("krpc").get().get().pluginId)
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(libs.findLibrary("kotlinx-rpc-krpc-ktor-client").get())
|
implementation(libs.findLibrary("kotlinx.rpc.krpc.ktor.client").get())
|
||||||
implementation(libs.findLibrary("kotlinx-rpc-krpc-serialization-json").get())
|
implementation(libs.findLibrary("kotlinx.rpc.krpc.serialization.json").get())
|
||||||
implementation(libs.findLibrary("kotlinx-rpc-krpc-client").get())
|
implementation(libs.findLibrary("kotlinx.rpc.krpc.client").get())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ class KrpcServer : Plugin<Project> {
|
|||||||
plugins.apply(libs.findPlugin("krpc").get().get().pluginId)
|
plugins.apply(libs.findPlugin("krpc").get().get().pluginId)
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(libs.findLibrary("kotlinx-rpc-krpc-ktor-server").get())
|
implementation(libs.findLibrary("kotlinx.rpc.krpc.ktor.server").get())
|
||||||
implementation(libs.findLibrary("kotlinx-rpc-krpc-serialization-json").get())
|
implementation(libs.findLibrary("kotlinx.rpc.krpc.serialization.json").get())
|
||||||
implementation(libs.findLibrary("kotlinx-rpc-krpc-server").get())
|
implementation(libs.findLibrary("kotlinx.rpc.krpc.server").get())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,11 +13,11 @@ class KtorClient : Plugin<Project> {
|
|||||||
val libs = target.findLibs()
|
val libs = target.findLibs()
|
||||||
target.dependencies {
|
target.dependencies {
|
||||||
implementation(libs.findLibrary("ktor.client.websockets").get())
|
implementation(libs.findLibrary("ktor.client.websockets").get())
|
||||||
implementation(libs.findLibrary("ktor-serialization-kotlinx-json").get())
|
implementation(libs.findLibrary("ktor.serialization.kotlinx.json").get())
|
||||||
implementation(libs.findLibrary("ktor-client-content-negotiation").get())
|
implementation(libs.findLibrary("ktor.client.content.negotiation").get())
|
||||||
implementation(libs.findLibrary("ktor-client-logging").get())
|
implementation(libs.findLibrary("ktor.client.logging").get())
|
||||||
implementation(libs.findLibrary("ktor-client-auth").get())
|
implementation(libs.findLibrary("ktor.client.auth").get())
|
||||||
implementation(libs.findLibrary("ktor-client-core").get())
|
implementation(libs.findLibrary("ktor.client.core").get())
|
||||||
val okHttp = libs.findLibrary("ktor.client.okhttp").get()
|
val okHttp = libs.findLibrary("ktor.client.okhttp").get()
|
||||||
try {
|
try {
|
||||||
androidImplementation(okHttp)
|
androidImplementation(okHttp)
|
||||||
|
|||||||
@@ -4,6 +4,5 @@ import org.gradle.api.Plugin
|
|||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
|
|
||||||
class WebApplication : Plugin<Project> {
|
class WebApplication : Plugin<Project> {
|
||||||
override fun apply(target: Project) {
|
override fun apply(target: Project) = Unit
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-13
@@ -3,9 +3,11 @@ activity-compose = "1.13.0"
|
|||||||
|
|
||||||
appcompat = "1.7.1"
|
appcompat = "1.7.1"
|
||||||
coil-compose = "3.5.0"
|
coil-compose = "3.5.0"
|
||||||
compose-gradle-plugin = "1.11.1"
|
componentsResources = "1.11.1"
|
||||||
compose-version = "1.11.0-alpha03"
|
compose-material-version = "1.11.0-alpha03"
|
||||||
|
compose-version = "1.11.1"
|
||||||
desugar_jdk_libs = "2.1.5"
|
desugar_jdk_libs = "2.1.5"
|
||||||
|
foundation = "1.11.1"
|
||||||
haze = "1.7.2"
|
haze = "1.7.2"
|
||||||
java-jwt = "4.6.0"
|
java-jwt = "4.6.0"
|
||||||
kotlin-version = "2.4.10"
|
kotlin-version = "2.4.10"
|
||||||
@@ -18,21 +20,20 @@ junit = "4.13.2"
|
|||||||
lifecycleCoroutines = "2.5.0"
|
lifecycleCoroutines = "2.5.0"
|
||||||
material = "1.11.4"
|
material = "1.11.4"
|
||||||
materialVersion = "1.14.0"
|
materialVersion = "1.14.0"
|
||||||
media3 = "1.10.1"
|
media3 = "1.11.0"
|
||||||
mockk = "1.14.11"
|
mockk = "1.14.11"
|
||||||
jsoup = "1.22.2"
|
jsoup = "1.23.1"
|
||||||
gradle-plugin = "1.5.5"
|
gradle-plugin = "1.5.5"
|
||||||
kotlinx-coroutines-core = "1.11.0"
|
kotlinx-coroutines-core = "1.11.0"
|
||||||
kotlinx-serialization-json = "1.11.0"
|
kotlinx-serialization-json = "1.11.0"
|
||||||
ktor-plugin = "3.5.1"
|
ktor-plugin = "3.5.2"
|
||||||
kxml2 = "2.4.1"
|
kxml2 = "2.4.1"
|
||||||
logback-classic = "1.5.32"
|
logback-classic = "1.6.1"
|
||||||
multiplatform-settings = "1.3.0"
|
multiplatform-settings = "1.3.0"
|
||||||
postgresql = "42.7.13"
|
postgresql = "42.7.13"
|
||||||
runner = "1.7.0"
|
runner = "1.7.0"
|
||||||
sqlite = "2.7.0"
|
sqlite = "2.7.0"
|
||||||
sqlite-driver = "2.3.2"
|
sqlite-driver = "2.3.2"
|
||||||
ui-tooling = "1.11.1"
|
|
||||||
essenty = "1.3.0"
|
essenty = "1.3.0"
|
||||||
stately-common = "2.0.6"
|
stately-common = "2.0.6"
|
||||||
proj-target = "37"
|
proj-target = "37"
|
||||||
@@ -43,7 +44,7 @@ proj-server-java = "21"
|
|||||||
datastore-preferences-core = "1.2.1"
|
datastore-preferences-core = "1.2.1"
|
||||||
ksp-version = "2.3.7"
|
ksp-version = "2.3.7"
|
||||||
koin-core = "4.2.2"
|
koin-core = "4.2.2"
|
||||||
koin-compiler = "1.0.2"
|
koin-compiler = "1.1.0"
|
||||||
kotlin-dsl-version = "5.1.2"
|
kotlin-dsl-version = "5.1.2"
|
||||||
coreKtx = "1.19.0"
|
coreKtx = "1.19.0"
|
||||||
workRuntimeKtx = "2.11.2"
|
workRuntimeKtx = "2.11.2"
|
||||||
@@ -84,8 +85,11 @@ ktor-server-websockets-jvm = { module = "io.ktor:ktor-server-websockets-jvm" }
|
|||||||
material = { module = "com.google.android.material:material", version.ref = "materialVersion" }
|
material = { module = "com.google.android.material:material", version.ref = "materialVersion" }
|
||||||
multiplatform-settings = { module = "com.russhwolf:multiplatform-settings", version.ref = "multiplatform-settings" }
|
multiplatform-settings = { module = "com.russhwolf:multiplatform-settings", version.ref = "multiplatform-settings" }
|
||||||
activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity-compose" }
|
activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity-compose" }
|
||||||
compose-gradle-plugin = { module = "org.jetbrains.compose:compose-gradle-plugin", version.ref = "compose-gradle-plugin" }
|
compose-gradle-plugin = { module = "org.jetbrains.compose:compose-gradle-plugin", version.ref = "compose-version" }
|
||||||
compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "compose-version" }
|
compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "compose-material-version" }
|
||||||
|
compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "compose-version" }
|
||||||
|
compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "componentsResources" }
|
||||||
|
compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "foundation" }
|
||||||
|
|
||||||
decompose = { module = "com.arkivanov.decompose:decompose", version.ref = "decompose-version" }
|
decompose = { module = "com.arkivanov.decompose:decompose", version.ref = "decompose-version" }
|
||||||
decompose-extensions = { module = "com.arkivanov.decompose:extensions-compose", version.ref = "decompose-version" }
|
decompose-extensions = { module = "com.arkivanov.decompose:extensions-compose", version.ref = "decompose-version" }
|
||||||
@@ -130,8 +134,8 @@ ktor-client-logging = { module = "io.ktor:ktor-client-logging", version.ref = "k
|
|||||||
ui-compose = { module = "androidx.compose.ui:ui" }
|
ui-compose = { module = "androidx.compose.ui:ui" }
|
||||||
ui-compose-util = { module = "androidx.compose.ui:ui-util" }
|
ui-compose-util = { module = "androidx.compose.ui:ui-util" }
|
||||||
|
|
||||||
ui-tooling-preview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "ui-tooling" }
|
ui-tooling-preview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "compose-version" }
|
||||||
ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "ui-tooling" }
|
ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose-version" }
|
||||||
kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin-version" }
|
kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin-version" }
|
||||||
web-worker-driver-wasm-js = { module = "app.cash.sqldelight:web-worker-driver-wasm-js", version.ref = "sqlite-driver" }
|
web-worker-driver-wasm-js = { module = "app.cash.sqldelight:web-worker-driver-wasm-js", version.ref = "sqlite-driver" }
|
||||||
|
|
||||||
@@ -143,7 +147,7 @@ kotlinx-rpc-krpc-client = { module = "org.jetbrains.kotlinx:kotlinx-rpc-krpc-cli
|
|||||||
androidx-core = { group = "androidx.core", name = "core", version.ref = "core" }
|
androidx-core = { group = "androidx.core", name = "core", version.ref = "core" }
|
||||||
|
|
||||||
[plugins]
|
[plugins]
|
||||||
jetbrains-compose = { id = "org.jetbrains.compose", version.ref = "compose-gradle-plugin" }
|
jetbrains-compose = { id = "org.jetbrains.compose", version.ref = "compose-version" }
|
||||||
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin-version" }
|
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin-version" }
|
||||||
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin-version" }
|
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin-version" }
|
||||||
sqldelight = { id = "app.cash.sqldelight", version.ref = "sqlite-driver" }
|
sqldelight = { id = "app.cash.sqldelight", version.ref = "sqlite-driver" }
|
||||||
|
|||||||
Reference in New Issue
Block a user