From 8b4af8272f46863a75c813cfb384a00d104cefa9 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Thu, 28 Mar 2024 17:31:23 +0900 Subject: [PATCH] add js as target for shared code --- build.gradle | 1 - shared/build.gradle.kts | 6 ++++ .../com/habitrpg/shared/habitica/Logger.js.kt | 30 +++++++++++++++++++ .../habitrpg/shared/habitica/Platform.js.kt | 8 +++++ 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 shared/src/jsMain/kotlin/com/habitrpg/shared/habitica/Logger.js.kt create mode 100644 shared/src/jsMain/kotlin/com/habitrpg/shared/habitica/Platform.js.kt diff --git a/build.gradle b/build.gradle index 09864b59e..a20246edb 100644 --- a/build.gradle +++ b/build.gradle @@ -97,7 +97,6 @@ if (propFile.canRead()) { } } else { println 'signing.properties not found' - android.buildTypes.release.signingConfig = null } detekt { diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts index 06b3a4fc1..51b56a961 100644 --- a/shared/build.gradle.kts +++ b/shared/build.gradle.kts @@ -17,6 +17,12 @@ kotlin { android() ios() + js(IR) { + browser() + nodejs() + binaries.library() + } + sourceSets { val commonMain by getting { dependencies { diff --git a/shared/src/jsMain/kotlin/com/habitrpg/shared/habitica/Logger.js.kt b/shared/src/jsMain/kotlin/com/habitrpg/shared/habitica/Logger.js.kt new file mode 100644 index 000000000..b19bb7ccb --- /dev/null +++ b/shared/src/jsMain/kotlin/com/habitrpg/shared/habitica/Logger.js.kt @@ -0,0 +1,30 @@ +@file:OptIn(ExperimentalJsExport::class) + +package com.habitrpg.shared.habitica + +@JsExport +actual class PlatformLogger actual constructor() { + actual val enabled: Boolean + get() = true + + actual fun logDebug(tag: String, message: String) { + console.log("[🥦] $tag: $message") + } + + actual fun logInfo(tag: String, message: String) { + console.log("[🍋] $tag: $message") + } + + actual fun logWarning(tag: String, message: String) { + console.log("[🍊] $tag: $message") + } + + actual fun logError(tag: String, message: String) { + console.log("[🍎] $tag: $message") + } + + @JsName("logErrorException") + actual fun logError(tag: String, message: String, exception: Throwable) { + console.log("[🍎] $tag: $message\n${exception}") + } +} \ No newline at end of file diff --git a/shared/src/jsMain/kotlin/com/habitrpg/shared/habitica/Platform.js.kt b/shared/src/jsMain/kotlin/com/habitrpg/shared/habitica/Platform.js.kt new file mode 100644 index 000000000..10377e357 --- /dev/null +++ b/shared/src/jsMain/kotlin/com/habitrpg/shared/habitica/Platform.js.kt @@ -0,0 +1,8 @@ +package com.habitrpg.shared.habitica + +actual class Platform actual constructor() { + actual val platform: String + get() = "JS!" +} + +actual interface HParcelable \ No newline at end of file