mirror of
https://github.com/mamoe/mirai.git
synced 2025-03-13 06:30:13 +08:00
Rename Access to Classpath
This commit is contained in:
parent
72d248f1e6
commit
50e7462b6b
@ -29,6 +29,6 @@ public class PluginResolveSelfDependenciesOverConsoleOnes :
|
||||
}.toString()
|
||||
}
|
||||
val hcC = Class.forName("io.ktor.client.HttpClient")
|
||||
assertClassSame(hcC, jvmPluginClassLoaderAccess.pluginIndependentLibrariesClassLoader.loadClass(hcC.name))
|
||||
assertClassSame(hcC, jvmPluginClasspath.pluginIndependentLibrariesClassLoader.loadClass(hcC.name))
|
||||
}
|
||||
}
|
@ -20,7 +20,7 @@ import kotlin.test.assertEquals
|
||||
|
||||
internal object PMain : KotlinPlugin(JvmPluginDescription("net.mamoe.console.itest.serviceloader", "0.0.0")) {
|
||||
init {
|
||||
val access = jvmPluginClassLoaderAccess
|
||||
val access = jvmPluginClasspath
|
||||
val sharedCL = access.pluginSharedLibrariesClassLoader
|
||||
access.addToPath(sharedCL, File("modules/module-service-loader-typedef-0.0.0.jar"))
|
||||
access.addToPath(sharedCL, File("modules/module-service-loader-impl-0.0.0.jar"))
|
||||
|
@ -2157,7 +2157,7 @@ public abstract class net/mamoe/mirai/console/plugin/jvm/AbstractJvmPlugin : net
|
||||
public synthetic fun <init> (Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
public fun getAutoSaveIntervalMillis ()Lkotlin/ranges/LongRange;
|
||||
public final fun getDataHolderName ()Ljava/lang/String;
|
||||
protected final fun getJvmPluginClassLoaderAccess ()Lnet/mamoe/mirai/console/plugin/jvm/JvmPluginClassLoaderAccess;
|
||||
protected final fun getJvmPluginClasspath ()Lnet/mamoe/mirai/console/plugin/jvm/JvmPluginClasspath;
|
||||
public final fun getLoader ()Lnet/mamoe/mirai/console/plugin/jvm/JvmPluginLoader;
|
||||
public synthetic fun getLoader ()Lnet/mamoe/mirai/console/plugin/loader/PluginLoader;
|
||||
public final fun permissionId (Ljava/lang/String;)Lnet/mamoe/mirai/console/permission/PermissionId;
|
||||
@ -2214,7 +2214,7 @@ public final class net/mamoe/mirai/console/plugin/jvm/JvmPlugin$Companion {
|
||||
public final synthetic fun onLoad (Lnet/mamoe/mirai/console/plugin/jvm/JvmPlugin;Lnet/mamoe/mirai/console/extension/PluginComponentStorage;)V
|
||||
}
|
||||
|
||||
public abstract interface class net/mamoe/mirai/console/plugin/jvm/JvmPluginClassLoaderAccess {
|
||||
public abstract interface class net/mamoe/mirai/console/plugin/jvm/JvmPluginClasspath {
|
||||
public abstract fun addToPath (Ljava/lang/ClassLoader;Ljava/io/File;)V
|
||||
public abstract fun downloadAndAddToPath (Ljava/lang/ClassLoader;Ljava/util/Collection;)V
|
||||
public abstract fun getPluginClassLoader ()Ljava/lang/ClassLoader;
|
||||
|
@ -12,7 +12,7 @@ package net.mamoe.mirai.console.internal.plugin
|
||||
|
||||
import net.mamoe.mirai.console.MiraiConsole
|
||||
import net.mamoe.mirai.console.plugin.jvm.ExportManager
|
||||
import net.mamoe.mirai.console.plugin.jvm.JvmPluginClassLoaderAccess
|
||||
import net.mamoe.mirai.console.plugin.jvm.JvmPluginClasspath
|
||||
import net.mamoe.mirai.utils.*
|
||||
import org.eclipse.aether.artifact.Artifact
|
||||
import org.eclipse.aether.graph.DependencyFilter
|
||||
@ -181,7 +181,7 @@ internal class DynLibClassLoader : URLClassLoader {
|
||||
|
||||
@Suppress("JoinDeclarationAndAssignment")
|
||||
internal class JvmPluginClassLoaderN : URLClassLoader {
|
||||
val openaccess: JvmPluginClassLoaderAccess = OpenAccess()
|
||||
val openaccess: JvmPluginClasspath = OpenAccess()
|
||||
val file: File
|
||||
val ctx: JvmPluginsLoadingCtx
|
||||
val sharedLibrariesLogger: DynLibClassLoader
|
||||
@ -446,7 +446,7 @@ internal class JvmPluginClassLoaderN : URLClassLoader {
|
||||
return "JvmPluginClassLoader{${file.name}}"
|
||||
}
|
||||
|
||||
inner class OpenAccess : JvmPluginClassLoaderAccess {
|
||||
inner class OpenAccess : JvmPluginClasspath {
|
||||
override val pluginFile: File
|
||||
get() = this@JvmPluginClassLoaderN.file
|
||||
|
||||
|
@ -80,18 +80,18 @@ public abstract class AbstractJvmPlugin @JvmOverloads constructor(
|
||||
public override val autoSaveIntervalMillis: LongRange = 30.secondsToMillis..10.minutesToMillis
|
||||
|
||||
/**
|
||||
* 获取 [JvmPluginClassLoaderAccess]
|
||||
* 获取 [JvmPluginClasspath]
|
||||
*
|
||||
* 注: 仅插件通过 console 内置插件加载器加载时可用
|
||||
*
|
||||
* @since 2.12
|
||||
*/
|
||||
protected val jvmPluginClassLoaderAccess: JvmPluginClassLoaderAccess by lazy {
|
||||
protected val jvmPluginClasspath: JvmPluginClasspath by lazy {
|
||||
val classLoader = this@AbstractJvmPlugin.javaClass.classLoader
|
||||
if (classLoader is JvmPluginClassLoaderN) {
|
||||
return@lazy classLoader.openaccess
|
||||
}
|
||||
error("jvmPluginClassLoaderAccess not available for $classLoader")
|
||||
error("jvmPluginClasspath not available for $classLoader")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -10,15 +10,14 @@
|
||||
package net.mamoe.mirai.console.plugin.jvm
|
||||
|
||||
import java.io.File
|
||||
import java.io.IOException
|
||||
|
||||
/**
|
||||
* 动态注册类搜索路径
|
||||
* [JvmPlugin] 的类路径
|
||||
*
|
||||
* @since 2.12
|
||||
* @see AbstractJvmPlugin.jvmPluginClassLoaderAccess
|
||||
* @see AbstractJvmPlugin.jvmPluginClasspath
|
||||
*/
|
||||
public interface JvmPluginClassLoaderAccess {
|
||||
public interface JvmPluginClasspath {
|
||||
public val pluginFile: File
|
||||
|
||||
/**
|
Loading…
Reference in New Issue
Block a user