1
0
mirror of https://github.com/mamoe/mirai.git synced 2025-04-25 04:50:26 +08:00
This commit is contained in:
Karlatemp 2023-07-25 15:38:18 +08:00
parent c9c0da0f36
commit f6b82ed657
No known key found for this signature in database
GPG Key ID: BA173CA2B9956C59
3 changed files with 5 additions and 44 deletions
mirai-console/backend/mirai-console/src

View File

@ -28,7 +28,6 @@ import net.mamoe.mirai.console.plugin.loader.AbstractFilePluginLoader
import net.mamoe.mirai.console.plugin.loader.PluginLoadException
import net.mamoe.mirai.console.plugin.name
import net.mamoe.mirai.console.util.ConsoleExperimentalApi
import net.mamoe.mirai.console.util.SemVersion
import net.mamoe.mirai.utils.*
import net.mamoe.yamlkt.Yaml
import java.io.File
@ -337,11 +336,7 @@ internal class BuiltInJvmPluginLoaderImpl(
check(plugin is JvmPluginInternal || plugin is NotYetLoadedJvmPlugin) {
"A JvmPlugin must extend AbstractJvmPlugin to be loaded by JvmPluginLoader.BuiltIn"
}
plugin.description.consoleRequirement?.let { requirement ->
if (!SemVersion.parseRangeRequirement(requirement).test(MiraiConsole.version)) {
throw PluginLoadException("Plugin '${plugin.id}' ('${plugin.id}') requires mirai-console with version $requirement while the resolved is ${MiraiConsole.version}")
}
}
// region Link dependencies
when (plugin) {

View File

@ -9,7 +9,6 @@
package net.mamoe.mirai.console.plugin.description
import net.mamoe.mirai.console.MiraiConsole
import net.mamoe.mirai.console.compiler.common.CheckerConstants
import net.mamoe.mirai.console.compiler.common.ResolveContext
import net.mamoe.mirai.console.compiler.common.ResolveContext.Kind.*
@ -109,17 +108,6 @@ public interface PluginDescription {
*/
public val dependencies: Set<PluginDependency>
/**
* 此插件依赖的 Mirai Console 版本号. null 时则为不限制版本. 通常建议至少限制使用同一个主版本号.
* 如开发时依赖该插件版本 2.15.0, 则将版本限制设置为 `[2.15.0, 3.0.0)`, 表示大于等于 `2.15.0`, 小于 `3.0.0`.
*
* 版本遵循 [语义化版本 2.0 规范](https://semver.org/lang/zh-CN/),
*
* @since 2.16
* @see MiraiConsole.version
*/
@ResolveContext(VERSION_REQUIREMENT) public val consoleRequirement: String?
public companion object {
/**
* [PluginDescription.id] 的合法 [Regex].

View File

@ -119,11 +119,6 @@ public inline fun JvmPluginDescription(
* .build();
* ```
*
* #### Mirai Version Requirement (Since 2.16)
* ```
* dependsOn("net.mamoe.mirai-console", "[2.16.0, 3.0.0)")
* ```
*
* @see [JvmPluginDescription]
*/
public class JvmPluginDescriptionBuilder(
@ -139,7 +134,6 @@ public class JvmPluginDescriptionBuilder(
private var author: String = ""
private var info: String = ""
private var dependencies: MutableSet<PluginDependency> = mutableSetOf()
private var consoleRequirement: String? = null
@ILoveKuriyamaMiraiForever
public fun name(@ResolveContext(PLUGIN_NAME) value: String): JvmPluginDescriptionBuilder =
@ -167,12 +161,7 @@ public class JvmPluginDescriptionBuilder(
public fun setDependencies(
value: Set<PluginDependency>,
): JvmPluginDescriptionBuilder = apply {
this.dependencies = value.toMutableSet().apply {
find { dependency -> dependency.id == "net.mamoe.mirai-console" }?.let { dependency ->
remove(dependency)
consoleRequirement = dependency.versionRequirement
}
}
this.dependencies = value.toMutableSet()
}
@ILoveKuriyamaMiraiForever
@ -180,10 +169,6 @@ public class JvmPluginDescriptionBuilder(
vararg dependencies: PluginDependency,
): JvmPluginDescriptionBuilder = apply {
for (dependency in dependencies) {
if (dependency.id == "net.mamoe.mirai-console") {
consoleRequirement = dependency.versionRequirement
continue
}
this.dependencies.add(dependency)
}
}
@ -197,10 +182,6 @@ public class JvmPluginDescriptionBuilder(
@ResolveContext(VERSION_REQUIREMENT) versionRequirement: String,
isOptional: Boolean = false,
): JvmPluginDescriptionBuilder = apply {
if (pluginId == "net.mamoe.mirai-console") {
consoleRequirement = versionRequirement
return@apply
}
this.dependencies.add(PluginDependency(pluginId, versionRequirement, isOptional))
}
@ -222,7 +203,7 @@ public class JvmPluginDescriptionBuilder(
public fun build(): JvmPluginDescription =
@Suppress("DEPRECATION_ERROR")
SimpleJvmPluginDescription(id, name, version, author, info, dependencies, consoleRequirement)
SimpleJvmPluginDescription(id, name, version, author, info, dependencies)
/**
* 标注一个 [JvmPluginDescription] DSL
@ -247,7 +228,6 @@ internal data class SimpleJvmPluginDescription
override val author: String = "",
override val info: String = "",
override val dependencies: Set<PluginDependency> = setOf(),
override val consoleRequirement: String? = null
) : JvmPluginDescription {
@Suppress("DEPRECATION_ERROR")
@ -273,15 +253,13 @@ internal data class SimpleJvmPluginDescription
val version: SemVersion,
val author: String = "",
val info: String = "",
val dependencies: Set<PluginDependency> = setOf()
val dependencies: Set<PluginDependency> = setOf(),
) {
fun toJvmPluginDescription(): JvmPluginDescription {
return SimpleJvmPluginDescription(
id,
name ?: id,
version, author, info,
dependencies.filterTo(HashSet()) { it.id != "net.mamoe.mirai-console" },
dependencies.find { it.id == "net.mamoe.mirai-console" }?.versionRequirement
version, author, info, dependencies
)
}
}