From c7c24fa45410a8b69979641ef795802c900c2ce7 Mon Sep 17 00:00:00 2001 From: LamGC Date: Sun, 26 Jun 2022 02:42:35 +0800 Subject: [PATCH] =?UTF-8?q?fix(config):=20=E4=BF=AE=E5=A4=8D=E6=BD=9C?= =?UTF-8?q?=E5=9C=A8=E7=9A=84=E6=97=A0=E7=8A=B6=E5=86=B5=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E9=97=AE=E9=A2=98.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 由于在 MavenRepositoryConfigSerializer 反序列化中过滤了 Json 的类型, 导致用户在配置中使用了错误的 Json 数据类型将不会有任何错误信息. 该改动已解决该问题. --- scalabot-meta/src/main/kotlin/serializer/Serializer.kt | 8 ++++---- .../src/test/kotlin/serializer/SerializersKtTest.kt | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/scalabot-meta/src/main/kotlin/serializer/Serializer.kt b/scalabot-meta/src/main/kotlin/serializer/Serializer.kt index 2ff6a90..9899b96 100644 --- a/scalabot-meta/src/main/kotlin/serializer/Serializer.kt +++ b/scalabot-meta/src/main/kotlin/serializer/Serializer.kt @@ -115,16 +115,16 @@ object MavenRepositoryConfigSerializer MavenRepositoryConfig( id = json.get("id")?.asString, url = URL(SerializerUtils.checkJsonKey(json, "url")), - proxy = if (json.has("proxy") && json.get("proxy").isJsonObject) + proxy = if (json.has("proxy")) context.deserialize( - json.getAsJsonObject("proxy"), Proxy::class.java + json.get("proxy"), Proxy::class.java ) else null, layout = json.get("layout")?.asString ?: "default", enableReleases = json.get("enableReleases")?.asBoolean ?: true, enableSnapshots = json.get("enableSnapshots")?.asBoolean ?: true, - authentication = if (json.has("authentication") && json.get("authentication").isJsonObject) + authentication = if (json.has("authentication")) context.deserialize( - json.getAsJsonObject("authentication"), Authentication::class.java + json.get("authentication"), Authentication::class.java ) else null ) } diff --git a/scalabot-meta/src/test/kotlin/serializer/SerializersKtTest.kt b/scalabot-meta/src/test/kotlin/serializer/SerializersKtTest.kt index 6cefc4a..c5cd5dd 100644 --- a/scalabot-meta/src/test/kotlin/serializer/SerializersKtTest.kt +++ b/scalabot-meta/src/test/kotlin/serializer/SerializersKtTest.kt @@ -227,7 +227,6 @@ internal class MavenRepositoryConfigSerializerTest { // ------------------------------------ - jsonObject.add("authentication", JsonArray()) jsonObject.add("layout", mockk { every { asString }.returns(null) })