refactor: update document for devtools (#465)

### What this PR does?
更新 Devtools 文档

```release-note
None
```
This commit is contained in:
guqing
2024-11-05 17:22:55 +08:00
committed by GitHub
parent 48c094d1be
commit da39e579d0
2 changed files with 52 additions and 12 deletions

View File

@@ -16,10 +16,12 @@ Devtools 是使用 Java 开发的一个 [Gradle](https://gradle.org/) 插件,
```groovy ```groovy
plugins { plugins {
// ... // ...
id "run.halo.plugin.devtools" version "0.3.0" id "run.halo.plugin.devtools" version "0.4.0"
} }
``` ```
Release 版本和版本说明可以在 [GitHub Releases](https://github.com/halo-sigs/halo-gradle-plugin/releases) 上查看。
## 使用说明 ## 使用说明
当在项目中引入了 `devtools` 之后,就可以使用一些额外的构建任务来辅助插件的开发,参考 [构建任务详解](#任务)。 当在项目中引入了 `devtools` 之后,就可以使用一些额外的构建任务来辅助插件的开发,参考 [构建任务详解](#任务)。
@@ -117,8 +119,8 @@ halo {
```yaml ```yaml
# workplace/config/application.yaml # workplace/config/application.yaml
logging: logging:
level: level:
run.halo.app: DEBUG run.halo.app: DEBUG
``` ```
更多配置项请参考 [Halo 配置列表](../../../getting-started/install/config.md#配置列表)。 更多配置项请参考 [Halo 配置列表](../../../getting-started/install/config.md#配置列表)。
@@ -192,12 +194,24 @@ haloPlugin {
consoleSource { consoleSource {
// 监听 console/src/ 目录下的文件变化 // 监听 console/src/ 目录下的文件变化
files files('console/src/') files files('console/src/')
// exclude '**/node_modules/**'
// exclude '**/.idea/**'
// exclude '**/.git/**'
// exclude '**/.gradle/**'
// exclude 'src/main/resources/console/**'
// exclude 'build/**'
// exclude 'gradle/**'
// exclude 'dist/**'
// exclude 'test/java/**'
// exclude 'test/resources/**'
} }
// ... 可以添加多个 // ... 可以添加多个
} }
} }
``` ```
`exclude` 接收字符串用于排除不需要监听的文件或目录,可以使用 `**` 通配符。注释掉的是每个 `watchDomains` 都会默认排除的规则。
### 生成 API client ### 生成 API client
#### 什么是 API client #### 什么是 API client
@@ -284,6 +298,10 @@ haloPlugin {
} }
``` ```
当配置了 `openApi` 规则之后,`haloServer` 或 `watch` 启动可以通过 `http://localhost:8090/swagger-ui.html` 访问 API 文档,
并通过选择你配置的 `displayName` 分组来**检查你的规则是否正确**。
这一步检查有助于避免生成 API Client 为空或者生成 `roleTemplates.yaml` 为空的情况。
##### 执行 `generateApiClient` ##### 执行 `generateApiClient`
在项目目录中执行以下命令即可生成 API 客户端代码到指定目录: 在项目目录中执行以下命令即可生成 API 客户端代码到指定目录:
@@ -345,6 +363,8 @@ const { data } = await momentsConsoleApiClient.moment.listTags({
:::warning :::warning
执行 `generateApiClient` 任务时会先删除 `openApi.generator.outputDir` 下的所有文件,因此建议将 API client 的输出目录设置为一个独立的目录,以避免误删其他文件。 执行 `generateApiClient` 任务时会先删除 `openApi.generator.outputDir` 下的所有文件,因此建议将 API client 的输出目录设置为一个独立的目录,以避免误删其他文件。
执行 `generateApiClient` 前建议注释掉你所配置的 `build` 任务对应的 `dependsOn` 任务,以避免因依赖前端构建任务可能无法生成 API Client 的问题。
::: :::
### generateRoleTemplates 任务 ### generateRoleTemplates 任务
@@ -413,7 +433,7 @@ halo {
## 迁移 ## 迁移
### 从旧版本升级到 0.2.x 版本 ### 从旧版本升级到 0.2.x 及以上版本
如果 `run.halo.plugin.devtools` 从旧版本升级到 `0.2.0` 版本,需要先将 Gradle 版本升级到 `8.3` 以上,你可以通过以下命令升级 Gradle 版本: 如果 `run.halo.plugin.devtools` 从旧版本升级到 `0.2.0` 版本,需要先将 Gradle 版本升级到 `8.3` 以上,你可以通过以下命令升级 Gradle 版本:

View File

@@ -16,10 +16,12 @@ Devtools 是使用 Java 开发的一个 [Gradle](https://gradle.org/) 插件,
```groovy ```groovy
plugins { plugins {
// ... // ...
id "run.halo.plugin.devtools" version "0.3.0" id "run.halo.plugin.devtools" version "0.4.0"
} }
``` ```
Release 版本和版本说明可以在 [GitHub Releases](https://github.com/halo-sigs/halo-gradle-plugin/releases) 上查看。
## 使用说明 ## 使用说明
当在项目中引入了 `devtools` 之后,就可以使用一些额外的构建任务来辅助插件的开发,参考 [构建任务详解](#任务)。 当在项目中引入了 `devtools` 之后,就可以使用一些额外的构建任务来辅助插件的开发,参考 [构建任务详解](#任务)。
@@ -34,11 +36,11 @@ plugins {
```shell ```shell
======================================================================= =======================================================================
> Halo 启动成功! > Halo 启动成功!
访问地址http://localhost:8090/console?language=zh-CN 访问地址http://localhost:8090/console?language=zh-CN
用户名admin 用户名admin
密码admin 密码admin
API 文档http://localhost:8090/swagger-ui.html API 文档http://localhost:8090/swagger-ui.html
插件开发文档https://docs.halo.run/developer-guide/plugin/introduction 插件开发文档https://docs.halo.run/developer-guide/plugin/introduction
======================================================================= =======================================================================
``` ```
@@ -192,12 +194,24 @@ haloPlugin {
consoleSource { consoleSource {
// 监听 console/src/ 目录下的文件变化 // 监听 console/src/ 目录下的文件变化
files files('console/src/') files files('console/src/')
// exclude '**/node_modules/**'
// exclude '**/.idea/**'
// exclude '**/.git/**'
// exclude '**/.gradle/**'
// exclude 'src/main/resources/console/**'
// exclude 'build/**'
// exclude 'gradle/**'
// exclude 'dist/**'
// exclude 'test/java/**'
// exclude 'test/resources/**'
} }
// ... 可以添加多个 // ... 可以添加多个
} }
} }
``` ```
`exclude` 接收字符串用于排除不需要监听的文件或目录,可以使用 `**` 通配符。注释掉的是每个 `watchDomains` 都会默认排除的规则。
### 生成 API client ### 生成 API client
#### 什么是 API client #### 什么是 API client
@@ -284,6 +298,10 @@ haloPlugin {
} }
``` ```
当配置了 `openApi` 规则之后,`haloServer` 或 `watch` 启动可以通过 `http://localhost:8090/swagger-ui.html` 访问 API 文档,
并通过选择你配置的 `displayName` 分组来**检查你的规则是否正确**。
这一步检查有助于避免生成 API Client 为空或者生成 `roleTemplates.yaml` 为空的情况。
##### 执行 `generateApiClient` ##### 执行 `generateApiClient`
在项目目录中执行以下命令即可生成 API 客户端代码到指定目录: 在项目目录中执行以下命令即可生成 API 客户端代码到指定目录:
@@ -345,6 +363,8 @@ const { data } = await momentsConsoleApiClient.moment.listTags({
:::warning :::warning
执行 `generateApiClient` 任务时会先删除 `openApi.generator.outputDir` 下的所有文件,因此建议将 API client 的输出目录设置为一个独立的目录,以避免误删其他文件。 执行 `generateApiClient` 任务时会先删除 `openApi.generator.outputDir` 下的所有文件,因此建议将 API client 的输出目录设置为一个独立的目录,以避免误删其他文件。
执行 `generateApiClient` 前建议注释掉你所配置的 `build` 任务对应的 `dependsOn` 任务,以避免因依赖前端构建任务可能无法生成 API Client 的问题。
::: :::
### generateRoleTemplates 任务 ### generateRoleTemplates 任务
@@ -413,7 +433,7 @@ halo {
## 迁移 ## 迁移
### 从旧版本升级到 0.2.x 版本 ### 从旧版本升级到 0.2.x 及以上版本
如果 `run.halo.plugin.devtools` 从旧版本升级到 `0.2.0` 版本,需要先将 Gradle 版本升级到 `8.3` 以上,你可以通过以下命令升级 Gradle 版本: 如果 `run.halo.plugin.devtools` 从旧版本升级到 `0.2.0` 版本,需要先将 Gradle 版本升级到 `8.3` 以上,你可以通过以下命令升级 Gradle 版本:
@@ -421,5 +441,5 @@ halo {
```shell ```shell
# 如将 Gradle 版本升级至 8.9 # 如将 Gradle 版本升级至 8.9
./gradlew wrapper --gradle-version=8.9 ./gradlew wrapper --gradle-version=8.9
``` ```