build 脚本
这个是因为项目依赖太多,每次都需要手动按顺序build,所以写了一个自动化的脚本,读取文件,按顺序build项目。
goto start
= Author: pz27063
= Read project path from project_list.txt
= Maven command : mvn clean install -Dmaven.test.skip=true
= Double click this bat and see detail logs build.log.
:start
@echo off
color f2
mode con: lines=500
set MAVEN_BUILD_COMMAND=C:\work\apache-maven-3.3.9\bin\mvn.cmd clean install -Dmaven.test.skip=true
::set MAVEN_BUILD_COMMAND=mvn clean install -Dmaven.test.skip=true
set CURRENT_BATCH_PATH=%cd%
set BUILD_LOG=%CURRENT_BATCH_PATH%\build.log
set PROJECT_LIST=%CURRENT_BATCH_PATH%\project_list.txt
set READLINE=10
call :readlist
pause
GOTO:EOF
:readlist
echo PROJECT_LIST
for /f "tokens=*" %%c in (%PROJECT_LIST%) do (
set str=%%c
setlocal enabledelayedexpansion
if /i "!str:~,1!" neq "#" (
SETLOCAL ENABLEDELAYEDEXPANSION
set project_path=%%c
call :maven_build !project_path!,%BUILD_LOG%
)
)
GOTO:EOF
:maven_build
echo ..........Delete build successful log..........
del /f /s /q %2
echo ..........%1 Building..........
cd %1
call %MAVEN_BUILD_COMMAND% >>%2
echo ..........Build finished..........
set log_line=0
for /f "tokens=1 delims=*" %%i in (%2) do echo %%i >>nul&&set /a log_line+=1
set /a last=%log_line%-%READLINE%
more +%last% "%2"
find "BUILD FAILURE" %2
IF %ERRORLEVEL% EQU 0 (
set failture_log_total = 0
for /f "tokens=*" %%c in (%2) do (
echo %%c
)
echo %1 build failed. Please check.
call :rebuild %1,%2
)
GOTO:EOF
:rebuild
set /p YN=Type Y to re-build, any key to exit(Case-insensitive):
if /i "%YN%"=="Y" (
call :maven_build %1,%2
)else (
PAUSE
EXIT
)
GOTO:EOF
浙公网安备 33010602011771号