1
0
mirror of https://github.com/mamoe/mirai.git synced 2025-04-25 04:50:26 +08:00

feat: dependsOn docs

This commit is contained in:
cssxsh 2023-06-29 21:08:10 +08:00 committed by Karlatemp
parent ee9d0f7cc7
commit d27f9069f6
No known key found for this signature in database
GPG Key ID: BA173CA2B9956C59

View File

@ -14,7 +14,6 @@ package net.mamoe.mirai.console.plugin.jvm
import io.github.karlatemp.caller.CallerFinder
import io.github.karlatemp.caller.StackFrame
import kotlinx.serialization.Serializable
import net.mamoe.mirai.console.MiraiConsole
import net.mamoe.mirai.console.compiler.common.ResolveContext
import net.mamoe.mirai.console.compiler.common.ResolveContext.Kind.*
import net.mamoe.mirai.console.internal.util.findLoader
@ -120,6 +119,11 @@ 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(
@ -171,6 +175,10 @@ public class JvmPluginDescriptionBuilder(
vararg dependencies: PluginDependency,
): JvmPluginDescriptionBuilder = apply {
for (dependency in dependencies) {
if (dependency.id == "net.mamoe.mirai.console" || dependency.id == "net.mamoe.mirai") {
consoleRequirement = dependency.versionRequirement
continue
}
this.dependencies.add(dependency)
}
}
@ -184,7 +192,6 @@ public class JvmPluginDescriptionBuilder(
@ResolveContext(VERSION_REQUIREMENT) versionRequirement: String,
isOptional: Boolean = false,
): JvmPluginDescriptionBuilder = apply {
// XXX: 兼容性
if (pluginId == "net.mamoe.mirai.console" || pluginId == "net.mamoe.mirai") {
consoleRequirement = versionRequirement
return@apply
@ -207,16 +214,6 @@ public class JvmPluginDescriptionBuilder(
this.dependencies.add(PluginDependency(pluginId, null, isOptional))
}
/**
* @see MiraiConsole.version
*/
@ILoveKuriyamaMiraiForever
public fun consoleRequirement(
@ResolveContext(VERSION_REQUIREMENT) versionRequirement: String
): JvmPluginDescriptionBuilder = apply {
consoleRequirement = versionRequirement
}
public fun build(): JvmPluginDescription =
@Suppress("DEPRECATION_ERROR")