mirror of
https://github.com/mamoe/mirai.git
synced 2025-01-10 18:40:15 +08:00
Log PermissionService loaded from plugin on init
This commit is contained in:
parent
617982fbcc
commit
bf83b206e2
@ -11,8 +11,11 @@ package net.mamoe.mirai.console.extensions
|
|||||||
|
|
||||||
import net.mamoe.mirai.console.extension.AbstractSingletonExtensionPoint
|
import net.mamoe.mirai.console.extension.AbstractSingletonExtensionPoint
|
||||||
import net.mamoe.mirai.console.extension.SingletonExtension
|
import net.mamoe.mirai.console.extension.SingletonExtension
|
||||||
|
import net.mamoe.mirai.console.internal.extension.GlobalComponentStorage
|
||||||
import net.mamoe.mirai.console.internal.permission.BuiltInPermissionService
|
import net.mamoe.mirai.console.internal.permission.BuiltInPermissionService
|
||||||
import net.mamoe.mirai.console.permission.PermissionService
|
import net.mamoe.mirai.console.permission.PermissionService
|
||||||
|
import net.mamoe.mirai.console.plugin.Plugin
|
||||||
|
import net.mamoe.mirai.console.util.ConsoleExperimentalApi
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* [权限服务][PermissionService] 提供器.
|
* [权限服务][PermissionService] 提供器.
|
||||||
@ -21,7 +24,16 @@ import net.mamoe.mirai.console.permission.PermissionService
|
|||||||
*/
|
*/
|
||||||
public interface PermissionServiceProvider : SingletonExtension<PermissionService<*>> {
|
public interface PermissionServiceProvider : SingletonExtension<PermissionService<*>> {
|
||||||
public companion object ExtensionPoint :
|
public companion object ExtensionPoint :
|
||||||
AbstractSingletonExtensionPoint<PermissionServiceProvider, PermissionService<*>>(PermissionServiceProvider::class, BuiltInPermissionService)
|
AbstractSingletonExtensionPoint<PermissionServiceProvider, PermissionService<*>>(PermissionServiceProvider::class, BuiltInPermissionService) {
|
||||||
|
@ConsoleExperimentalApi
|
||||||
|
public val providerPlugin: Plugin? by lazy {
|
||||||
|
GlobalComponentStorage.run {
|
||||||
|
val instance = PermissionService.INSTANCE
|
||||||
|
if (instance is BuiltInPermissionService) return@lazy null
|
||||||
|
PermissionServiceProvider.getExtensions().find { it.extension === instance }?.plugin
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -43,6 +43,7 @@ import net.mamoe.mirai.console.internal.logging.MiraiConsoleLogger
|
|||||||
import net.mamoe.mirai.console.internal.permission.BuiltInPermissionService
|
import net.mamoe.mirai.console.internal.permission.BuiltInPermissionService
|
||||||
import net.mamoe.mirai.console.internal.plugin.PluginManagerImpl
|
import net.mamoe.mirai.console.internal.plugin.PluginManagerImpl
|
||||||
import net.mamoe.mirai.console.internal.util.autoHexToBytes
|
import net.mamoe.mirai.console.internal.util.autoHexToBytes
|
||||||
|
import net.mamoe.mirai.console.internal.util.runIgnoreException
|
||||||
import net.mamoe.mirai.console.logging.LoggerController
|
import net.mamoe.mirai.console.logging.LoggerController
|
||||||
import net.mamoe.mirai.console.permission.PermissionService
|
import net.mamoe.mirai.console.permission.PermissionService
|
||||||
import net.mamoe.mirai.console.permission.PermissionService.Companion.permit
|
import net.mamoe.mirai.console.permission.PermissionService.Companion.permit
|
||||||
@ -51,6 +52,7 @@ import net.mamoe.mirai.console.plugin.PluginManager
|
|||||||
import net.mamoe.mirai.console.plugin.center.PluginCenter
|
import net.mamoe.mirai.console.plugin.center.PluginCenter
|
||||||
import net.mamoe.mirai.console.plugin.jvm.AbstractJvmPlugin
|
import net.mamoe.mirai.console.plugin.jvm.AbstractJvmPlugin
|
||||||
import net.mamoe.mirai.console.plugin.loader.PluginLoader
|
import net.mamoe.mirai.console.plugin.loader.PluginLoader
|
||||||
|
import net.mamoe.mirai.console.plugin.name
|
||||||
import net.mamoe.mirai.console.util.ConsoleExperimentalApi
|
import net.mamoe.mirai.console.util.ConsoleExperimentalApi
|
||||||
import net.mamoe.mirai.console.util.ConsoleInput
|
import net.mamoe.mirai.console.util.ConsoleInput
|
||||||
import net.mamoe.mirai.console.util.SemVersion
|
import net.mamoe.mirai.console.util.SemVersion
|
||||||
@ -186,22 +188,22 @@ internal object MiraiConsoleImplementationBridge : CoroutineScope, MiraiConsoleI
|
|||||||
phase `load PermissionService`@{
|
phase `load PermissionService`@{
|
||||||
mainLogger.verbose { "Loading PermissionService..." }
|
mainLogger.verbose { "Loading PermissionService..." }
|
||||||
|
|
||||||
PermissionServiceProvider.selectedInstance // init
|
|
||||||
|
|
||||||
PermissionService.INSTANCE.let { ps ->
|
PermissionService.INSTANCE.let { ps ->
|
||||||
if (ps is BuiltInPermissionService) {
|
if (ps is BuiltInPermissionService) {
|
||||||
ConsoleDataScope.addAndReloadConfig(ps.config)
|
ConsoleDataScope.addAndReloadConfig(ps.config)
|
||||||
mainLogger.verbose { "Reloaded PermissionService settings." }
|
mainLogger.verbose { "Reloaded PermissionService settings." }
|
||||||
|
} else {
|
||||||
|
mainLogger.info { "Loaded PermissionService from plugin ${PermissionServiceProvider.providerPlugin?.name}" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ConsoleCommandSender.permit(RootPermission)
|
runIgnoreException<UnsupportedOperationException> { ConsoleCommandSender.permit(RootPermission) }
|
||||||
}
|
}
|
||||||
|
|
||||||
phase `prepare commands`@{
|
phase `prepare commands`@{
|
||||||
mainLogger.verbose { "Loading built-in commands..." }
|
mainLogger.verbose { "Loading built-in commands..." }
|
||||||
BuiltInCommands.registerAll()
|
BuiltInCommands.registerAll()
|
||||||
mainLogger.verbose { "Prepared built-in commands: ${BuiltInCommands.all.joinToString { it.primaryName }}" }
|
mainLogger.info { "Prepared built-in commands: ${BuiltInCommands.all.joinToString { it.primaryName }}" }
|
||||||
CommandManager
|
CommandManager
|
||||||
// CommandManagerImpl.commandListener // start
|
// CommandManagerImpl.commandListener // start
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user