Skip to content

Commit df40cf0

Browse files
committed
feat(workflows): add build-jar workflow for JAR and plugin builds
- Create build-jar.yml to automate JAR and plugin builds using JDK 8 and Gradle 5.6.4 - Include steps for building standard JAR, Fat JAR, and IntelliJ plugin distribution - Upload build artifacts for easy access - Add README.md to document workflows and usage instructions
1 parent 20d7533 commit df40cf0

File tree

2 files changed

+105
-0
lines changed

2 files changed

+105
-0
lines changed

.github/workflows/README.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# GitHub Actions Workflows
2+
3+
本项目包含以下 GitHub Actions workflows:
4+
5+
## 1. build-jar.yml - JAR 构建工作流
6+
**触发条件:** 每次代码提交到任何分支
7+
**功能:**
8+
- 使用 JDK 8 和 Gradle 5.6.4
9+
- 构建标准 JAR 文件
10+
- 构建包含所有依赖的 Fat JAR
11+
- 构建 IntelliJ 插件分发包
12+
- 上传构建产物作为 artifacts
13+
14+
**产物:**
15+
- `jar-files-{run_number}`: 包含所有 JAR 文件
16+
- `plugin-zip-{run_number}`: 包含插件分发 ZIP 文件
17+
18+
## 2. ci.yml - 持续集成工作流
19+
**触发条件:** 代码提交和 Pull Request
20+
**功能:**
21+
- 运行测试
22+
- 构建项目
23+
- 上传测试结果和构建产物
24+
25+
## 3. build.yml - 完整构建和发布工作流
26+
**触发条件:** 主分支提交
27+
**功能:**
28+
- 完整构建流程
29+
- 自动创建 GitHub Release
30+
- 上传 JAR 文件到 Release
31+
32+
## 使用说明
33+
34+
1. **每次提交**都会触发 `build-jar.yml`,自动构建 JAR 文件
35+
2. 构建完成后,可以在 Actions 页面下载对应的 artifacts
36+
3. 主分支的提交会额外触发完整的发布流程
37+
38+
## 下载构建产物
39+
40+
1. 进入 GitHub 项目的 Actions 页面
41+
2. 选择对应的 workflow run
42+
3. 在页面底部的 Artifacts 部分下载需要的文件
43+
44+
## 构建产物说明
45+
46+
- **标准 JAR**: `easy_javadoc-{version}.jar`
47+
- **Fat JAR**: `easy_javadoc-{version}-all.jar` (包含所有依赖)
48+
- **插件 ZIP**: `Easy Javadoc-{version}.zip` (IntelliJ 插件分发包)

.github/workflows/build-jar.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Build JAR
2+
3+
on:
4+
push:
5+
branches: [ "**" ]
6+
pull_request:
7+
branches: [ main, master ]
8+
9+
jobs:
10+
build-jar:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
17+
- name: Set up JDK 8
18+
uses: actions/setup-java@v4
19+
with:
20+
java-version: '8'
21+
distribution: 'temurin'
22+
23+
- name: Setup Gradle 5.x
24+
uses: gradle/gradle-build-action@v2
25+
with:
26+
gradle-version: '5.6.4'
27+
28+
- name: Build JAR
29+
run: gradle jar
30+
31+
- name: Build Fat JAR
32+
run: gradle fatJar
33+
34+
- name: Build Plugin
35+
run: gradle buildPlugin
36+
37+
- name: Show build results
38+
run: |
39+
echo "=== Build completed ==="
40+
echo "JAR files:"
41+
find build/libs -name "*.jar" -type f | head -10
42+
echo "Plugin distributions:"
43+
find build/distributions -name "*.zip" -type f | head -5
44+
45+
- name: Upload JAR files
46+
uses: actions/upload-artifact@v3
47+
with:
48+
name: jar-files-${{ github.run_number }}
49+
path: build/libs/*.jar
50+
retention-days: 30
51+
52+
- name: Upload Plugin ZIP
53+
uses: actions/upload-artifact@v3
54+
with:
55+
name: plugin-zip-${{ github.run_number }}
56+
path: build/distributions/*.zip
57+
retention-days: 30

0 commit comments

Comments
 (0)