|
|
|
|
@ -152,22 +152,23 @@ pipeline {
|
|
|
|
|
expression { currentBuild.result == null || currentBuild.result == 'SUCCESS' || currentBuild.result == 'UNSTABLE' }
|
|
|
|
|
}
|
|
|
|
|
steps {
|
|
|
|
|
echo '========== 复制 target 目录用于并行打包 =========='
|
|
|
|
|
echo '========== 准备并行打包 =========='
|
|
|
|
|
bat '''
|
|
|
|
|
REM 为 CLI、GUI、Web、Android 创建独立的 target 副本
|
|
|
|
|
echo 复制 target 到 target-cli...
|
|
|
|
|
xcopy /E /I /Y /Q target target-cli >nul
|
|
|
|
|
|
|
|
|
|
echo 复制 target 到 target-gui...
|
|
|
|
|
xcopy /E /I /Y /Q target target-gui >nul
|
|
|
|
|
|
|
|
|
|
echo 复制 target 到 target-web...
|
|
|
|
|
xcopy /E /I /Y /Q target target-web >nul
|
|
|
|
|
|
|
|
|
|
echo 复制 target 到 target-android...
|
|
|
|
|
xcopy /E /I /Y /Q target target-android >nul
|
|
|
|
|
echo 检查编译结果...
|
|
|
|
|
if exist target\\classes (
|
|
|
|
|
echo ✓ 编译完成,classes 目录存在
|
|
|
|
|
) else (
|
|
|
|
|
echo ⚠️ 警告: classes 目录不存在
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
echo ✓ target 目录复制完成(4份),准备并行打包
|
|
|
|
|
echo.
|
|
|
|
|
echo 准备开始四端并行打包:
|
|
|
|
|
echo • CLI: 使用 -Pcli profile
|
|
|
|
|
echo • GUI: 使用 -Pgui-swing profile
|
|
|
|
|
echo • Web: 使用 -Pweb profile
|
|
|
|
|
echo • Android: 使用 Gradle
|
|
|
|
|
echo.
|
|
|
|
|
echo ✓ 准备完成,开始并行打包
|
|
|
|
|
'''
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -182,24 +183,27 @@ pipeline {
|
|
|
|
|
echo '========== 打包 CLI 应用 (JAR) =========='
|
|
|
|
|
bat '''
|
|
|
|
|
set JAVA_HOME=%JAVA_HOME%
|
|
|
|
|
echo 使用 target-cli 打包 CLI 应用...
|
|
|
|
|
echo 打包 CLI 应用...
|
|
|
|
|
|
|
|
|
|
REM 临时设置 Maven 输出目录为 target-cli
|
|
|
|
|
mvn package -Pcli -DskipTests -Dmaven.compiler.skip=true -Dmaven.build.directory=target-cli
|
|
|
|
|
REM 使用 CLI profile 打包
|
|
|
|
|
mvn package -Pcli -DskipTests -Dmaven.compiler.skip=true
|
|
|
|
|
|
|
|
|
|
REM 复制生成的 shaded JAR 到 target
|
|
|
|
|
if exist target-cli\\smart-library-management-system-1.0-SNAPSHOT-cli-shaded.jar (
|
|
|
|
|
copy /Y target-cli\\smart-library-management-system-1.0-SNAPSHOT-cli-shaded.jar target\\slms-cli.jar
|
|
|
|
|
REM 立即复制生成的 shaded JAR,避免被其他并行任务覆盖
|
|
|
|
|
if exist target\\smart-library-management-system-1.0-SNAPSHOT-cli-shaded.jar (
|
|
|
|
|
copy /Y target\\smart-library-management-system-1.0-SNAPSHOT-cli-shaded.jar target\\slms-cli.jar
|
|
|
|
|
echo ✓ CLI JAR 打包完成: slms-cli.jar
|
|
|
|
|
for %%F in (target\\slms-cli.jar) do echo 大小: %%~zF bytes
|
|
|
|
|
) else (
|
|
|
|
|
echo ⚠️ 警告: 找不到 CLI shaded JAR
|
|
|
|
|
dir target-cli
|
|
|
|
|
echo ⚠️ 错误: 找不到 CLI shaded JAR
|
|
|
|
|
echo 检查 target 目录:
|
|
|
|
|
dir target\\*.jar
|
|
|
|
|
exit /b 1
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
REM 复制 library.db 到 target 目录
|
|
|
|
|
REM 复制 library.db
|
|
|
|
|
if exist library.db (
|
|
|
|
|
copy /Y library.db target\\
|
|
|
|
|
echo ✓ 已复制 library.db 到 target 目录
|
|
|
|
|
copy /Y library.db target\\library.db
|
|
|
|
|
echo ✓ 已复制 library.db
|
|
|
|
|
)
|
|
|
|
|
'''
|
|
|
|
|
echo '✓ CLI JAR 打包成功'
|
|
|
|
|
@ -291,21 +295,26 @@ pipeline {
|
|
|
|
|
echo '========== 打包 Web 应用 (WAR) =========='
|
|
|
|
|
bat '''
|
|
|
|
|
set JAVA_HOME=%JAVA_HOME%
|
|
|
|
|
echo 使用 target-web 打包 Web 应用...
|
|
|
|
|
echo 打包 Web 应用...
|
|
|
|
|
|
|
|
|
|
REM 临时设置 Maven 输出目录为 target-web
|
|
|
|
|
mvn package -Pweb -DskipTests -Dmaven.compiler.skip=true -Dmaven.build.directory=target-web
|
|
|
|
|
REM 使用 Web profile 打包
|
|
|
|
|
mvn package -Pweb -DskipTests -Dmaven.compiler.skip=true
|
|
|
|
|
|
|
|
|
|
REM 复制生成的 WAR 到 target
|
|
|
|
|
if exist target-web\\smart-library-management-system-1.0-SNAPSHOT.war (
|
|
|
|
|
copy /Y target-web\\smart-library-management-system-1.0-SNAPSHOT.war target\\slms-web.war
|
|
|
|
|
REM 立即复制生成的 WAR,避免被其他并行任务覆盖
|
|
|
|
|
if exist target\\smart-library-management-system-1.0-SNAPSHOT.war (
|
|
|
|
|
copy /Y target\\smart-library-management-system-1.0-SNAPSHOT.war target\\slms-web.war
|
|
|
|
|
echo ✓ Web WAR 打包完成: slms-web.war
|
|
|
|
|
) else if exist target-web\\smart-library-management-system-1.0-SNAPSHOT.jar (
|
|
|
|
|
copy /Y target-web\\smart-library-management-system-1.0-SNAPSHOT.jar target\\slms-web.jar
|
|
|
|
|
for %%F in (target\\slms-web.war) do echo 大小: %%~zF bytes
|
|
|
|
|
) else if exist target\\smart-library-management-system-1.0-SNAPSHOT.jar (
|
|
|
|
|
copy /Y target\\smart-library-management-system-1.0-SNAPSHOT.jar target\\slms-web.jar
|
|
|
|
|
echo ✓ Web JAR 打包完成: slms-web.jar (备用)
|
|
|
|
|
for %%F in (target\\slms-web.jar) do echo 大小: %%~zF bytes
|
|
|
|
|
) else (
|
|
|
|
|
echo ⚠️ 警告: 找不到 Web WAR/JAR
|
|
|
|
|
dir target-web
|
|
|
|
|
echo ⚠️ 错误: 找不到 Web WAR/JAR
|
|
|
|
|
echo 检查 target 目录:
|
|
|
|
|
dir target\\*.war
|
|
|
|
|
dir target\\*.jar
|
|
|
|
|
exit /b 1
|
|
|
|
|
)
|
|
|
|
|
'''
|
|
|
|
|
echo '✓ Web WAR 打包成功'
|
|
|
|
|
|