1
0
mirror of https://github.com/mamoe/mirai.git synced 2025-04-24 20:43:33 +08:00

fix: JvmPluginDescription check

This commit is contained in:
cssxsh 2023-09-06 07:26:56 +08:00
parent 93ccce16d8
commit 8ac0536deb
No known key found for this signature in database
GPG Key ID: 92849F91CA9D8ECE

View File

@ -16,6 +16,7 @@ import io.github.karlatemp.caller.StackFrame
import kotlinx.serialization.Serializable
import net.mamoe.mirai.console.compiler.common.ResolveContext
import net.mamoe.mirai.console.compiler.common.ResolveContext.Kind.*
import net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN
import net.mamoe.mirai.console.internal.util.findLoader
import net.mamoe.mirai.console.plugin.description.PluginDependency
import net.mamoe.mirai.console.plugin.description.PluginDescription
@ -47,6 +48,11 @@ public interface JvmPluginDescription : PluginDescription {
pluginClassloader: ClassLoader = CallerFinder.getCaller()?.findLoader()
?: error("Cannot find caller classloader, please specify manually."),
): JvmPluginDescription {
if (filename == "plugin.yml") {
val cache = (pluginClassloader as? JvmPluginClassLoaderN)?.pluginDescriptionFromPluginResource
if (cache != null) return cache
}
val stream = pluginClassloader.getResourceAsStream(filename)
?: error("Cannot find plugin description resource '$filename'")