mirror of
https://github.com/mamoe/mirai.git
synced 2025-03-13 14:50:43 +08:00
Rename Access to Classpath
This commit is contained in:
parent
72d248f1e6
commit
50e7462b6b
@ -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))
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -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"))
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
/**
|
/**
|
Loading…
Reference in New Issue
Block a user