@@ -16,10 +16,12 @@ Devtools 是使用 Java 开发的一个 [Gradle](https://gradle.org/) 插件,
16
16
``` groovy
17
17
plugins {
18
18
// ...
19
- id "run.halo.plugin.devtools" version "0.3 .0"
19
+ id "run.halo.plugin.devtools" version "0.4 .0"
20
20
}
21
21
```
22
22
23
+ Release 版本和版本说明可以在 [ GitHub Releases] ( https://github.com/halo-sigs/halo-gradle-plugin/releases ) 上查看。
24
+
23
25
## 使用说明
24
26
25
27
当在项目中引入了 ` devtools ` 之后,就可以使用一些额外的构建任务来辅助插件的开发,参考 [ 构建任务详解] ( #任务 ) 。
@@ -34,11 +36,11 @@ plugins {
34
36
35
37
``` shell
36
38
=======================================================================
37
- > Halo 启动成功!
38
- 访问地址:http://localhost:8090/console? language=zh-CN
39
- 用户名:admin
40
- 密码:admin
41
- API 文档:http://localhost:8090/swagger-ui.html
39
+ > Halo 启动成功!
40
+ 访问地址:http://localhost:8090/console? language=zh-CN
41
+ 用户名:admin
42
+ 密码:admin
43
+ API 文档:http://localhost:8090/swagger-ui.html
42
44
插件开发文档:https://docs.halo.run/developer-guide/plugin/introduction
43
45
=======================================================================
44
46
```
@@ -192,12 +194,24 @@ haloPlugin {
192
194
consoleSource {
193
195
// 监听 console/src/ 目录下的文件变化
194
196
files files('console/src/')
197
+ // exclude '**/node_modules/**'
198
+ // exclude '**/.idea/**'
199
+ // exclude '**/.git/**'
200
+ // exclude '**/.gradle/**'
201
+ // exclude 'src/main/resources/console/**'
202
+ // exclude 'build/**'
203
+ // exclude 'gradle/**'
204
+ // exclude 'dist/**'
205
+ // exclude 'test/java/**'
206
+ // exclude 'test/resources/**'
195
207
}
196
208
// ... 可以添加多个
197
209
}
198
210
}
199
211
```
200
212
213
+ ` exclude ` 接收字符串用于排除不需要监听的文件或目录,可以使用 ` ** ` 通配符。注释掉的是每个 ` watchDomains ` 都会默认排除的规则。
214
+
201
215
### 生成 API client
202
216
203
217
#### 什么是 API client
@@ -284,6 +298,10 @@ haloPlugin {
284
298
}
285
299
```
286
300
301
+ 当配置了 ` openApi ` 规则之后,` haloServer ` 或 ` watch ` 启动可以通过 ` http://localhost:8090/swagger-ui.html ` 访问 API 文档,
302
+ 并通过选择你配置的 ` displayName ` 分组来** 检查你的规则是否正确** 。
303
+ 这一步检查有助于避免生成 API Client 为空或者生成 ` roleTemplates.yaml ` 为空的情况。
304
+
287
305
##### 执行 ` generateApiClient `
288
306
289
307
在项目目录中执行以下命令即可生成 API 客户端代码到指定目录:
@@ -345,6 +363,8 @@ const { data } = await momentsConsoleApiClient.moment.listTags({
345
363
346
364
::: warning
347
365
执行 ` generateApiClient ` 任务时会先删除 ` openApi.generator.outputDir ` 下的所有文件,因此建议将 API client 的输出目录设置为一个独立的目录,以避免误删其他文件。
366
+
367
+ 执行 ` generateApiClient ` 前建议注释掉你所配置的 ` build ` 任务对应的 ` dependsOn ` 任务,以避免因依赖前端构建任务可能无法生成 API Client 的问题。
348
368
:::
349
369
350
370
### generateRoleTemplates 任务
@@ -413,13 +433,13 @@ halo {
413
433
414
434
## 迁移
415
435
416
- ### 从旧版本升级到 0.2.x 版本
436
+ ### 从旧版本升级到 0.2.x 及以上版本
417
437
418
438
如果 ` run.halo.plugin.devtools ` 从旧版本升级到 ` 0.2.0 ` 版本,需要先将 Gradle 版本升级到 ` 8.3 ` 以上,你可以通过以下命令升级 Gradle 版本:
419
439
420
440
在插件项目根目录下执行:
421
441
422
442
``` shell
423
443
# 如将 Gradle 版本升级至 8.9
424
- ./gradlew wrapper --gradle-version=8.9
444
+ ./gradlew wrapper --gradle-version=8.9
425
445
```
0 commit comments