Devtools
Devtools 插件开发工具提供了一些 Task 用于辅助 Halo 插件的运行与调试,使用此工具的前提是需要具有 Docker 环境。
Devtools 还提供了一些其他的构建任务,如插件打包、插件检查等。
安装
Devtools 是使用 Java 开发的一个 Gradle 插件,如果你使用的 plugin-starter 创建的插件项目,那么你无需任何操作,它已经默认集成了 Devtools 插件。
你可以在项目的 build.gradle
中找到它:
plugins {
// ...
id "run.halo.plugin.devtools" version "0.2.0"
}
使用说明
当在项目中引入了 devtools
之后,就可以使用一些额外的构建任务:
haloServer
:此构建任务用于启动 Halo 服务并自动将依赖此devtools
的 Halo 插件项目以开发模式加载到 Halo 服务中。watch
:此构建任务用于监视 Halo 插件项目的变化并自动重新加载到 Halo 服务中reloadPlugin
:此构建任务用于重载插件,如果你此时使用的是haloServer
运行的插件,改动代码后可以运行此任务来重载插件代码使用新的改动被应用。
一个可能的使用场景:
正在开发 plugin-starter
插件,此时想测试插件的功能如看到默认提供的菜单项,你可以通过 haloServer
将插件运行起来:
./gradlew haloServer
看到如下日志时表示 Halo 服务已经启动成功:
Halo 初始化成功,访问: http://localhost:8090/console
用户名:admin
密码:admin
然后改动了某行代码需要使其生效,可以继续保持 haloServer
的运行,然后执行:
./gradlew reloadPlugin
来时新的改动应用到现有服务上。
但如果你使用的 watch
任务启动插件则不需要执行 reloadPlugin
任务,它会监听文件的改动自动重载插件。