build: 构建输出调整,添加代码格式检查(主要要求文件编码必须是UTF-8)

This commit is contained in:
叁玖领域 2026-03-16 14:45:38 +08:00
parent 190c085229
commit 9fff0c869a
3 changed files with 64 additions and 36 deletions

View File

@ -220,51 +220,26 @@ jobs:
echo "---" >> $TEMP_FILE echo "---" >> $TEMP_FILE
echo "" >> $TEMP_FILE echo "" >> $TEMP_FILE
echo "## 📦 下载文件" >> $TEMP_FILE
echo "" >> $TEMP_FILE
echo "本次发布包含以下平台的构建文件:" >> $TEMP_FILE
echo "" >> $TEMP_FILE
# 列出所有发布的文件
echo "### Fabric 版本" >> $TEMP_FILE
echo "\`\`\`" >> $TEMP_FILE
ls -1 dist/*fabric*.jar 2>/dev/null | grep -v "sources\|javadoc" | xargs -n1 basename || echo "无 Fabric 主文件" >> $TEMP_FILE
echo "\`\`\`" >> $TEMP_FILE
echo "" >> $TEMP_FILE
echo "### Forge 版本" >> $TEMP_FILE
echo "\`\`\`" >> $TEMP_FILE
ls -1 dist/*forge*.jar 2>/dev/null | grep -v "sources\|javadoc" | xargs -n1 basename || echo "无 Forge 主文件" >> $TEMP_FILE
echo "\`\`\`" >> $TEMP_FILE
echo "" >> $TEMP_FILE
echo "### 通用模块" >> $TEMP_FILE
echo "\`\`\`" >> $TEMP_FILE
ls -1 dist/*common*.jar 2>/dev/null | grep -v "sources\|javadoc" | xargs -n1 basename || echo "无通用模块" >> $TEMP_FILE
echo "\`\`\`" >> $TEMP_FILE
echo "" >> $TEMP_FILE
echo "### 源码和文档" >> $TEMP_FILE
echo "\`\`\`" >> $TEMP_FILE
ls -1 dist/*-sources.jar 2>/dev/null | xargs -n1 basename || echo "无源码文件" >> $TEMP_FILE
ls -1 dist/*-javadoc.jar 2>/dev/null | xargs -n1 basename || echo "无文档文件" >> $TEMP_FILE
echo "\`\`\`" >> $TEMP_FILE
echo "" >> $TEMP_FILE
echo "### 📜 详细提交历史" >> $TEMP_FILE echo "### 📜 详细提交历史" >> $TEMP_FILE
echo "" >> $TEMP_FILE echo "" >> $TEMP_FILE
echo "<details>" >> $TEMP_FILE echo "<details>" >> $TEMP_FILE
echo "<summary>点击展开查看完整提交历史</summary>" >> $TEMP_FILE echo "<summary>点击展开查看完整提交历史</summary>" >> $TEMP_FILE
echo "" >> $TEMP_FILE echo "" >> $TEMP_FILE
echo "\`\`\`" >> $TEMP_FILE echo "\`\`\`" >> $TEMP_FILE
# 显示所有提交的详细列表
if [ -z "$PREV_TAG" ]; then if [ -z "$PREV_TAG" ]; then
git log --pretty=format:"%h %s - %an (%ad)" --date=short --reverse >> $TEMP_FILE # 使用 while 循环确保每条提交独立一行
git log --pretty=format:"%h %s - %an (%ad)" --date=short --reverse | while IFS= read -r line; do
echo "$line" >> $TEMP_FILE
done
else else
git log --pretty=format:"%h %s - %an (%ad)" --date=short $PREV_TAG..HEAD >> $TEMP_FILE git log --pretty=format:"%h %s - %an (%ad)" --date=short $PREV_TAG..HEAD | while IFS= read -r line; do
echo "$line" >> $TEMP_FILE
done
fi fi
# 确保文件末尾有换行
echo "" >> $TEMP_FILE
echo "\`\`\`" >> $TEMP_FILE echo "\`\`\`" >> $TEMP_FILE
echo "</details>" >> $TEMP_FILE echo "</details>" >> $TEMP_FILE

30
.github/workflows/styleCheck.yml vendored Normal file
View File

@ -0,0 +1,30 @@
name: Check Style in Pull Request
on:
pull_request_target:
jobs:
checkstyle:
runs-on: ubuntu-latest
permissions:
pull-requests: write
checks: write
contents: read
steps:
- name: checkout
uses: actions/checkout@v4
with:
ref: refs/pull/${{ github.event.number }}/merge
- name: Setup Java 17
uses: actions/setup-java@v3.6.0
with:
distribution: zulu
java-version: 17
- uses: reviewdog/action-setup@v1
with:
reviewdog_version: latest
- name: download checkstyle
run: curl -o checkstyle.jar -L https://github.com/checkstyle/checkstyle/releases/download/checkstyle-12.1.2/checkstyle-12.1.2-all.jar
- name: checkstyle
env:
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: java -jar checkstyle.jar -c style.xml -f xml */src | reviewdog -f=checkstyle -name="Checkstyle" -reporter=github-pr-review -fail-level=any

23
style.xml Normal file
View File

@ -0,0 +1,23 @@
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
<!--
Checkstyle configuration that checks the Google coding conventions from Google Java Style
that can be found at https://google.github.io/styleguide/javaguide.html
Checkstyle is very configurable. Be sure to read the documentation at
http://checkstyle.org (or in your downloaded distribution).
To completely disable a check, just comment it out or delete it from the file.
To suppress certain violations please review suppression filters.
Authors: Max Vetrenko, Mauryan Kansara, Ruslan Diachenko, Roman Ivanov.
-->
<module name="Checker">
<!-- 检查器配置 -->
<property name="charset" value="UTF-8"/>
<!-- 字符集 -->
</module>