diff options
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 |
