From d51efcb1e7305384bff44bbaef5fb59f00d40438 Mon Sep 17 00:00:00 2001 From: wushuo Date: Fri, 12 Dec 2025 23:04:03 +0800 Subject: [PATCH] =?UTF-8?q?build:=20=E4=BC=98=E5=8C=96=E6=89=93=E5=8C=85?= =?UTF-8?q?=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ani-rss-api/pom.xml | 22 +++++++ ani-rss-application/generate-resources.sh | 27 +++++++++ ani-rss-application/pom.xml | 56 +++++++++++++++-- .../main/java/ani/rss/action/FileAction.java | 6 +- .../src/main/java/ani/rss/build/Md5Sum.java | 51 ++++++++++++++++ ani-rss-commons/pom.xml | 18 ++++++ ani-rss-core/pom.xml | 24 +++++++- ani-rss-ui/package.json | 4 +- ani-rss-ui/pom.xml | 12 ++++ ani-rss-web/pom.xml | 18 ++++++ package.sh | 60 ------------------- pom.xml | 45 +++++++++++++- 12 files changed, 271 insertions(+), 72 deletions(-) create mode 100644 ani-rss-application/generate-resources.sh create mode 100644 ani-rss-application/src/main/java/ani/rss/build/Md5Sum.java diff --git a/ani-rss-api/pom.xml b/ani-rss-api/pom.xml index 4c10e2bc..f1177868 100644 --- a/ani-rss-api/pom.xml +++ b/ani-rss-api/pom.xml @@ -18,10 +18,32 @@ + + org.projectlombok + lombok + provided + ani.rss ani-rss-commons + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.projectlombok + lombok + + + + + + + diff --git a/ani-rss-application/generate-resources.sh b/ani-rss-application/generate-resources.sh new file mode 100644 index 00000000..9a9859ec --- /dev/null +++ b/ani-rss-application/generate-resources.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +if [ -d ../ani-rss-ui/dist ]; then + if [ -d ./src/main/resources/dist ]; then + rm -rf ./src/main/resources/dist + fi + mv ../ani-rss-ui/dist ./src/main/resources/dist + echo "move dist ..." +fi + +# build_info 位置 +build_info_path=./src/main/resources/build_info + +rm -rf ${build_info_path} +git rev-parse --short HEAD >> ${build_info_path} +git branch --show-current >> ${build_info_path} + +# 更新程序位置 +update_exe_path=./src/main/resources/ani-rss-update.exe + +if [ ! -e ${update_exe_path} ]; then + echo "下载 ani-rss-update.exe" + wget https://github.com/wushuo894/ani-rss-update/releases/download/latest/ani-rss-update.exe + mv ani-rss-update.exe ${update_exe_path} +else + echo -e "${YELLOW}已存在 ani-rss-update.exe${NC}" +fi diff --git a/ani-rss-application/pom.xml b/ani-rss-application/pom.xml index 9323d18d..a9b3ce53 100644 --- a/ani-rss-application/pom.xml +++ b/ani-rss-application/pom.xml @@ -18,6 +18,10 @@ + + ani.rss + ani-rss-ui + ani.rss ani-rss-web @@ -30,6 +34,7 @@ junit junit + test @@ -39,7 +44,6 @@ org.apache.maven.plugins maven-assembly-plugin - 3.7.1 jar-with-dependencies @@ -64,7 +68,6 @@ com.akathist.maven.plugins.launch4j launch4j-maven-plugin - 2.6.0 l4j @@ -109,8 +112,53 @@ + + org.codehaus.mojo + exec-maven-plugin + + + generate-resources + generate-resources + + exec + + + bash + + ./generate-resources.sh + + + + + generate-md5sum + package + + java + + + ani.rss.build.Md5Sum + + + basedir + ${project.basedir} + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.projectlombok + lombok + + + + - - diff --git a/ani-rss-application/src/main/java/ani/rss/action/FileAction.java b/ani-rss-application/src/main/java/ani/rss/action/FileAction.java index fb53392d..35cad9ce 100644 --- a/ani-rss-application/src/main/java/ani/rss/action/FileAction.java +++ b/ani-rss-application/src/main/java/ani/rss/action/FileAction.java @@ -89,6 +89,7 @@ public class FileAction implements BaseAction { BufferedInputStream inputStream = FileUtil.getInputStream(imgFile); @Cleanup OutputStream out = response.getOut(); + response.setContentLength((int) file.length()); IoUtil.copy(inputStream, out); } catch (Exception ignored) { } @@ -102,6 +103,7 @@ public class FileAction implements BaseAction { BufferedInputStream inputStream = FileUtil.getInputStream(imgFile); @Cleanup OutputStream out = response.getOut(); + response.setContentLength((int) file.length()); IoUtil.copy(inputStream, out); } catch (Exception ignored) { } @@ -183,11 +185,9 @@ public class FileAction implements BaseAction { InputStream inputStream = Channels.newInputStream(channel); IoUtil.copy(inputStream, out, 40960, end - start, null); } else { - @Cleanup - OutputStream out = response.getOut(); @Cleanup InputStream inputStream = FileUtil.getInputStream(file); - IoUtil.copy(inputStream, out, 40960); + response.write(inputStream, (int) file.length()); } } catch (Exception e) { String message = ExceptionUtil.getMessage(e); diff --git a/ani-rss-application/src/main/java/ani/rss/build/Md5Sum.java b/ani-rss-application/src/main/java/ani/rss/build/Md5Sum.java new file mode 100644 index 00000000..52b9f21b --- /dev/null +++ b/ani-rss-application/src/main/java/ani/rss/build/Md5Sum.java @@ -0,0 +1,51 @@ +package ani.rss.build; + +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.StrUtil; +import cn.hutool.crypto.SecureUtil; +import lombok.extern.slf4j.Slf4j; + +import java.io.File; +import java.util.Objects; + +@Slf4j +public class Md5Sum implements Runnable { + + @Override + public void run() { + String basedir = System.getProperty("basedir"); + File target = new File(basedir + "/target"); + Assert.isTrue(target.exists(), "target not exists"); + + File[] files = target.listFiles(); + Assert.notEmpty(files, "files not found"); + Objects.requireNonNull(files, "files not found"); + + for (File file : files) { + if (file.isDirectory()) { + continue; + } + String extName = FileUtil.extName(file); + if (StrUtil.isBlank(extName)) { + continue; + } + if ("md5".equals(extName)) { + continue; + } + generate(file); + } + } + + private void generate(File file) { + File md5File = new File(file + ".md5"); + if (md5File.exists()) { + return; + } + + String md5 = SecureUtil.md5(file); + FileUtil.writeUtf8String(md5, md5File); + + log.info("md5 {} {}", file, md5); + } +} diff --git a/ani-rss-commons/pom.xml b/ani-rss-commons/pom.xml index 5957037f..85ff5d9f 100644 --- a/ani-rss-commons/pom.xml +++ b/ani-rss-commons/pom.xml @@ -21,6 +21,7 @@ org.projectlombok lombok + provided com.google.code.gson @@ -36,4 +37,21 @@ + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.projectlombok + lombok + + + + + + + diff --git a/ani-rss-core/pom.xml b/ani-rss-core/pom.xml index ef7ee002..28cf8ee9 100644 --- a/ani-rss-core/pom.xml +++ b/ani-rss-core/pom.xml @@ -25,12 +25,10 @@ org.eclipse bittorrent - 0.3.0-v20070627-1030 org.xerial sqlite-jdbc - 3.50.3.0 com.sun.mail @@ -48,6 +46,28 @@ org.jsoup jsoup + + org.projectlombok + lombok + provided + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.projectlombok + lombok + + + + + + + diff --git a/ani-rss-ui/package.json b/ani-rss-ui/package.json index 468b88d3..d329a681 100644 --- a/ani-rss-ui/package.json +++ b/ani-rss-ui/package.json @@ -21,8 +21,8 @@ "vue": "^3.5.25" }, "devDependencies": { - "@vitejs/plugin-vue": "^6.0.2", - "shiki": "^3.19.0", + "@vitejs/plugin-vue": "^6.0.3", + "shiki": "^3.20.0", "terser": "^5.44.1", "unplugin-auto-import": "^20.3.0", "unplugin-vue-components": "^30.0.0", diff --git a/ani-rss-ui/pom.xml b/ani-rss-ui/pom.xml index ea7b2111..4acf9bae 100644 --- a/ani-rss-ui/pom.xml +++ b/ani-rss-ui/pom.xml @@ -78,6 +78,18 @@ + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.projectlombok + lombok + + + + diff --git a/ani-rss-web/pom.xml b/ani-rss-web/pom.xml index 70ddc6fa..a5d1c9df 100644 --- a/ani-rss-web/pom.xml +++ b/ani-rss-web/pom.xml @@ -25,7 +25,25 @@ org.projectlombok lombok + provided + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.projectlombok + lombok + + + + + + + diff --git a/package.sh b/package.sh index 82dcc01f..1e447e19 100644 --- a/package.sh +++ b/package.sh @@ -1,61 +1,10 @@ #!/bin/bash -# 起始位置 -base_path=$(pwd) - -# ui 位置 -ui_path=${base_path}/ani-rss-ui -# ani-rss-application 路径 -application_path=${base_path}/ani-rss-application -# dist 位置 -dist_path=${application_path}/src/main/resources/dist -# 更新程序位置 -update_exe_path=${application_path}/src/main/resources/ani-rss-update.exe -# build_info 位置 -build_info_path=${application_path}/src/main/resources/build_info -# target 位置 -target_path=${application_path}/target - -rm -rf ${build_info_path} -git rev-parse --short HEAD >> ${build_info_path} -git branch --show-current >> ${build_info_path} - # 定义颜色代码 RED='\033[0;31m' GREEN='\033[0;32m' -YELLOW='\033[0;33m' NC='\033[0m' -cd ${ui_path} - -mvn -B install -DskipTests --file pom.xml - -if [ $? -eq 1 ]; then - echo -e "${RED}web编译失败${NC}" - exit 1 -fi - -echo -e "${GREEN}web编译完成${NC}" - -if [ -d ${dist_path} ]; then - echo -e "${YELLOW}清理 ${dist_path}${NC}" - rm -rf ${dist_path}/* -else - echo -e "${YELLOW}创建文件夹 ${dist_path}${NC}" - mkdir -p ${dist_path} -fi - -cp -r dist/* ${dist_path} - -if [ ! -e ${update_exe_path} ]; then - echo "下载 ani-rss-update.exe" - wget https://github.com/wushuo894/ani-rss-update/releases/download/latest/ani-rss-update.exe - mv ani-rss-update.exe ${update_exe_path} -else - echo -e "${YELLOW}已存在 ani-rss-update.exe${NC}" -fi - -cd .. mvn -B package -DskipTests --file pom.xml if [ $? -eq 1 ]; then @@ -64,12 +13,3 @@ if [ $? -eq 1 ]; then fi echo -e "${GREEN}jar编译完成${NC}" - - - -md5sum ${target_path}/ani-rss-jar-with-dependencies.jar | awk '{print $1}' > ${target_path}/ani-rss-jar-with-dependencies.jar.md5 -md5sum ${target_path}/ani-rss-launcher.exe | awk '{print $1}' > ${target_path}/ani-rss-launcher.exe.md5 - -echo "md5" -echo "ani-rss-jar-with-dependencies.jar $(cat ${target_path}/ani-rss-jar-with-dependencies.jar.md5)" -echo "ani-rss-launcher.exe $(cat ${target_path}/ani-rss-launcher.exe.md5)" diff --git a/pom.xml b/pom.xml index 6bf685a4..551efb5c 100644 --- a/pom.xml +++ b/pom.xml @@ -13,11 +13,11 @@ ani-rss-commons + ani-rss-ui ani-rss-application ani-rss-web ani-rss-core ani-rss-api - ani-rss-ui 2025 基于RSS自动追番、订阅、下载、刮削 @@ -35,6 +35,11 @@ ani-rss-commons ${project.parent.version} + + ani.rss + ani-rss-ui + ${project.parent.version} + ani.rss ani-rss-api @@ -54,6 +59,7 @@ org.projectlombok lombok 1.18.42 + provided cn.hutool @@ -85,6 +91,16 @@ jsoup 1.21.2 + + org.eclipse + bittorrent + 0.3.0-v20070627-1030 + + + org.xerial + sqlite-jdbc + 3.50.3.0 + junit junit @@ -94,4 +110,31 @@ + + + + + org.apache.maven.plugins + maven-assembly-plugin + 3.8.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.14.1 + + + com.akathist.maven.plugins.launch4j + launch4j-maven-plugin + 2.6.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.6.2 + + + + +