Explorar el Código

Add plugin tests PluginResolveSelfDependenciesOverConsoleOnes, close #1981

Him188 hace 3 años
padre
commit
854b55f216

+ 34 - 0
mirai-console/backend/integration-test/testers/plugin-resolve-self-dependencies-over-console-ones/build.gradle.kts

@@ -0,0 +1,34 @@
+/*
+ * Copyright 2019-2022 Mamoe Technologies and contributors.
+ *
+ * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
+ * Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
+ *
+ * https://github.com/mamoe/mirai/blob/dev/LICENSE
+ */
+
+@file:Suppress("UnusedImport")
+
+plugins {
+    kotlin("jvm")
+    kotlin("plugin.serialization")
+    id("java")
+}
+
+version = "0.0.0"
+
+kotlin {
+    explicitApiWarning()
+}
+
+dependencies {
+    api(project(":mirai-console.integration-test"))
+
+    implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2")
+
+    val ktorVersion = "2.0.0"
+
+    implementation("io.ktor:ktor-client-core:$ktorVersion")
+    implementation("io.ktor:ktor-client-java:$ktorVersion")
+    implementation("io.ktor:ktor-client-resources:$ktorVersion")
+}

+ 29 - 0
mirai-console/backend/integration-test/testers/plugin-resolve-self-dependencies-over-console-ones/src/PluginResolveSelfDependenciesOverConsoleOnes.kt

@@ -0,0 +1,29 @@
+/*
+ * Copyright 2019-2022 Mamoe Technologies and contributors.
+ *
+ * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
+ * Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
+ *
+ * https://github.com/mamoe/mirai/blob/dev/LICENSE
+ */
+
+import io.ktor.client.*
+import io.ktor.client.engine.java.*
+import io.ktor.client.plugins.resources.*
+import net.mamoe.mirai.console.plugin.jvm.JvmPluginDescription
+import net.mamoe.mirai.console.plugin.jvm.KotlinPlugin
+import net.mamoe.mirai.utils.info
+
+// 若插件定义依赖, 则使用插件依赖而不要使用 mirai-console 依赖
+public class PluginResolveSelfDependenciesOverConsoleOnes :
+    KotlinPlugin(JvmPluginDescription("net.mamoe.tester.plugin-resolve-self-dependencies-over-console-ones", "1.0.0")) {
+
+    override fun onEnable() {
+        logger.info { "Plugin loaded" }
+        logger.info {
+            HttpClient(Java) {
+                install(Resources)
+            }.toString()
+        }
+    }
+}

+ 26 - 0
mirai-console/backend/integration-test/testers/plugin-use-console-deps-fallback/src/PluginUseConsoleDepsFallback.kt

@@ -0,0 +1,26 @@
+/*
+ * Copyright 2019-2022 Mamoe Technologies and contributors.
+ *
+ * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
+ * Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
+ *
+ * https://github.com/mamoe/mirai/blob/dev/LICENSE
+ */
+
+import io.ktor.client.*
+import io.ktor.client.engine.okhttp.*
+import net.mamoe.mirai.console.plugin.jvm.JvmPluginDescription
+import net.mamoe.mirai.console.plugin.jvm.KotlinPlugin
+import net.mamoe.mirai.utils.info
+
+// 若插件未定义依赖, 则使用 mirai-console 内置依赖
+public class PluginUseConsoleDepsFallback :
+    KotlinPlugin(JvmPluginDescription("net.mamoe.tester.plugin-use-console-deps-fallback", "1.0.0")) {
+
+    override fun onEnable() {
+        logger.info { "Plugin loaded" }
+        logger.info {
+            HttpClient(OkHttp).toString()
+        }
+    }
+}