From 77a8ee645f27c7bdab92f5c678bba2958efa4307 Mon Sep 17 00:00:00 2001 From: Antoine Jaury Date: Fri, 19 Jun 2026 17:35:12 +0200 Subject: [PATCH] new: extract logging module into standalone core library --- core/logging/build.gradle.kts | 49 +++++++++++++++++++ .../gwenedeg/core/logging/KermitLogger.kt | 0 .../fr/ajaury/gwenedeg/core/logging/Logger.kt | 0 settings.gradle.kts | 3 ++ shared/build.gradle.kts | 6 +-- 5 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 core/logging/build.gradle.kts rename {shared => core/logging}/src/commonMain/kotlin/fr/ajaury/gwenedeg/core/logging/KermitLogger.kt (100%) rename {shared => core/logging}/src/commonMain/kotlin/fr/ajaury/gwenedeg/core/logging/Logger.kt (100%) diff --git a/core/logging/build.gradle.kts b/core/logging/build.gradle.kts new file mode 100644 index 0000000..4fe6c03 --- /dev/null +++ b/core/logging/build.gradle.kts @@ -0,0 +1,49 @@ +import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + +plugins { + alias(libs.plugins.kotlinMultiplatform) + alias(libs.plugins.androidMultiplatformLibrary) +} + +kotlin { + iosArm64() + iosSimulatorArm64() + + jvm() + + js { + browser() + } + + @OptIn(ExperimentalWasmDsl::class) + wasmJs { + browser() + } + + androidLibrary { + namespace = "fr.ajaury.gwenedeg.core.logging" + compileSdk = + libs.versions.androidCompileSdk + .get() + .toInt() + minSdk = + libs.versions.androidMinSdk + .get() + .toInt() + + compilerOptions { + jvmTarget = JvmTarget.JVM_11 + } + } + + sourceSets { + commonMain.dependencies { + // Logging + implementation(libs.kermit) + } + commonTest.dependencies { + implementation(libs.kotlin.test) + } + } +} diff --git a/shared/src/commonMain/kotlin/fr/ajaury/gwenedeg/core/logging/KermitLogger.kt b/core/logging/src/commonMain/kotlin/fr/ajaury/gwenedeg/core/logging/KermitLogger.kt similarity index 100% rename from shared/src/commonMain/kotlin/fr/ajaury/gwenedeg/core/logging/KermitLogger.kt rename to core/logging/src/commonMain/kotlin/fr/ajaury/gwenedeg/core/logging/KermitLogger.kt diff --git a/shared/src/commonMain/kotlin/fr/ajaury/gwenedeg/core/logging/Logger.kt b/core/logging/src/commonMain/kotlin/fr/ajaury/gwenedeg/core/logging/Logger.kt similarity index 100% rename from shared/src/commonMain/kotlin/fr/ajaury/gwenedeg/core/logging/Logger.kt rename to core/logging/src/commonMain/kotlin/fr/ajaury/gwenedeg/core/logging/Logger.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index d8823e0..6d3ff06 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -36,4 +36,7 @@ include(":androidApp") include(":desktopApp") include(":webApp") include(":shared") + +// Core modules include(":core:audioplayer") +include(":core:logging") diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts index db97269..1b89ba9 100644 --- a/shared/build.gradle.kts +++ b/shared/build.gradle.kts @@ -58,8 +58,9 @@ kotlin { implementation(libs.compose.uiToolingPreview) } commonMain.dependencies { - // Audio player module + // Core modules implementation(projects.core.audioplayer) + implementation(projects.core.logging) implementation(libs.compose.runtime) implementation(libs.compose.foundation) @@ -69,9 +70,6 @@ kotlin { implementation(libs.compose.components.resources) implementation(libs.compose.uiToolingPreview) - // Logging - implementation(libs.kermit) - // Lifecycle implementation(libs.lifecycle.viewmodelCompose) implementation(libs.lifecycle.runtimeCompose)