mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 11:07:06 +00:00
99 lines
2.6 KiB
Batchfile
99 lines
2.6 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
chcp 65001
|
|
|
|
set "sbinDir=%~dp0"
|
|
call %sbinDir%/supersonic-common.bat %*
|
|
|
|
set "service=%~1"
|
|
|
|
cd %projectDir%
|
|
if "%service%"=="" (
|
|
set service=%standalone_service%
|
|
)
|
|
|
|
call mvn help:evaluate -Dexpression=project.version > temp.txt
|
|
for /f "delims=" %%i in (temp.txt) do (
|
|
set line=%%i
|
|
if not "!line:~0,1!"=="[" (
|
|
set MVN_VERSION=!line!
|
|
)
|
|
)
|
|
del temp.txt
|
|
cd %baseDir%
|
|
|
|
|
|
if "%service%"=="%pyllm_service%" (
|
|
echo start installing python modules required by supersonic-pyllm: %pip_path%
|
|
%pip_path% install -r %projectDir%\headless\python\requirements.txt"
|
|
echo install python modules success
|
|
goto :EOF
|
|
) else if "%service%"=="webapp" (
|
|
call :buildWebapp
|
|
tar xvf supersonic-webapp.tar.gz
|
|
move /y supersonic-webapp webapp
|
|
move /y webapp %projectDir%\launchers\%STANDALONE_SERVICE%\target\classes
|
|
goto :EOF
|
|
) else (
|
|
call :buildJavaService
|
|
call :buildWebapp
|
|
call :packageRelease
|
|
goto :EOF
|
|
)
|
|
|
|
|
|
:buildJavaService
|
|
set "model_name=%service%"
|
|
echo "starting building supersonic-%model_name% service"
|
|
call mvn -f %projectDir% clean package -DskipTests
|
|
IF ERRORLEVEL 1 (
|
|
ECHO Failed to build backend Java modules.
|
|
EXIT /B 1
|
|
)
|
|
copy /y %projectDir%\launchers\%model_name%\target\*.tar.gz %buildDir%\
|
|
echo "finished building supersonic-%model_name% service"
|
|
goto :EOF
|
|
|
|
|
|
:buildWebapp
|
|
echo "starting building supersonic webapp"
|
|
cd %projectDir%\webapp
|
|
call start-fe-prod.bat
|
|
copy /y supersonic-webapp.tar.gz %buildDir%\
|
|
rem check build result
|
|
IF ERRORLEVEL 1 (
|
|
ECHO Failed to build frontend webapp.
|
|
EXIT /B 1
|
|
)
|
|
echo "finished building supersonic webapp"
|
|
goto :EOF
|
|
|
|
|
|
:packageRelease
|
|
set "model_name=%service%"
|
|
set "release_dir=supersonic-%model_name%-%MVN_VERSION%"
|
|
set "service_name=launchers-%model_name%-%MVN_VERSION%"
|
|
echo "starting packaging supersonic release"
|
|
cd %buildDir%
|
|
if exist %release_dir% rmdir /s /q %release_dir%
|
|
if exist %release_dir%.zip del %release_dir%.zip
|
|
mkdir %release_dir%
|
|
rem package webapp
|
|
tar xvf supersonic-webapp.tar.gz
|
|
move /y supersonic-webapp webapp
|
|
echo {"env": ""} > webapp\supersonic.config.json
|
|
move /y webapp %release_dir%
|
|
rem package java service
|
|
tar xvf %service_name%-bin.tar.gz
|
|
for /d %%D in ("%service_name%\*") do (
|
|
move "%%D" "%release_dir%"
|
|
)
|
|
rem generate zip file
|
|
powershell Compress-Archive -Path %release_dir% -DestinationPath %release_dir%.zip
|
|
del %service_name%-bin.tar.gz
|
|
del supersonic-webapp.tar.gz
|
|
rmdir /s /q %service_name%
|
|
echo "finished packaging supersonic release"
|
|
goto :EOF
|
|
|
|
endlocal |