summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/build.gradle.kts6
-rw-r--r--engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/settings/SettingsDataClassesTest.kt25
-rw-r--r--platform-paper/build.gradle.kts3
-rw-r--r--platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/ServiceInitializer.kt2
-rw-r--r--platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/CacheData.kt (renamed from engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/converter/CacheData.kt)2
-rw-r--r--platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/ConversionCache.kt1
-rw-r--r--platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/GoogleIMEClient.kt (renamed from engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/converter/GoogleIMEClient.kt)2
-rw-r--r--platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/KanaConverter.kt (renamed from engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/converter/KanaConverter.kt)2
-rw-r--r--platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/RomanjiConverter.kt2
-rw-r--r--platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/converter/CacheDataTest.kt31
-rw-r--r--platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/converter/KanaConverterTest.kt (renamed from engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/converter/KanaConverterTest.kt)2
-rw-r--r--platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/converter/RomanjiConverterTest.kt2
12 files changed, 42 insertions, 38 deletions
diff --git a/engine/build.gradle.kts b/engine/build.gradle.kts
index bcb7eb6..2d36116 100644
--- a/engine/build.gradle.kts
+++ b/engine/build.gradle.kts
@@ -4,11 +4,9 @@ plugins {
}
dependencies {
- // Core dependencies (exposed to platform modules via api())
+ // Exposed to platform modules via api(): the plugin messaging protocol is built on it, so
+ // both platforms need it on their compile and runtime classpath.
api("org.jetbrains.kotlinx:kotlinx-serialization-json:1.11.0")
- api("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0")
- api("io.ktor:ktor-client-core:3.5.2")
- api("io.ktor:ktor-client-cio:3.5.2")
// Adventure API (provided by platform implementations)
// Matches what every supported platform ships: Paper 26.2 and Velocity 4.x both bundle 5.2.0.
diff --git a/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/settings/SettingsDataClassesTest.kt b/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/settings/SettingsDataClassesTest.kt
index a7cc2ee..bd337ff 100644
--- a/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/settings/SettingsDataClassesTest.kt
+++ b/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/settings/SettingsDataClassesTest.kt
@@ -1,6 +1,5 @@
package dev.m1sk9.lunaticChat.engine.settings
-import dev.m1sk9.lunaticChat.engine.converter.CacheData
import kotlinx.serialization.json.Json
import java.util.UUID
import kotlin.test.Test
@@ -104,28 +103,4 @@ class SettingsDataClassesTest {
val serialized = json.encodeToString(PlayerSettingsData.serializer(), data)
assertTrue(serialized.contains(testUUID.toString()))
}
-
- // --- CacheData ---
-
- @Test
- fun `CacheData should store version and entries`() {
- val data = CacheData(version = "1.0", entries = mapOf("hello" to "こんにちは"))
- assertEquals("1.0", data.version)
- assertEquals("こんにちは", data.entries["hello"])
- }
-
- @Test
- fun `CacheData serialization round-trip should preserve all fields`() {
- val original =
- CacheData(
- version = "2.0",
- entries = mapOf("hello" to "こんにちは", "world" to "世界"),
- )
-
- val serialized = json.encodeToString(CacheData.serializer(), original)
- val deserialized = json.decodeFromString(CacheData.serializer(), serialized)
-
- assertEquals(original.version, deserialized.version)
- assertEquals(original.entries, deserialized.entries)
- }
}
diff --git a/platform-paper/build.gradle.kts b/platform-paper/build.gradle.kts
index a846ed9..95fe21a 100644
--- a/platform-paper/build.gradle.kts
+++ b/platform-paper/build.gradle.kts
@@ -20,6 +20,9 @@ dependencies {
// Paper-specific dependencies
compileOnly("io.papermc.paper:paper-api:26.2.build.92-stable")
+ implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0")
+ implementation("io.ktor:ktor-client-core:3.5.2") // Google IME client, update check
+ implementation("io.ktor:ktor-client-cio:3.5.2")
implementation("com.charleskorn.kaml:kaml:0.104.0") // YAML configuration
implementation("org.jetbrains.kotlin:kotlin-reflect:2.4.10") // Annotation processing
diff --git a/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/ServiceInitializer.kt b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/ServiceInitializer.kt
index 5ec2e0a..9f1de87 100644
--- a/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/ServiceInitializer.kt
+++ b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/ServiceInitializer.kt
@@ -1,6 +1,5 @@
package dev.m1sk9.lunaticChat.paper
-import dev.m1sk9.lunaticChat.engine.converter.GoogleIMEClient
import dev.m1sk9.lunaticChat.paper.chat.channel.ChannelManager
import dev.m1sk9.lunaticChat.paper.chat.channel.ChannelMembershipManager
import dev.m1sk9.lunaticChat.paper.chat.channel.ChannelMessageLogger
@@ -10,6 +9,7 @@ import dev.m1sk9.lunaticChat.paper.chat.handler.ChannelNotificationHandler
import dev.m1sk9.lunaticChat.paper.chat.handler.DirectMessageHandler
import dev.m1sk9.lunaticChat.paper.config.LunaticChatConfiguration
import dev.m1sk9.lunaticChat.paper.converter.ConversionCache
+import dev.m1sk9.lunaticChat.paper.converter.GoogleIMEClient
import dev.m1sk9.lunaticChat.paper.converter.RomanjiConverter
import dev.m1sk9.lunaticChat.paper.i18n.LanguageManager
import dev.m1sk9.lunaticChat.paper.settings.PlayerSettingsManager
diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/converter/CacheData.kt b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/CacheData.kt
index 1f335b4..06bf3f0 100644
--- a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/converter/CacheData.kt
+++ b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/CacheData.kt
@@ -1,4 +1,4 @@
-package dev.m1sk9.lunaticChat.engine.converter
+package dev.m1sk9.lunaticChat.paper.converter
import kotlinx.serialization.Serializable
diff --git a/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/ConversionCache.kt b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/ConversionCache.kt
index c550f09..cba62af 100644
--- a/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/ConversionCache.kt
+++ b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/ConversionCache.kt
@@ -1,6 +1,5 @@
package dev.m1sk9.lunaticChat.paper.converter
-import dev.m1sk9.lunaticChat.engine.converter.CacheData
import dev.m1sk9.lunaticChat.paper.writeTextAtomically
import kotlinx.serialization.json.Json
import java.nio.file.Path
diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/converter/GoogleIMEClient.kt b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/GoogleIMEClient.kt
index 4a23bc7..0689ad4 100644
--- a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/converter/GoogleIMEClient.kt
+++ b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/GoogleIMEClient.kt
@@ -1,4 +1,4 @@
-package dev.m1sk9.lunaticChat.engine.converter
+package dev.m1sk9.lunaticChat.paper.converter
import io.ktor.client.HttpClient
import io.ktor.client.call.body
diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/converter/KanaConverter.kt b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/KanaConverter.kt
index bdbdf69..544eea7 100644
--- a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/converter/KanaConverter.kt
+++ b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/KanaConverter.kt
@@ -1,4 +1,4 @@
-package dev.m1sk9.lunaticChat.engine.converter
+package dev.m1sk9.lunaticChat.paper.converter
/**
* Converts romanji text to hiragana using Trie data structure.
diff --git a/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/RomanjiConverter.kt b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/RomanjiConverter.kt
index 530d3dc..100aeb3 100644
--- a/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/RomanjiConverter.kt
+++ b/platform-paper/src/main/kotlin/dev/m1sk9/lunaticChat/paper/converter/RomanjiConverter.kt
@@ -1,7 +1,5 @@
package dev.m1sk9.lunaticChat.paper.converter
-import dev.m1sk9.lunaticChat.engine.converter.GoogleIMEClient
-import dev.m1sk9.lunaticChat.engine.converter.KanaConverter
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.async
import kotlinx.coroutines.awaitAll
diff --git a/platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/converter/CacheDataTest.kt b/platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/converter/CacheDataTest.kt
new file mode 100644
index 0000000..f44dd10
--- /dev/null
+++ b/platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/converter/CacheDataTest.kt
@@ -0,0 +1,31 @@
+package dev.m1sk9.lunaticChat.paper.converter
+
+import kotlinx.serialization.json.Json
+import kotlin.test.Test
+import kotlin.test.assertEquals
+
+class CacheDataTest {
+ private val json = Json
+
+ @Test
+ fun `CacheData should store version and entries`() {
+ val data = CacheData(version = "1.0", entries = mapOf("hello" to "こんにちは"))
+ assertEquals("1.0", data.version)
+ assertEquals("こんにちは", data.entries["hello"])
+ }
+
+ @Test
+ fun `CacheData serialization round-trip should preserve all fields`() {
+ val original =
+ CacheData(
+ version = "2.0",
+ entries = mapOf("hello" to "こんにちは", "world" to "世界"),
+ )
+
+ val serialized = json.encodeToString(CacheData.serializer(), original)
+ val deserialized = json.decodeFromString(CacheData.serializer(), serialized)
+
+ assertEquals(original.version, deserialized.version)
+ assertEquals(original.entries, deserialized.entries)
+ }
+}
diff --git a/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/converter/KanaConverterTest.kt b/platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/converter/KanaConverterTest.kt
index 5ba7f0e..798772d 100644
--- a/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/converter/KanaConverterTest.kt
+++ b/platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/converter/KanaConverterTest.kt
@@ -1,4 +1,4 @@
-package dev.m1sk9.lunaticChat.engine.converter
+package dev.m1sk9.lunaticChat.paper.converter
import kotlin.test.Test
import kotlin.test.assertEquals
diff --git a/platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/converter/RomanjiConverterTest.kt b/platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/converter/RomanjiConverterTest.kt
index eba2c54..c8fe680 100644
--- a/platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/converter/RomanjiConverterTest.kt
+++ b/platform-paper/src/test/kotlin/dev/m1sk9/lunaticChat/paper/converter/RomanjiConverterTest.kt
@@ -1,7 +1,7 @@
package dev.m1sk9.lunaticChat.paper.converter
-import dev.m1sk9.lunaticChat.engine.converter.GoogleIMEClient
import dev.m1sk9.lunaticChat.paper.TestUtils
+import dev.m1sk9.lunaticChat.paper.converter.GoogleIMEClient
import io.mockk.coEvery
import io.mockk.coVerify
import io.mockk.every