Rename Access to Classpath

This commit is contained in:
Karlatemp 2022-05-24 17:00:30 +08:00
parent 72d248f1e6
commit 50e7462b6b
No known key found for this signature in database
GPG Key ID: BA173CA2B9956C59
6 changed files with 13 additions and 14 deletions

View File

@ -29,6 +29,6 @@ public class PluginResolveSelfDependenciesOverConsoleOnes :
}.toString() }.toString()
} }
val hcC = Class.forName("io.ktor.client.HttpClient") val hcC = Class.forName("io.ktor.client.HttpClient")
assertClassSame(hcC, jvmPluginClassLoaderAccess.pluginIndependentLibrariesClassLoader.loadClass(hcC.name)) assertClassSame(hcC, jvmPluginClasspath.pluginIndependentLibrariesClassLoader.loadClass(hcC.name))
} }
} }

View File

@ -20,7 +20,7 @@ import kotlin.test.assertEquals
internal object PMain : KotlinPlugin(JvmPluginDescription("net.mamoe.console.itest.serviceloader", "0.0.0")) { internal object PMain : KotlinPlugin(JvmPluginDescription("net.mamoe.console.itest.serviceloader", "0.0.0")) {
init { init {
val access = jvmPluginClassLoaderAccess val access = jvmPluginClasspath
val sharedCL = access.pluginSharedLibrariesClassLoader 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-typedef-0.0.0.jar"))
access.addToPath(sharedCL, File("modules/module-service-loader-impl-0.0.0.jar")) access.addToPath(sharedCL, File("modules/module-service-loader-impl-0.0.0.jar"))

View File

@ -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 synthetic fun <init> (Lkotlin/coroutines/CoroutineContext;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun getAutoSaveIntervalMillis ()Lkotlin/ranges/LongRange; public fun getAutoSaveIntervalMillis ()Lkotlin/ranges/LongRange;
public final fun getDataHolderName ()Ljava/lang/String; 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 final fun getLoader ()Lnet/mamoe/mirai/console/plugin/jvm/JvmPluginLoader;
public synthetic fun getLoader ()Lnet/mamoe/mirai/console/plugin/loader/PluginLoader; public synthetic fun getLoader ()Lnet/mamoe/mirai/console/plugin/loader/PluginLoader;
public final fun permissionId (Ljava/lang/String;)Lnet/mamoe/mirai/console/permission/PermissionId; 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 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 addToPath (Ljava/lang/ClassLoader;Ljava/io/File;)V
public abstract fun downloadAndAddToPath (Ljava/lang/ClassLoader;Ljava/util/Collection;)V public abstract fun downloadAndAddToPath (Ljava/lang/ClassLoader;Ljava/util/Collection;)V
public abstract fun getPluginClassLoader ()Ljava/lang/ClassLoader; public abstract fun getPluginClassLoader ()Ljava/lang/ClassLoader;

View File

@ -12,7 +12,7 @@ package net.mamoe.mirai.console.internal.plugin
import net.mamoe.mirai.console.MiraiConsole import net.mamoe.mirai.console.MiraiConsole
import net.mamoe.mirai.console.plugin.jvm.ExportManager 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 net.mamoe.mirai.utils.*
import org.eclipse.aether.artifact.Artifact import org.eclipse.aether.artifact.Artifact
import org.eclipse.aether.graph.DependencyFilter import org.eclipse.aether.graph.DependencyFilter
@ -181,7 +181,7 @@ internal class DynLibClassLoader : URLClassLoader {
@Suppress("JoinDeclarationAndAssignment") @Suppress("JoinDeclarationAndAssignment")
internal class JvmPluginClassLoaderN : URLClassLoader { internal class JvmPluginClassLoaderN : URLClassLoader {
val openaccess: JvmPluginClassLoaderAccess = OpenAccess() val openaccess: JvmPluginClasspath = OpenAccess()
val file: File val file: File
val ctx: JvmPluginsLoadingCtx val ctx: JvmPluginsLoadingCtx
val sharedLibrariesLogger: DynLibClassLoader val sharedLibrariesLogger: DynLibClassLoader
@ -446,7 +446,7 @@ internal class JvmPluginClassLoaderN : URLClassLoader {
return "JvmPluginClassLoader{${file.name}}" return "JvmPluginClassLoader{${file.name}}"
} }
inner class OpenAccess : JvmPluginClassLoaderAccess { inner class OpenAccess : JvmPluginClasspath {
override val pluginFile: File override val pluginFile: File
get() = this@JvmPluginClassLoaderN.file get() = this@JvmPluginClassLoaderN.file

View File

@ -80,18 +80,18 @@ public abstract class AbstractJvmPlugin @JvmOverloads constructor(
public override val autoSaveIntervalMillis: LongRange = 30.secondsToMillis..10.minutesToMillis public override val autoSaveIntervalMillis: LongRange = 30.secondsToMillis..10.minutesToMillis
/** /**
* 获取 [JvmPluginClassLoaderAccess] * 获取 [JvmPluginClasspath]
* *
* : 仅插件通过 console 内置插件加载器加载时可用 * : 仅插件通过 console 内置插件加载器加载时可用
* *
* @since 2.12 * @since 2.12
*/ */
protected val jvmPluginClassLoaderAccess: JvmPluginClassLoaderAccess by lazy { protected val jvmPluginClasspath: JvmPluginClasspath by lazy {
val classLoader = this@AbstractJvmPlugin.javaClass.classLoader val classLoader = this@AbstractJvmPlugin.javaClass.classLoader
if (classLoader is JvmPluginClassLoaderN) { if (classLoader is JvmPluginClassLoaderN) {
return@lazy classLoader.openaccess return@lazy classLoader.openaccess
} }
error("jvmPluginClassLoaderAccess not available for $classLoader") error("jvmPluginClasspath not available for $classLoader")
} }
} }

View File

@ -10,15 +10,14 @@
package net.mamoe.mirai.console.plugin.jvm package net.mamoe.mirai.console.plugin.jvm
import java.io.File import java.io.File
import java.io.IOException
/** /**
* 动态注册类搜索路径 * [JvmPlugin] 的类路径
* *
* @since 2.12 * @since 2.12
* @see AbstractJvmPlugin.jvmPluginClassLoaderAccess * @see AbstractJvmPlugin.jvmPluginClasspath
*/ */
public interface JvmPluginClassLoaderAccess { public interface JvmPluginClasspath {
public val pluginFile: File public val pluginFile: File
/** /**