rem get code and compile
path=%path%;\\192.168.0.40\Share\tools\svn-win32-1.5.5\bin\;%PROGRAMFILES%\WinRAR
set projectname=youtubedownloader2
set exename=youtubedownloader
set projectconfig=b-youtube-downloader
set projectsharefolder=\\192.168.0.40\Share\products\%projectname%
set tspath=%projectsharefolder%\ts\
set skinpath=\\192.168.0.40\Share\users\dq\%projectname%\skins
set buildpath=c:\temp
set compileflag=
set _my_datetime=%date%_%time%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=%
set _my_datetime=%_my_datetime:/=_%
set _my_datetime=%_my_datetime:.=_%
set hideoutput=" "
:CheckOpts
rem secret output
if "%1"=="-s" (set hideoutput=" >nul 2>nul") & shift & goto CheckOpts
mkdir %buildpath%
cd /d %buildpath%
title 准备...
rmdir /s /q %buildpath%\%projectname%
rmdir /s /q %buildpath%\release
title 获取源码...
svn co svn://192.168.0.3/projects/%projectname%/trunk %projectname% %hideoutput:"=%
title 获取语言文件...
mkdir %tspath%
copy /y %tspath%\qtpropertybrowser*.ts %projectname%\qtpropertybrowser\translations
copy /y %tspath%\%exename%*.ts %projectname%\main\translations
title 更新语言文件...
pushd %projectname%
for /r %%d in (*.pro) DO if exist %%d (
pushd %%~dpd
lupdate -noobsolete %%d
popd
)
popd
title 编译...
pushd %projectname%
call build.debug.bat -s %projectconfig% -c Release %hideoutput:"=%
popd
title 打包程序...
rmdir /s /q release
mkdir release\logs
copy %projectname%\main\release\%exename%.exe release
copy %projectname%\main\release\BuildLog.htm release\logs
xcopy /s /e /y /i %projectname%\export\%projectconfig% release
copy %projectname%\import\bin\*.* release
mkdir release\plugin
title 打包皮肤...
xcopy /s /e /y /i %projectname%\main\skins release\skinsbackup
copy /y %projectname%\main\%projectconfig%\*.* release\skinsbackup\skin0
xcopy /s /e /y /i %projectname%\main\profile release\skinsbackup\skin0\profile
del /s /q release\skinsbackup\skin0\profile\*.xml
xcopy /s /e /y /i release\skinsbackup release\skins
mkdir %skinpath%
xcopy /s /e /y /i %skinpath% release\skins
title 发布语言文件...
mkdir release\ts
for /r %%d in (*.ts) DO if exist %%d (
copy /y %%d release\ts
)
mkdir release\tsbackup
copy /y %tspath%\*.ts release\tsbackup
title 发布pdb文件...
mkdir release\pdb
for /r %%d in (*.pdb) DO if exist %%d (
copy /y %%d release\pdb
)
title 打包qt库...
for %%G in ("%path:;=" "%") do (
copy /y "%%G\QtCore4.dll" release
copy /y "%%G\QtGui4.dll" release
copy /y "%%G\QtXml4.dll" release
copy /y "%%G\QtNetwork4.dll" release
)
title 检查编译成功与否...
if not exist release\logs\BuildLog.htm set compileflag=".FAILED"
find "0 error(s)" release\logs\BuildLog.htm
if errorlevel 1 set compileflag=".FAILED"
winrar a -r %projectname%_%_my_datetime%%compileflag%.rar release
title 发布到共享目录
copy /y %projectname%_%_my_datetime%%compileflag%.rar %projectsharefolder%
explorer /select,%projectsharefolder%\%projectname%_%_my_datetime%%compileflag%.rar
explorer /select,%buildpath%\release\%exename%.exe
title 完成
path=%path%;\\192.168.0.40\Share\tools\svn-win32-1.5.5\bin\;%PROGRAMFILES%\WinRAR
set projectname=youtubedownloader2
set exename=youtubedownloader
set projectconfig=b-youtube-downloader
set projectsharefolder=\\192.168.0.40\Share\products\%projectname%
set tspath=%projectsharefolder%\ts\
set skinpath=\\192.168.0.40\Share\users\dq\%projectname%\skins
set buildpath=c:\temp
set compileflag=
set _my_datetime=%date%_%time%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=%
set _my_datetime=%_my_datetime:/=_%
set _my_datetime=%_my_datetime:.=_%
set hideoutput=" "
:CheckOpts
rem secret output
if "%1"=="-s" (set hideoutput=" >nul 2>nul") & shift & goto CheckOpts
mkdir %buildpath%
cd /d %buildpath%
title 准备...
rmdir /s /q %buildpath%\%projectname%
rmdir /s /q %buildpath%\release
title 获取源码...
svn co svn://192.168.0.3/projects/%projectname%/trunk %projectname% %hideoutput:"=%
title 获取语言文件...
mkdir %tspath%
copy /y %tspath%\qtpropertybrowser*.ts %projectname%\qtpropertybrowser\translations
copy /y %tspath%\%exename%*.ts %projectname%\main\translations
title 更新语言文件...
pushd %projectname%
for /r %%d in (*.pro) DO if exist %%d (
pushd %%~dpd
lupdate -noobsolete %%d
popd
)
popd
title 编译...
pushd %projectname%
call build.debug.bat -s %projectconfig% -c Release %hideoutput:"=%
popd
title 打包程序...
rmdir /s /q release
mkdir release\logs
copy %projectname%\main\release\%exename%.exe release
copy %projectname%\main\release\BuildLog.htm release\logs
xcopy /s /e /y /i %projectname%\export\%projectconfig% release
copy %projectname%\import\bin\*.* release
mkdir release\plugin
title 打包皮肤...
xcopy /s /e /y /i %projectname%\main\skins release\skinsbackup
copy /y %projectname%\main\%projectconfig%\*.* release\skinsbackup\skin0
xcopy /s /e /y /i %projectname%\main\profile release\skinsbackup\skin0\profile
del /s /q release\skinsbackup\skin0\profile\*.xml
xcopy /s /e /y /i release\skinsbackup release\skins
mkdir %skinpath%
xcopy /s /e /y /i %skinpath% release\skins
title 发布语言文件...
mkdir release\ts
for /r %%d in (*.ts) DO if exist %%d (
copy /y %%d release\ts
)
mkdir release\tsbackup
copy /y %tspath%\*.ts release\tsbackup
title 发布pdb文件...
mkdir release\pdb
for /r %%d in (*.pdb) DO if exist %%d (
copy /y %%d release\pdb
)
title 打包qt库...
for %%G in ("%path:;=" "%") do (
copy /y "%%G\QtCore4.dll" release
copy /y "%%G\QtGui4.dll" release
copy /y "%%G\QtXml4.dll" release
copy /y "%%G\QtNetwork4.dll" release
)
title 检查编译成功与否...
if not exist release\logs\BuildLog.htm set compileflag=".FAILED"
find "0 error(s)" release\logs\BuildLog.htm
if errorlevel 1 set compileflag=".FAILED"
winrar a -r %projectname%_%_my_datetime%%compileflag%.rar release
title 发布到共享目录
copy /y %projectname%_%_my_datetime%%compileflag%.rar %projectsharefolder%
explorer /select,%projectsharefolder%\%projectname%_%_my_datetime%%compileflag%.rar
explorer /select,%buildpath%\release\%exename%.exe
title 完成