Releases: 985892345/mirai-hotfix
Releases · 985892345/mirai-hotfix
2.1.0
Feature
- JarEntrance 提供与热修生命周期绑定的协程作用域
之后你可以直接这样写:
// 该方法的 suspend 与热修的生命周期相绑定
override suspend fun HotfixCommandSender.onFixLoad(plugin: HotfixKotlinPlugin) {
launch {
// 启动一个协程
// 该协程在热修被卸载时会自动关闭
}
}
fun test() {
// 在其他方法中可以通过扩展属性 hotfixCoroutineScope 开启协程
hotfixCoroutineScope?.launch {
}
}
Bugfix
- 修护 JarHotfixUser 未被注册的问题
Note
因为 JarEntrance 接口内部方法的改变,2.1.0 版本与 2.0.0 版本不兼容
2.0.0
1.5.1
1.5.0
1.3
1.2
- ✨ 增加加载 jar 文件失败时从 .run 中移动回去的逻辑
- IHotfixSuffixHandler 接口中去掉方法前的 CommandSender
suspend fun onFixLoad(sender: CommandSender, file: File, pluginClassLoader: ClassLoader)
主要是因为 CommandSender 继承于 CoroutineScope,在使用 launch 时会与 suspend 冲突
- JarEntrance 同上修改
1.1
0.2.1
0.2.0
✨新增SourceSet源集热修gradle插件
SourceSet 热修方案将有以下改变:
- 不用再添加 jitpack 依赖
- 不用再添加 mirai-hotfix 依赖
- 添加 hotfix 闭包更方便一键生成源集
使用方式:
plugins {
// 版本号在这里查看:https://plugins.gradle.org/plugin/io.github.985892345.mirai-hotfix
id("io.github.985892345.mirai-hotfix") version "1.0"
}
// 插件中已经自动依赖了 mirai-hotfix
hotfix {
// 新建了一个 hotfix-demo 源集,且会自动生成打包该源集的命令 gradlew hotfix-demo
createHotfix("hotfix-demo") {
// 这里面写该源集单独使用的依赖
implementation("com.google.code.gson:gson:2.9.0")
}
// 可以多写几个,但源集之间并不会自动依赖
}