初始化job,并分析svn日志--initNEW1-UFT.bat
2016-04-18 14:42
507 查看
initNEW1-UFT.bat
rem 启用延后变量参数
setlocal EnableDelayedExpansion
echo *********************************************************
echo 脚本功能:用于Jenkins多任务执行时,带时间参数的传递。
echo 编写时间:
echo *********************************************************
echo ===========================主流程==========================================================
:main
call :init
rem 获取SVN日志
call :SvnLog
rem 依据SVNlog文件获取增删改文件并作格式转换
call :ChangeLOG
rem 获取路径、删除重复行
call :DellDouble
rem 编译工程
call :Compile
rem SVN清理
call :Svncleanup
goto :eof
exit /b
=================================================================================================
echo ==========================初始化===================================================
:init
rem 升级包名称
set t=%Time%
if "%t:~0,1%" ==" " (
set t=0%t:~1%
)
rem 传入参数
set Version=%Version%
set AresProject=%AresProject%
echo set Version=%Version%>%workspace%\initTMP.bat
echo set AresProject=%AresProject%>%workspace%\initTMP.bat
set LogDir=%Workspace%\log\%date:~0,4%%date:~5,2%%date:~8,2%.%t:~0,2%%t:~3,2%
set VersionNumber=%AresProject%
set VersionNum=UFT_20160122
echo set LogDir=%Workspace%\log\%date:~0,4%%date:~5,2%%date:~8,2%.%t:~0,2%%t:~3,2%>>%workspace%\initTMP.bat
echo set AresProject=%AresProject%>>%workspace%\initTMP.bat
echo set VersionNumber=%AresProject%>>%workspace%\initTMP.bat
echo set VersionNum=%VersionNum%>>%workspace%\initTMP.bat
echo set Version=%Version%>>%workspace%\initTMP.bat
rem ARES工程属性
echo set CompileUser=%CompileUser%>>%workspace%\initTMP.bat
echo set AresData=%AresData%>>%workspace%\initTMP.bat
echo set AresPath=%AresPath%>>%workspace%\initTMP.bat
rem UFTARES工程属性
echo set UFTCompileUser=%UFTCompileUser%>>%workspace%\initTMP.bat
echo set UFTAresData=%UFTAresData%>>%workspace%\initTMP.bat
echo set UFTAresPath=%UFTAresPath%>>%workspace%\initTMP.bat
rem UFRARES工程属性
echo set UFRCompileUser=%UFRCompileUser%>>%workspace%\initTMP.bat
echo set UFRAresData=%UFRAresData%>>%workspace%\initTMP.bat
echo set UFRAresPath=%UFRAresPath%>>%workspace%\initTMP.bat
rem 传入基础和UFT升级脚本
echo set UFTUpdateScript=%UFTUpdateScript%>>%workspace%\initTMP.bat
echo set baseUpdateScript=%baseUpdateScript%>>%workspace%\initTMP.bat
echo set UFTUpdateScriptPkg=%UFTUpdateScriptPkg%>>%workspace%\initTMP.bat
echo set baseUpdateScriptPkg=%baseUpdateScriptPkg%>>%workspace%\initTMP.bat
set UFTUpdateScript=%UFTUpdateScript%
set baseUpdateScript=%baseUpdateScript%
set UFTUpdateScriptPkg=%UFTUpdateScriptPkg%
set baseUpdateScriptPkg=%baseUpdateScriptPkg%
echo 创建日志目录
if not exist %LogDir% mkdir %LogDir%
if exist %Workspace%\临时补丁集成内容\本次集成内容.txt (
svn update %Workspace%\临时补丁集成内容\本次集成内容.txt>%LogDir%\svnlog_commit.log 2>&1
@ping 127.1 /n 100 >nul
type %Workspace%\临时补丁集成内容\本次集成内容.txt>>%workspace%\initTMP.bat
call %workspace%\initTMP.bat
) else (
echo %Workspace%\临时补丁集成内容\本次集成内容.txt不存在,请检查
exit 1
)
echo set PackName=%date:~0,4%%date:~5,2%%date:~8,2%.%t:~0,2%%t:~3,2%(%Version%)>>%workspace%\initTMP.bat
set Srcdir=%workspace%
echo %Srcdir%
set VersionBasepath=%VersionBasepath%
rem https://cm06.hundsun.com/deptones/AMDep/O4/base/branches/BASE_20150831
set VersionUFTpath=%VersionUFTpath%
rem https://cm06.hundsun.com/deptones/AMDep/O4/compliance/branches/历史补丁/UFT_20150831B
rem https://cm06.hundsun.com/deptones/AMDep/O4/UFT2.0/branches/历史补丁/UFT_20150831B
set VersionScriptpath=%VersionScriptpath%
goto :eof
=======================================================================================================================================
=======================================================================================================================================
echo ==========================获取SVN日志===================================================
:SvnLog
rem 获取日志前再做一次SVN更新,避免Jenkins更新时有递交,漏掉这部分的编译
svn update %workspace%\base\Run
svn update %workspace%\base\Sources\appcom
svn update %workspace%\base\Sources\Client
svn update %workspace%\base\Sources\mc
svn update %workspace%\base\Sources\O4_Ares_studio
svn update %workspace%\base\Sources\Script
svn update %workspace%\base\Sources\Src
svn update %workspace%\compliance\Run
svn update %workspace%\compliance\Sources\Client
svn update %workspace%\compliance\Sources\ufrcore
svn update %workspace%\compliance\Sources\ufrcore_code
svn update %workspace%\compliance\Sources\ufrmgnt
svn update %workspace%\UFT2.0\Run
svn update %workspace%\UFT2.0\Sources\Client
svn update %workspace%\UFT2.0\Sources\newtran
svn update %workspace%\UFT2.0\Sources\资管UFT系统V20
svn update %workspace%\升级脚本
echo off
rem 备份上次集成SVN版本
copy /y %LogDir%\..\上次集成SVN版本.txt %LogDir%
rem 获取上次集成SVN版本、脚本版本、测试包号
rem 获取上次集成基础前台SVN版本
for /f "tokens=1 delims='基础前台版本:'" %%i in ('find "基础前台版本:" %LogDir%\上次集成SVN版本.txt') do (
set aa=%%i
set aa=!aa:--=!
if !aa! EQU %%i (
set LastBaseClientVersion=%%i
)
)
rem 获取上次集成合规程序SVN版本
for /f "tokens=1 delims='合规程序版本:'" %%i in ('find "合规程序版本:" %LogDir%\上次集成SVN版本.txt') do (
set aa=%%i
set aa=!aa:--=!
if !aa! EQU %%i (
set LastComplianceVersion=%%i
)
)
rem 获取上次集成UFT2.0程序SVN版本
for /f "tokens=1 delims='UFT程序版本:'" %%i in ('find "UFT程序版本:" %LogDir%\上次集成SVN版本.txt') do (
set aa=%%i
set aa=!aa:--=!
if !aa! EQU %%i (
set LastUFT2.0Version=%%i
)
)<
4000
br />rem 获取上次集成升级脚本SVN版本
for /f "tokens=1 delims='升级脚本版本:'" %%i in ('find "升级脚本版本:" %LogDir%\上次集成SVN版本.txt') do (
set aa=%%i
set aa=!aa:--=!
if !aa! EQU %%i (
set LastUpdateVersion=%%i
)
)
rem 获取当前程序版本、脚本版本、测试包号
rem 获取当前基础前台SVN版本信息
svn info https://cm06.hundsun.com/deptones/AMDep/O4/base%VersionBasepath% > %LogDir%\svninfo_baseClient.txt
for /f "tokens=1 delims=" %%i in ('find "Last Changed Rev: " %LogDir%\svninfo_baseClient.txt') do (
set fver=%%i
set fver=!fver:Last Changed Rev: =!
if "!fver!" NEQ "%%i" (
echo 基础前台版本:!fver!>%LogDir%\本次集成SVN版本.txt
set NowBaseClientVersion=!fver!
rem 如果开始不编译前台参数,那么上次集成版本报错不变。
rem 本次集成版本+1作为下次集成版本,避免下次集成包含本次修改
set /a fver=!fver!+1
echo 基础前台版本:!fver!>%LogDir%\..\上次集成SVN版本.txt
)
)
rem 获取当前合规程序版本SVN版本信息
svn info https://cm06.hundsun.com/deptones/AMDep/O4/compliance%VersionUFTpath% > %LogDir%\svninfo_Compliance.txt
for /f "tokens=1 delims=" %%i in ('find "Last Changed Rev: " %LogDir%\svninfo_Compliance.txt') do (
set fver=%%i
set fver=!fver:Last Changed Rev: =!
if "!fver!" NEQ "%%i" (
echo 合规程序版本:!fver!>>%LogDir%\本次集成SVN版本.txt
set NowComplianceVersion=!fver!
rem 本次集成版本+1作为下次集成版本,避免下次集成包含本次修改
set /a fver=!fver!+1
echo 合规程序版本:!fver!>>%LogDir%\..\上次集成SVN版本.txt
)
)
rem 获取当前UFT2.0程序SVN版本信息
svn info https://cm06.hundsun.com/deptones/AMDep/O4/UFT2.0%VersionUFTpath% > %LogDir%\svninfo_UFT2.0.txt
for /f "tokens=1 delims=" %%i in ('find "Last Changed Rev: " %LogDir%\svninfo_UFT2.0.txt') do (
set fver=%%i
set fver=!fver:Last Changed Rev: =!
if "!fver!" NEQ "%%i" (
echo UFT程序版本:!fver!>>%LogDir%\本次集成SVN版本.txt
set NowUFT2.0Version=!fver!
rem 本次集成版本+1作为下次集成版本,避免下次集成包含本次修改
set /a fver=!fver!+1
echo UFT程序版本:!fver!>>%LogDir%\..\上次集成SVN版本.txt
)
)
rem 获取当前升级脚本SVN版本信息
svn info https://cm06.hundsun.com/deptones/AMDep/O4/总体/Documents/升级脚本 > %LogDir%\svninfo_Update.txt
for /f "tokens=1 delims=" %%i in ('find "Last Changed Rev: " %LogDir%\svninfo_Update.txt') do (
set fver=%%i
set fver=!fver:Last Changed Rev: =!
if "!fver!" NEQ "%%i" (
echo 升级脚本版本:!fver!>>%LogDir%\本次集成SVN版本.txt
set NowUpdateVersion=!fver!
rem 本次集成版本+1作为下次集成版本,避免下次集成包含本次修改
set /a fver=!fver!+1
echo 升级脚本版本:!fver!>>%LogDir%\..\上次集成SVN版本.txt
)
)
rem 获取svnlog
if %NowBaseClientVersion% GEQ %LastBaseClientVersion% (
svn.exe log https://cm06.hundsun.com/deptones/AMDep/O4/base%VersionBasepath% --revision %LastBaseClientVersion%:%NowBaseClientVersion% --username hs\o4cm --password trade32@wu --verbose --trust-server-cert --non-interactive
> %Logdir%\svnlog_baseClient.txt 2>%Logdir%\svnlog_error.txt
)
if %NowComplianceVersion% GEQ %LastComplianceVersion% (
svn.exe log https://cm06.hundsun.com/deptones/AMDep/O4/compliance%VersionUFTpath% --revision %LastComplianceVersion%:%NowComplianceVersion% --username hs\o4cm --password trade32@wu --verbose --trust-server-cert --non-interactive
> %Logdir%\svnlog_Compliance.txt 2>>%Logdir%\svnlog_error.txt
)
if %NowUFT2.0Version% GEQ %LastUFT2.0Version% (
svn.exe log https://cm06.hundsun.com/deptones/AMDep/O4/UFT2.0%VersionUFTpath% --revision %LastUFT2.0Version%:%NowUFT2.0Version% --username hs\o4cm --password trade32@wu --verbose --trust-server-cert --non-interactive >
%Logdir%\svnlog_UFT2.0.txt 2>>%Logdir%\svnlog_error.txt
)
if %NowUpdateVersion% GEQ %LastUpdateVersion% (
svn.exe log https://cm06.hundsun.com/deptones/AMDep/O4/总体/Documents/升级脚本 --revision %LastUpdateVersion%:%NowUpdateVersion% --username hs\o4cm --password trade32@wu --verbose --trust-server-cert --non-interactive > %Logdir%\svnlog_Update.txt
2>>%Logdir%\svnlog_error.txt
)
rem 检查获取日志时是否报错,如果报错立即退出
type %Logdir%\svnlog_error.txt|find "svn: E"
if "%errorlevel%" EQU "0" (
echo 获取svnlog时报错,请配管检查!!!>%LogDir%\..\today.txt
exit 1
)
rem 获取svnlog不报错,即将svnlog_error.txt删除
rem if exist %Logdir%\svnlog_error.txt del /q %Logdir%\svnlog_error.txt
rem 去除配管递交的基础前台SVNlog,包括“版本信息.txt”的提交
set n=0
for /f "tokens=* delims=" %%i in (%LogDir%\svnlog_baseClient.txt) do (
set aa=%%i
if !n! EQU 0 (
set aa=!aa: o4cm =!
set aa=!aa: wanghb =!
set aa=!aa: liting =!
set aa=!aa:/版本信息=!
if "!aa!" EQU "%%i" (
echo !aa!>>%LogDir%\svnlog_baseClient1.txt
) else (
set /a n+=1)
) else (
set aa=!aa:-----=!
if "!aa!" NEQ "%%i" (set /a n-=1))
)
move /y %LogDir%\svnlog_baseClient1.txt %LogDir%\svnlog_baseClient.txt
rem 去除配管递交的合规程序SVNlog,包括“版本信息.txt”的提交
set n=0
for /f "tokens=* delims=" %%i in (%LogDir%\svnlog_Compliance.txt) do (
set aa=%%i
if !n! EQU 0 (
set aa=!aa: o4cm =!
set aa=!aa: wanghb =!
set aa=!aa: liting =!
set aa=!aa:/版本信息=!
if "!aa!" EQU "%%i" (
echo !aa!>>%LogDir%\svnlog_Compliance1.txt
) else (
set /a n+=1)
) else (
set aa=!aa:-----=!
if "!aa!" NEQ "%%i" (set /a n-=1))
)
move /y %LogDir%\svnlog_Compliance1.txt %LogDir%\svnlog_Compliance.txt
rem 去除配管递交的UFT2.0程序SVNlog,包括“版本信息.txt”的提交
set n=0
for /f "tokens=* delims=" %%i in (%LogDir%\svnlog_UFT2.0.txt) do (
set aa=%%i
if !n! EQU 0 (
set aa=!aa: o4cm =!
set aa=!aa: wanghb =!
set aa=!aa: liting =!
set aa=!aa:/版本信息=!
if "!aa!" EQU "%%i" (
echo !aa!>>%LogDir%\svnlog_UFT2.01.txt
) else (
set /a n+=1)
) else (
set aa=!aa:-----=!
if "!aa!" NEQ "%%i" (set /a n-=1))
)
move /y %LogDir%\svnlog_UFT2.01.txt %LogDir%\svnlog_UFT2.0.txt
rem 去除配管递交的升级脚本SVNlog,包括“版本信息.txt”的提交
set n=0
for /f "tokens=* delims=" %%i in (%LogDir%\svnlog_Update.txt) do (
set aa=%%i
if !n! EQU 0 (
set aa=!aa: o4cm =!
set aa=!aa: wanghb =!
set aa=!aa: liting =!
set aa=!aa:/版本信息=!
if "!aa!" EQU "%%i" (
echo !aa!>>%LogDir%\svnlog_Update1.txt
) else (
set /a n+=1)
) else (
set aa=!aa:-----=!
if "!aa!" NEQ "%%i" (set /a n-=1))
)
move /y %LogDir%\svnlog_Update1.txt %LogDir%\svnlog_Update.txt
rem 获取日志后再做一次SVN更新,避免获取SVN日志时有递交,漏掉这部分的编译
svn update %workspace%\base\Run
svn update %workspace%\base\Sources\appcom
svn update %workspace%\base\Sources\Client
svn update %workspace%\base\Sources\mc
svn update %workspace%\base\Sources\O4_Ares_studio
svn update %workspace%\base\Sources\Script
svn update %workspace%\base\Sources\Src
svn update %workspace%\compliance\Run
svn update %workspace%\compliance\Sources\Client
svn update %workspace%\compliance\Sources\ufrcore
svn update %workspace%\compliance\Sources\ufrcore_code
svn update %workspace%\compliance\Sources\ufrmgnt
svn update %workspace%\UFT2.0\Run
svn update %workspace%\UFT2.0\Sources\Client
svn update %workspace%\UFT2.0\Sources\newtran
svn update %workspace%\UFT2.0\Sources\资管UFT系统V20
svn update %workspace%\升级脚本
goto :eof
echo =========================依据SVNlog文件获取增删改文件并作格式转换=========================
:ChangeLOG
echo off
if exist %Logdir%\modify_baseClient.txt del /q %Logdir%\modify_baseClient.txt
if exist %Logdir%\add_baseClient.txt del /q %Logdir%\add_baseClient.txt
if exist %Logdir%\delete_baseClient.txt del /q %Logdir%\delete_baseClient.txt
if exist %Logdir%\modify_Complian
18b2c
ce.txt del /q %Logdir%\modify_Compliance.txt
if exist %Logdir%\add_Compliance.txt del /q %Logdir%\add_Compliance.txt
if exist %Logdir%\delete_Compliance.txt del /q %Logdir%\delete_Compliance.txt
if exist %Logdir%\modify_UFT2.0.txt del /q %Logdir%\modify_UFT2.0.txt
if exist %Logdir%\add_UFT2.0.txt del /q %Logdir%\add_UFT2.0.txt
if exist %Logdir%\delete_UFT2.0.txt del /q %Logdir%\delete_UFT2.0.txt
if exist %Logdir%\modify_Update.txt del /q %Logdir%\modify_Update.txt
if exist %Logdir%\add_Update.txt del /q %Logdir%\add_Update.txt
if exist %Logdir%\delete_Update.txt del /q %Logdir%\delete_Update.txt
rem 依据svnlog_baseClient.txt文件获取增删改文件,转化成本地源码格式的目录,包括替换" M "、"branches/"等
for /f "tokens=* delims=" %%i in (%Logdir%\svnlog_baseClient.txt) do (
set aa=%%i
set aa=!aa: M =%Srcdir%!
if "!aa!" NEQ "%%i" (
set aa=!aa:%VersionBasepath%=!
set aa=!aa:/=\!
echo !aa!>>%Logdir%\modify_baseClient.txt
)
set bb=%%i
set bb=!bb: A =%Srcdir%!
if "!bb!" NEQ "%%i" (
set bb=!bb:%VersionBasepath%=!
set bb=!bb:/=\!
echo !bb!>>%Logdir%\add_baseClient.txt
)
set cc=%%i
set cc=!cc: D =%Srcdir%!
if "!cc!" NEQ "%%i" (
set cc=!cc:%VersionBasepath%=!
set cc=!cc:/=\!
echo !cc!>>%Logdir%\delete_baseClient.txt
)
)
rem 依据svnlog_Compliance.txt文件获取增删改文件,转化成本地源码格式的目录,包括替换" M "、"branches/"等
for /f "tokens=* delims=" %%i in (%Logdir%\svnlog_Compliance.txt) do (
set aa=%%i
set aa=!aa: M =%Srcdir%!
if "!aa!" NEQ "%%i" (
set aa=!aa:%VersionUFTpath%=!
set aa=!aa:/=\!
set aa=!aa:\compliance\Sources\ufrmgnt\O4_Ares_studio\O4\basicdata\idhg\=!
set aa=!aa:\compliance\Sources\ufrcore\metadata\stdfield.stdfield=!
echo !aa!>>%Logdir%\modify_Compliance.txt
)
set bb=%%i
set bb=!bb: A =%Srcdir%!
if "!bb!" NEQ "%%i" (
set bb=!bb:%VersionUFTpath%=!
set bb=!bb:/=\!
set bb=!bb:\compliance\Sources\ufrmgnt\O4_Ares_studio\O4\basicdata\idhg\hg_tdataexportconfig.singletabledata=!
set bb=!bb:\compliance\Sources\ufrcore\metadata\stdfield.stdfield=!
echo !bb!>>%Logdir%\add_Compliance.txt
)
set cc=%%i
set cc=!cc: D =%Srcdir%!
if "!cc!" NEQ "%%i" (
set cc=!cc:%VersionUFTpath%=!
set cc=!cc:/=\!
set cc=!cc:\compliance\Sources\ufrmgnt\O4_Ares_studio\O4\basicdata\idhg\hg_tdataexportconfig.singletabledata=!
set cc=!cc:\compliance\Sources\ufrcore\metadata\stdfield.stdfield=!
echo !cc!>>%Logdir%\delete_Compliance.txt
)
)
rem 依据svnlog_UFT2.0.txt文件获取增删改文件,转化成本地源码格式的目录,包括替换" M "、"branches/"等
for /f "tokens=* delims=" %%i in (%Logdir%\svnlog_UFT2.0.txt) do (
set aa=%%i
set aa=!aa: M =%Srcdir%!
if "!aa!" NEQ "%%i" (
set aa=!aa:%VersionUFTpath%=!
set aa=!aa:/=\!
echo !aa!>>%Logdir%\modify_UFT2.0.txt
)
set bb=%%i
set bb=!bb: A =%Srcdir%!
if "!bb!" NEQ "%%i" (
set bb=!bb:%VersionUFTpath%=!
set bb=!bb:/=\!
echo !bb!>>%Logdir%\add_UFT2.0.txt
)
set cc=%%i
set cc=!cc: D =%Srcdir%!
if "!cc!" NEQ "%%i" (
set cc=!cc:%VersionUFTpath%=!
set cc=!cc:/=\!
echo !cc!>>%Logdir%\delete_UFT2.0.txt
)
)
rem 依据svnlog_Update.txt文件获取增删改文件,转化成本地源码格式的目录,包括替换" M "、"branches/"等
for /f "tokens=* delims=" %%i in (%Logdir%\svnlog_Update.txt) do (
set aa=%%i
set aa=!aa: M =%Srcdir%!
if "!aa!" NEQ "%%i" (
set aa=!aa:%VersionScriptpath%=!
set aa=!aa:/=\!
echo !aa!>>%Logdir%\modify_Update.txt
)
set bb=%%i
set bb=!bb: A =%Srcdir%!
if "!bb!" NEQ "%%i" (
set bb=!bb:%VersionScriptpath%=!
set bb=!bb:/=\!
echo !bb!>>%Logdir%\add_Update.txt
)
set cc=%%i
set cc=!cc: D =%Srcdir%!
if "!cc!" NEQ "%%i" (
set cc=!cc:%VersionScriptpath%=!
set cc=!cc:/=\!
echo !cc!>>%Logdir%\delete_Update.txt
)
)
rem 去除modify_baseClient.txt重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_baseClient.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_baseClient.txt
rem 去除modify_baseClient.txt逗号
call :a2 %Logdir%\modify_baseClient.txt
rem 去除add_baseClient.txt重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_baseClient.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_baseClient.txt
rem 去除add_baseClient.txt逗号
call :a2 %Logdir%\add_baseClient.txt
rem 去除modify_Compliance重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Compliance.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_Compliance.txt
rem 去除modify_Compliance.txt逗号
call :a2 %Logdir%\modify_Compliance.txt
rem 去除add_Compliance.txt重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_Compliance.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_Compliance.txt
rem 去除add_Compliance.txt逗号
call :a2 %Logdir%\add_Compliance.txt
rem 去除modify_UFT2.0重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_UFT2.0.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_UFT2.0.txt
rem 去除modify_UFT2.0.txt逗号
call :a2 %Logdir%\modify_UFT2.0.txt
rem 去除add_UFT2.0.txt重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_UFT2.0.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_UFT2.0.txt
rem 去除add_UFT2.0.txt逗号
call :a2 %Logdir%\add_UFT2.0.txt
rem 去除modify_Update重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Update.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_Update.txt
rem 去除modify_Update.txt逗号
call :a2 %Logdir%\modify_Update.txt
rem 去除add_Update.txt重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_Update.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_Update.txt
rem 去除add_Update.txt逗号
call :a2 %Logdir%\add_Update.txt
rem 如果不存在增、删、改,直接退出
if not exist %Logdir%\modify_baseClient.txt (
if not exist %Logdir%\add_baseClient.txt (
if not exist %Logdir%\delete_baseClient.txt (
if not exist %Logdir%\modify_Compliance.txt (
if not exist %Logdir%\add_Compliance.txt (
if not exist %Logdir%\delete_Compliance.txt (
if not exist %Logdir%\modify_UFT2.0.txt (
if not exist %Logdir%\add_UFT2.0.txt (
if not exist %Logdir%\delete_UFT2.0.txt (
if not exist %Logdir%\modify_Update.txt (
if not exist %Logdir%\add_Update.txt (
if not exist %Logdir%\add_Update.txt (
echo 本次编译无修改,请忽略!!!>%Logdir%\..\today.txt
exit 0
)
)
)
)
)
)
)
)
)
)
)
)
goto :eof
echo ===============================获取路径、删除重复行=======================================================
:DellDouble
rem 生成汇总日志文件today.txt
echo.>%Logdir%\..\today.txt
echo 本次编译结果如下:>>%Logdir%\..\today.txt
echo ====================================================================================================>>%Logdir%\..\today.txt
echo.>>%Logdir%\..\today.txt
rem 依据修改的文件,获取对应的路径。后续编译时,需要引用到此路径。
if exist %Logdir%\modify_baseClient_path.txt del /q %Logdir%\modify_baseClient_path.txt
if exist %Logdir%\add_baseClient_path.txt del /q %Logdir%\add_baseClient_path.txt
if exist %Logdir%\delete_baseClient_path.txt del /q %Logdir%\delete_baseClient_path.txt
if exist %Logdir%\modify_Compliance_path.txt del /q %Logdir%\modify_Compliance_path.txt
if exist %Logdir%\add_Compliance_path.txt del /q %Logdir%\add_Compliance_path.txt
if exist %Logdir%\delete_Compliance_path.txt del /q %Logdir%\delete_Compliance_path.txt
if exist %Logdir%\modify_UFT2.0_path.txt del /q %Logdir%\modify_UFT2.0_path.txt
if exist %Logdir%\add_UFT2.0_path.txt del /q %Logdir%\add_UFT2.0_path.txt
if exist %Logdir%\delete_UFT2.0_path.txt del /q %Logdir%\delete_UFT2.0_path.txt
if exist %Logdir%\modify_Update_path.txt del /q %Logdir%\modify_Update_path.txt
if exist %Logdir%\add_Update_path.txt del /q %Logdir%\add_Update_path.txt
if exist %Logdir%\delete_Update_path.txt del /q %Logdir%\delete_Update_path.txt
rem 修改文件处理modify_baseClient.txt
if exist %Logdir%\modify_baseClient.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\modify_baseClient.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\base\Run\ar2.0_win=!
set aa=!aa:%Srcdir%\base\Run\base=!
set aa=!aa:%Srcdir%\base\Run\base_20150313=!
set aa=!aa:%Srcdir%\base\Run\buildscript=!
set aa=!aa:%Srcdir%\base\Run\Inno Setup 5=!
set aa=!aa:%Srcdir%\base\Run\SetupScript=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\modify_baseClient_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\modify_baseClient_path.txt) do (
@echo %%~dpi>>%Logdir%\modifypath1.txt
)
move /y %Logdir%\modifypath1.txt %Logdir%\modify_baseClient_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_baseClient_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_baseClient_path.txt
rem 去除逗号
call :a2 %Logdir%\modify_baseClient_path.txt
)
rem 修改文件处理modify_Compliance.txt
if exist %Logdir%\modify_Compliance.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Compliance.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\modify_Compliance_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Compliance_path.txt) do (
@echo %%~dpi>>%Logdir%\modifypath1.txt
)
move /y %Logdir%\modifypath1.txt %Logdir%\modify_Compliance_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Compliance_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_Compliance_path.txt
rem 去除逗号
call :a2 %Logdir%\modify_Compliance_path.txt
)
rem 修改文件处理modify_UFT2.0.txt
if exist %Logdir%\modify_UFT2.0.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\modify_UFT2.0.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\modify_UFT2.0_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\modify_UFT2.0_path.txt) do (
@echo %%~dpi>>%Logdir%\modifypath1.txt
)
move /y %Logdir%\modifypath1.txt %Logdir%\modify_UFT2.0_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_UFT2.0_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_UFT2.0_path.txt
rem 去除逗号
call :a2 %Logdir%\modify_UFT2.0_path.txt
)
rem 修改文件处理modify_Update.txt
if exist %Logdir%\modify_Update.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Update.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\modify_Update_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Update_path.txt) do (
@echo %%~dpi>>%Logdir%\modifypath1.txt
)
move /y %Logdir%\modifypath1.txt %Logdir%\modify_Update_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Update_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_Update_path.txt
rem 去除逗号
call :a2 %Logdir%\modify_Update_path.txt
)
rem 增加文件处理add_baseClient.txt
if exist %Logdir%\add_baseClient.txt (
for /f "tokens=* delims=" %%i in (%Logdir%\add_baseClient.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\base\Run\ar2.0_win=!
set aa=!aa:%Srcdir%\base\Run\base=!
set aa=!aa:%Srcdir%\base\Run\base_20150313=!
set aa=!aa:%Srcdir%\base\Run\buildscript=!
set aa=!aa:%Srcdir%\base\Run\Inno Setup 5=!
set aa=!aa:%Srcdir%\base\Run\SetupScript=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\add_baseClient_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\add_baseClient_path.txt) do (
@echo %%~dpi>>%Logdir%\addpath1.txt
)
move /y %Logdir%\addpath1.txt %Logdir%\add_baseClient_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_baseClient_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_baseClient_path.txt
rem 去除逗号
call :a2 %Logdir%\add_baseClient_path.txt
)
rem 增加文件处理add_Compliance.txt
if exist %Logdir%\add_Compliance.txt (
for /f "tokens=* delims=" %%i in (%Logdir%\add_Compliance.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\add_Compliance_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\add_Compliance_path.txt) do (
@echo %%~dpi>>%Logdir%\addpath1.txt
)
move /y %Logdir%\addpath1.txt %Logdir%\add_Compliance_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_Compliance_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_Compliance_path.txt
rem 去除逗号
call :a2 %Logdir%\add_Compliance_path.txt
)
rem 增加文件处理add_UFT2.0.txt
if exist %Logdir%\add_UFT2.0.txt (
for /f "tokens=* delims=" %%i in (%Logdir%\add_UFT2.0.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\add_UFT2.0_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\add_UFT2.0_path.txt) do (
@echo %%~dpi>>%Logdir%\addpath1.txt
)
move /y %Logdir%\addpath1.txt %Logdir%\add_UFT2.0_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_UFT2.0_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_UFT2.0_path.txt
rem 去除逗号
call :a2 %Logdir%\add_UFT2.0_path.txt
)
rem 增加文件处理add_Update.txt
if exist %Logdir%\add_Update.txt (
for /f "tokens=* delims=" %%i in (%Logdir%\add_Update.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\add_Update_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\add_Update_path.txt) do (
@echo %%~dpi>>%Logdir%\addpath1.txt
)
move /y %Logdir%\addpath1.txt %Logdir%\add_Update_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_Update_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_Update_path.txt
rem 去除逗号
call :a2 %Logdir%\add_Update_path.txt
)
rem 删除文件处理delete_baseClient.txt
if exist %Logdir%\delete_baseClient.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\delete_baseClient.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\base\Run\ar2.0_win=!
set aa=!aa:%Srcdir%\base\Run\base=!
set aa=!aa:%Srcdir%\base\Run\base_20150313=!
set aa=!aa:%Srcdir%\base\Run\buildscript=!
set aa=!aa:%Srcdir%\base\Run\Inno Setup 5=!
set aa=!aa:%Srcdir%\base\Run\SetupScript=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\delete_baseClient_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\delete_baseClient_path.txt) do (
@echo %%~dpi>>%Logdir%\deletepath1.txt
)
move /y %Logdir%\deletepath1.txt %Logdir%\delete_baseClient_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\delete_baseClient_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\delete_baseClient_path.txt
rem 去除逗号
call :a2 %Logdir%\delete_baseClient_path.txt
)
rem 删除文件处理delete_Compliance.txt
if exist %Logdir%\delete_Compliance.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\delete_Compliance.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\delete_Compliance_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\delete_Compliance_path.txt) do (
@echo %%~dpi>>%Logdir%\deletepath1.txt
)
move /y %Logdir%\deletepath1.txt %Logdir%\delete_Compliance_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\delete_Compliance_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\delete_Compliance_path.txt
rem 去除逗号
call :a2 %Logdir%\delete_Compliance_path.txt
)
rem 删除文件处理delete_UFT2.0.txt
if exist %Logdir%\delete_UFT2.0.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\delete_UFT2.0.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\delete_UFT2.0_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\delete_UFT2.0_path.txt) do (
@echo %%~dpi>>%Logdir%\deletepath1.txt
)
move /y %Logdir%\deletepath1.txt %Logdir%\delete_UFT2.0_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\delete_UFT2.0_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\delete_UFT2.0_path.txt
rem 去除逗号
call :a2 %Logdir%\delete_UFT2.0_path.txt
)
rem 删除文件处理delete_Update.txt
if exist %Logdir%\delete_Update.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\delete_Update.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\delete_Update_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\delete_Update_path.txt) do (
@echo %%~dpi>>%Logdir%\deletepath1.txt
)
move /y %Logdir%\deletepath1.txt %Logdir%\delete_Update_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\delete_Update_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\delete_Update_path.txt
rem 去除逗号
call :a2 %Logdir%\delete_Update_path.txt
)
goto :eof
rem 去除重复行函数
:a1
rem 去引号,结尾加上中文句号,解决有包含关系的路径会被过滤的问题,比如d:\123\12、d:\123\
set abc=%~1。
rem 去空格
set abc=%abc: =%
find "%abc%" %Logdir%\tmp.txt >nul 2>nul && goto :eof
@echo %abc%>>%Logdir%\tmp.txt
goto :eof
rem 去除文件中的中文句号
:a2
rem 去除逗号
for /f "tokens=* delims=" %%i in (%1) do (
set aa=%%i
set aa=!aa:。=!
echo !aa!>>%Logdir%\tmp1.txt
)
move /y %Logdir%\tmp1.txt %1
goto :eof
echo ================================编译工程==================================================================
:Compile
rem Part1. 基础前台 检查获取基础日志时是否有修改,如果有修改将U_Client设置为true
if exist %Logdir%\modify_baseClient_path.txt (
type %Logdir%\modify_baseClient_path.txt|find "\base\Sources\Client\"
if !errorlevel! EQU 0 (
rem [C_Client]:前台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_Client]:前台编译>>%workspace%\initTMP.bat
echo set U_Client=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\add_baseClient_path.txt (
type %Logdir%\add_baseClient_path.txt|find "\base\Sources\Client\"
if !errorlevel! EQU 0 (
rem [C_Client]:前台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_Client]:前台编译>>%workspace%\initTMP.bat
echo set U_Client=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\delete_baseClient_path.txt (
type %Logdir%\delete_baseClient_path.txt|find "\base\Sources\Client\"
if !errorlevel! EQU 0 (
rem [C_Client]:前台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_Client]:前台编译>>%workspace%\initTMP.bat
echo set U_Client=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\modify_baseClient.txt (
type %Logdir%\modify_baseClient_path.txt|find "\base\Sources\O4_Ares_studio\O4\metadata\datatype.datatype"
if !errorlevel! EQU 0 (
rem [U_ARES]:合规后台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_ARES]:合规后台>>%workspace%\initTMP.bat
echo set U_ARES=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\add_baseClient.txt (
type %Logdir%\add_baseClient_path.txt|find "\base\Sources\O4_Ares_studio\O4\metadata\datatype.datatype"
if !errorlevel! EQU 0 (
rem [U_ARES]:合规后台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_ARES]:合规后台>>%workspace%\initTMP.bat
echo set U_ARES=true>>%workspace%\initTMP.bat
)
)
rem Part2. 合规 检查获取合规日志时是否有修改,如果有修改将合规后台:[U_ARES]设置为true,合规核心:[U_ufr]设置为true,H5行情:[U_h5hq]设置为true,异步落库:[U_yblk]设置为true,回报转换:[U_hbzh]设置为true
if exist %Logdir%\modify_Compliance_path.txt (
type %Logdir%\modify_Compliance_path.txt|find "\compliance\Sources\ufrmgnt\O4_Ares_studio\O4\"
if !errorlevel! EQU 0 (
rem [U_ARES]:合规后台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_ARES]:合规后台>>%workspace%\initTMP.bat
echo set U_ARES=true>>%workspace%\initTMP.bat
)
type %Logdir%\modify_Compliance_path.txt|find "\compliance\Sources\ufrcore\"
if !errorlevel! EQU 0 (
rem [U_ufr]:合规核心,需要集成时填“true”,不需要时默认为“false”
echo [U_ufr]:合规核心>>%workspace%\initTMP.bat
echo set U_ufr=true>>%workspace%\initTMP.bat
)
type %Logdir%\modify_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\fsc_h5hq\"
if !errorlevel! EQU 0 (
rem [U_h5hq]:H5行情,需要集成时填“true”,不需要时默认为“false”
echo [U_h5hq]:H5行情>>%workspace%\initTMP.bat
echo set U_h5hq=true>>%workspace%\initTMP.bat
)
type %Logdir%\modify_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\fsc_utodb\"
if !errorlevel! EQU 0 (
rem [U_yblk]:异步落库,需要集成时填“true”,不需要时默认为“false”
echo [U_yblk]:异步落库>>%workspace%\initTMP.bat
echo set U_yblk=true>>%workspace%\initTMP.bat
)
type %Logdir%\modify_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\o32hbtrans\"
if !errorlevel! EQU 0 (
rem [U_hbzh]:回报转换,需要集成时填“true”,不需要时默认为“false”
echo [U_hbzh]:回报转换>>%workspace%\initTMP.bat
echo set U_hbzh=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\add_Compliance_path.txt (
type %Logdir%\add_Compliance_path.txt|find "\compliance\Sources\ufrmgnt\O4_Ares_studio\O4\"
if !errorlevel! EQU 0 (
rem [U_ARES]:合规后台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_ARES]:合规后台>>%workspace%\initTMP.bat
echo set U_ARES=true>>%workspace%\initTMP.bat
)
type %Logdir%\add_Compliance_path.txt|find "\compliance\Sources\ufrcore\"
if !errorlevel! EQU 0 (
rem [U_ufr]:合规核心,需要集成时填“true”,不需要时默认为“false”
echo [U_ufr]:合规核心>>%workspace%\initTMP.bat
echo set U_ufr=true>>%workspace%\initTMP.bat
)
type %Logdir%\add_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\fsc_h5hq\"
if !errorlevel! EQU 0 (
rem [U_h5hq]:H5行情,需要集成时填“true”,不需要时默认为“false”
echo [U_h5hq]:H5行情>>%workspace%\initTMP.bat
echo set U_h5hq=true>>%workspace%\initTMP.bat
)
type %Logdir%\add_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\fsc_utodb\"
if !errorlevel! EQU 0 (
rem [U_yblk]:异步落库,需要集成时填“true”,不需要时默认为“false”
echo [U_yblk]:异步落库>>%workspace%\initTMP.bat
echo set U_yblk=true>>%workspace%\initTMP.bat
)
type %Logdir%\add_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\o32hbtrans\"
if !errorlevel! EQU 0 (
rem [U_hbzh]:回报转换,需要集成时填“true”,不需要时默认为“false”
echo [U_hbzh]:回报转换>>%workspace%\initTMP.bat
echo set U_hbzh=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\delete_Compliance_path.txt (
type %Logdir%\delete_Compliance_path.txt|find "\compliance\Sources\ufrmgnt\O4_Ares_studio\O4\"
if !errorlevel! EQU 0 (
rem [U_ARES]:合规后台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_ARES]:合规后台>>%workspace%\initTMP.bat
echo set U_ARES=true>>%workspace%\initTMP.bat
)
type %Logdir%\delete_Compliance_path.txt|find "\compliance\Sources\ufrcore\"
if !errorlevel! EQU 0 (
rem [U_ufr]:合规核心,需要集成时填“true”,不需要时默认为“false”
echo [U_ufr]:合规核心>>%workspace%\initTMP.bat
echo set U_ufr=true>>%workspace%\initTMP.bat
)
type %Logdir%\delete_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\fsc_h5hq\"
if !errorlevel! EQU 0 (
rem [U_h5hq]:H5行情,需要集成时填“true”,不需要时默认为“false”
echo [U_h5hq]:H5行情>>%workspace%\initTMP.bat
echo set U_h5hq=true>>%workspace%\initTMP.bat
)
type %Logdir%\delete_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\fsc_utodb\"
if !errorlevel! EQU 0 (
rem [U_yblk]:异步落库,需要集成时填“true”,不需要时默认为“false”
echo [U_yblk]:异步落库>>%workspace%\initTMP.bat
echo set U_yblk=true>>%workspace%\initTMP.bat
)
type %Logdir%\delete_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\o32hbtrans\"
if !errorlevel! EQU 0 (
rem [U_hbzh]:回报转换,需要集成时填“true”,不需要时默认为“false”
echo [U_hbzh]:回报转换>>%workspace%\initTMP.bat
echo set U_hbzh=true>>%workspace%\initTMP.bat
)
)
rem Part3. UFT2.0 检查获取UFT2.0日志时是否有修改,如果有修改将交易核心:[U_uft]设置为true,转换机:[U_newtran]设置为true
if exist %Logdir%\modify_UFT2.0_path.txt (
type %Logdir%\modify_UFT2.0_path.txt|find "\UFT2.0\Sources\资管UFT系统V20\"
if !errorlevel! EQU 0 (
rem [U_uft]:交易核心,需要集成时填“true”,不需要时默认为“false”
echo [U_uft]:交易核心>>%workspace%\initTMP.bat
echo set U_uft=true>>%workspace%\initTMP.bat
)
type %Logdir%\modify_UFT2.0_path.txt|find "\UFT2.0\Sources\newtran\bin\"
if !errorlevel! EQU 0 (
rem [U_newtran]:转换机,需要集成时填“true”,不需要时默认为“false”
echo [U_newtran]:转换机>>%workspace%\initTMP.bat
echo set U_newtran=true>>%workspace%\initTMP.bat
)
type %Logdir%\modify_UFT2.0_path.txt|find "\UFT2.0\Sources\Client\"
if !errorlevel! EQU 0 (
rem [C_Client]:前台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_Client]:前台编译>>%workspace%\initTMP.bat
echo set U_Client=true>>%workspace%\initTMP.bat
echo rem [baseSrc]:基础编译>>%workspace%\initTMP.bat
echo set baseSrc=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\add_UFT2.0_path.txt (
type %Logdir%\add_UFT2.0_path.txt|find "\UFT2.0\Sources\资管UFT系统V20\"
if !errorlevel! EQU 0 (
rem [U_uft]:交易核心,需要集成时填“true”,不需要时默认为“false”
echo [U_uft]:交易核心>>%workspace%\initTMP.bat
echo set U_uft=true>>%workspace%\initTMP.bat
)
type %Logdir%\add_UFT2.0_path.txt|find "\UFT2.0\Sources\newtran\bin\"
if !errorlevel! EQU 0 (
rem [U_newtran]:转换机,需要集成时填“true”,不需要时默认为“false”
echo [U_newtran]:转换机>>%workspace%\initTMP.bat
echo set U_newtran=true>>%workspace%\initTMP.bat
)
type %Logdir%\add_UFT2.0_path.txt|find "\UFT2.0\Sources\Client\"
if !errorlevel! EQU 0 (
rem [C_Client]:前台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_Client]:前台编译>>%workspace%\initTMP.bat
echo set U_Client=true>>%workspace%\initTMP.bat
echo rem [baseSrc]:基础编译>>%workspace%\initTMP.bat
echo set baseSrc=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\delete_UFT2.0_path.txt (
type %Logdir%\delete_UFT2.0_path.txt|find "\UFT2.0\Sources\资管UFT系统V20\"
if !errorlevel! EQU 0 (
rem [U_uft]:交易核心,需要集成时填“true”,不需要时默认为“false”
echo [U_uft]:交易核心>>%workspace%\initTMP.bat
echo set U_uft=true>>%workspace%\initTMP.bat
)
type %Logdir%\delete_UFT2.0_path.txt|find "\UFT2.0\Sources\newtran\bin\"
if !errorlevel! EQU 0 (
rem [U_newtran]:转换机,需要集成时填“true”,不需要时默认为“false”
echo [U_newtran]:转换机>>%workspace%\initTMP.bat
echo set U_newtran=true>>%workspace%\initTMP.bat
)
type %Logdir%\delete_UFT2.0_path.txt|find "\UFT2.0\Sources\Client\"
if !errorlevel! EQU 0 (
rem [C_Client]:前台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_Client]:前台编译>>%workspace%\initTMP.bat
echo set U_Client=true>>%workspace%\initTMP.bat
echo rem [baseSrc]:基础编译>>%workspace%\initTMP.bat
echo set baseSrc=true>>%workspace%\initTMP.bat
)
)
rem 拷贝升级脚本下配置文件打包
for %%a in (modify_Update.txt,add_Update.txt) do (
if exist %Logdir%\%%a (
for /f "tokens=* delims=" %%i in (%Logdir%\%%a) do (
set ff=%%~dpi
rem 打包配置文件
set aaaaaa=%%i
set aaaaaa=!aaaaaa:%UFTUpdateScript%=!
set bbbbbb=!aaaaaa:%baseUpdateScript%=!
if "!bbbbbb!" NEQ "%%i" (
rem [baseSrc]:当有基础编译修改代码时填“true”,没有修改时填“false”
echo [baseSrc]:基础编译>>%workspace%\initTMP.bat
echo set baseSrc=true>>%workspace%\initTMP.bat
echo [U_Client]:前台编译>>%workspace%\initTMP.bat
echo set U_Client=true>>%workspace%\initTMP.bat
)
)
)
)
goto :eof
rem ==========================SVN清理===========================================
:Svncleanup
rem 避免出现下次任务运行出现SVN更新报错
svn cleanup %workspace%\compliance\Sources\ufrcore_code
svn cleanup %workspace%\compliance\Sources\ufrmgnt
svn cleanup %workspace%\UFT2.0\Run
svn cleanup %workspace%\UFT2.0\Sources\Client
svn cleanup %workspace%\UFT2.0\Sources\newtran
svn cleanup %workspace%\UFT2.0\Sources\资管UFT系统V20
svn cleanup %workspace%\升级脚本
goto :eof
rem 启用延后变量参数
setlocal EnableDelayedExpansion
echo *********************************************************
echo 脚本功能:用于Jenkins多任务执行时,带时间参数的传递。
echo 编写时间:
echo *********************************************************
echo ===========================主流程==========================================================
:main
call :init
rem 获取SVN日志
call :SvnLog
rem 依据SVNlog文件获取增删改文件并作格式转换
call :ChangeLOG
rem 获取路径、删除重复行
call :DellDouble
rem 编译工程
call :Compile
rem SVN清理
call :Svncleanup
goto :eof
exit /b
=================================================================================================
echo ==========================初始化===================================================
:init
rem 升级包名称
set t=%Time%
if "%t:~0,1%" ==" " (
set t=0%t:~1%
)
rem 传入参数
set Version=%Version%
set AresProject=%AresProject%
echo set Version=%Version%>%workspace%\initTMP.bat
echo set AresProject=%AresProject%>%workspace%\initTMP.bat
set LogDir=%Workspace%\log\%date:~0,4%%date:~5,2%%date:~8,2%.%t:~0,2%%t:~3,2%
set VersionNumber=%AresProject%
set VersionNum=UFT_20160122
echo set LogDir=%Workspace%\log\%date:~0,4%%date:~5,2%%date:~8,2%.%t:~0,2%%t:~3,2%>>%workspace%\initTMP.bat
echo set AresProject=%AresProject%>>%workspace%\initTMP.bat
echo set VersionNumber=%AresProject%>>%workspace%\initTMP.bat
echo set VersionNum=%VersionNum%>>%workspace%\initTMP.bat
echo set Version=%Version%>>%workspace%\initTMP.bat
rem ARES工程属性
echo set CompileUser=%CompileUser%>>%workspace%\initTMP.bat
echo set AresData=%AresData%>>%workspace%\initTMP.bat
echo set AresPath=%AresPath%>>%workspace%\initTMP.bat
rem UFTARES工程属性
echo set UFTCompileUser=%UFTCompileUser%>>%workspace%\initTMP.bat
echo set UFTAresData=%UFTAresData%>>%workspace%\initTMP.bat
echo set UFTAresPath=%UFTAresPath%>>%workspace%\initTMP.bat
rem UFRARES工程属性
echo set UFRCompileUser=%UFRCompileUser%>>%workspace%\initTMP.bat
echo set UFRAresData=%UFRAresData%>>%workspace%\initTMP.bat
echo set UFRAresPath=%UFRAresPath%>>%workspace%\initTMP.bat
rem 传入基础和UFT升级脚本
echo set UFTUpdateScript=%UFTUpdateScript%>>%workspace%\initTMP.bat
echo set baseUpdateScript=%baseUpdateScript%>>%workspace%\initTMP.bat
echo set UFTUpdateScriptPkg=%UFTUpdateScriptPkg%>>%workspace%\initTMP.bat
echo set baseUpdateScriptPkg=%baseUpdateScriptPkg%>>%workspace%\initTMP.bat
set UFTUpdateScript=%UFTUpdateScript%
set baseUpdateScript=%baseUpdateScript%
set UFTUpdateScriptPkg=%UFTUpdateScriptPkg%
set baseUpdateScriptPkg=%baseUpdateScriptPkg%
echo 创建日志目录
if not exist %LogDir% mkdir %LogDir%
if exist %Workspace%\临时补丁集成内容\本次集成内容.txt (
svn update %Workspace%\临时补丁集成内容\本次集成内容.txt>%LogDir%\svnlog_commit.log 2>&1
@ping 127.1 /n 100 >nul
type %Workspace%\临时补丁集成内容\本次集成内容.txt>>%workspace%\initTMP.bat
call %workspace%\initTMP.bat
) else (
echo %Workspace%\临时补丁集成内容\本次集成内容.txt不存在,请检查
exit 1
)
echo set PackName=%date:~0,4%%date:~5,2%%date:~8,2%.%t:~0,2%%t:~3,2%(%Version%)>>%workspace%\initTMP.bat
set Srcdir=%workspace%
echo %Srcdir%
set VersionBasepath=%VersionBasepath%
rem https://cm06.hundsun.com/deptones/AMDep/O4/base/branches/BASE_20150831
set VersionUFTpath=%VersionUFTpath%
rem https://cm06.hundsun.com/deptones/AMDep/O4/compliance/branches/历史补丁/UFT_20150831B
rem https://cm06.hundsun.com/deptones/AMDep/O4/UFT2.0/branches/历史补丁/UFT_20150831B
set VersionScriptpath=%VersionScriptpath%
goto :eof
=======================================================================================================================================
=======================================================================================================================================
echo ==========================获取SVN日志===================================================
:SvnLog
rem 获取日志前再做一次SVN更新,避免Jenkins更新时有递交,漏掉这部分的编译
svn update %workspace%\base\Run
svn update %workspace%\base\Sources\appcom
svn update %workspace%\base\Sources\Client
svn update %workspace%\base\Sources\mc
svn update %workspace%\base\Sources\O4_Ares_studio
svn update %workspace%\base\Sources\Script
svn update %workspace%\base\Sources\Src
svn update %workspace%\compliance\Run
svn update %workspace%\compliance\Sources\Client
svn update %workspace%\compliance\Sources\ufrcore
svn update %workspace%\compliance\Sources\ufrcore_code
svn update %workspace%\compliance\Sources\ufrmgnt
svn update %workspace%\UFT2.0\Run
svn update %workspace%\UFT2.0\Sources\Client
svn update %workspace%\UFT2.0\Sources\newtran
svn update %workspace%\UFT2.0\Sources\资管UFT系统V20
svn update %workspace%\升级脚本
echo off
rem 备份上次集成SVN版本
copy /y %LogDir%\..\上次集成SVN版本.txt %LogDir%
rem 获取上次集成SVN版本、脚本版本、测试包号
rem 获取上次集成基础前台SVN版本
for /f "tokens=1 delims='基础前台版本:'" %%i in ('find "基础前台版本:" %LogDir%\上次集成SVN版本.txt') do (
set aa=%%i
set aa=!aa:--=!
if !aa! EQU %%i (
set LastBaseClientVersion=%%i
)
)
rem 获取上次集成合规程序SVN版本
for /f "tokens=1 delims='合规程序版本:'" %%i in ('find "合规程序版本:" %LogDir%\上次集成SVN版本.txt') do (
set aa=%%i
set aa=!aa:--=!
if !aa! EQU %%i (
set LastComplianceVersion=%%i
)
)
rem 获取上次集成UFT2.0程序SVN版本
for /f "tokens=1 delims='UFT程序版本:'" %%i in ('find "UFT程序版本:" %LogDir%\上次集成SVN版本.txt') do (
set aa=%%i
set aa=!aa:--=!
if !aa! EQU %%i (
set LastUFT2.0Version=%%i
)
)<
4000
br />rem 获取上次集成升级脚本SVN版本
for /f "tokens=1 delims='升级脚本版本:'" %%i in ('find "升级脚本版本:" %LogDir%\上次集成SVN版本.txt') do (
set aa=%%i
set aa=!aa:--=!
if !aa! EQU %%i (
set LastUpdateVersion=%%i
)
)
rem 获取当前程序版本、脚本版本、测试包号
rem 获取当前基础前台SVN版本信息
svn info https://cm06.hundsun.com/deptones/AMDep/O4/base%VersionBasepath% > %LogDir%\svninfo_baseClient.txt
for /f "tokens=1 delims=" %%i in ('find "Last Changed Rev: " %LogDir%\svninfo_baseClient.txt') do (
set fver=%%i
set fver=!fver:Last Changed Rev: =!
if "!fver!" NEQ "%%i" (
echo 基础前台版本:!fver!>%LogDir%\本次集成SVN版本.txt
set NowBaseClientVersion=!fver!
rem 如果开始不编译前台参数,那么上次集成版本报错不变。
rem 本次集成版本+1作为下次集成版本,避免下次集成包含本次修改
set /a fver=!fver!+1
echo 基础前台版本:!fver!>%LogDir%\..\上次集成SVN版本.txt
)
)
rem 获取当前合规程序版本SVN版本信息
svn info https://cm06.hundsun.com/deptones/AMDep/O4/compliance%VersionUFTpath% > %LogDir%\svninfo_Compliance.txt
for /f "tokens=1 delims=" %%i in ('find "Last Changed Rev: " %LogDir%\svninfo_Compliance.txt') do (
set fver=%%i
set fver=!fver:Last Changed Rev: =!
if "!fver!" NEQ "%%i" (
echo 合规程序版本:!fver!>>%LogDir%\本次集成SVN版本.txt
set NowComplianceVersion=!fver!
rem 本次集成版本+1作为下次集成版本,避免下次集成包含本次修改
set /a fver=!fver!+1
echo 合规程序版本:!fver!>>%LogDir%\..\上次集成SVN版本.txt
)
)
rem 获取当前UFT2.0程序SVN版本信息
svn info https://cm06.hundsun.com/deptones/AMDep/O4/UFT2.0%VersionUFTpath% > %LogDir%\svninfo_UFT2.0.txt
for /f "tokens=1 delims=" %%i in ('find "Last Changed Rev: " %LogDir%\svninfo_UFT2.0.txt') do (
set fver=%%i
set fver=!fver:Last Changed Rev: =!
if "!fver!" NEQ "%%i" (
echo UFT程序版本:!fver!>>%LogDir%\本次集成SVN版本.txt
set NowUFT2.0Version=!fver!
rem 本次集成版本+1作为下次集成版本,避免下次集成包含本次修改
set /a fver=!fver!+1
echo UFT程序版本:!fver!>>%LogDir%\..\上次集成SVN版本.txt
)
)
rem 获取当前升级脚本SVN版本信息
svn info https://cm06.hundsun.com/deptones/AMDep/O4/总体/Documents/升级脚本 > %LogDir%\svninfo_Update.txt
for /f "tokens=1 delims=" %%i in ('find "Last Changed Rev: " %LogDir%\svninfo_Update.txt') do (
set fver=%%i
set fver=!fver:Last Changed Rev: =!
if "!fver!" NEQ "%%i" (
echo 升级脚本版本:!fver!>>%LogDir%\本次集成SVN版本.txt
set NowUpdateVersion=!fver!
rem 本次集成版本+1作为下次集成版本,避免下次集成包含本次修改
set /a fver=!fver!+1
echo 升级脚本版本:!fver!>>%LogDir%\..\上次集成SVN版本.txt
)
)
rem 获取svnlog
if %NowBaseClientVersion% GEQ %LastBaseClientVersion% (
svn.exe log https://cm06.hundsun.com/deptones/AMDep/O4/base%VersionBasepath% --revision %LastBaseClientVersion%:%NowBaseClientVersion% --username hs\o4cm --password trade32@wu --verbose --trust-server-cert --non-interactive
> %Logdir%\svnlog_baseClient.txt 2>%Logdir%\svnlog_error.txt
)
if %NowComplianceVersion% GEQ %LastComplianceVersion% (
svn.exe log https://cm06.hundsun.com/deptones/AMDep/O4/compliance%VersionUFTpath% --revision %LastComplianceVersion%:%NowComplianceVersion% --username hs\o4cm --password trade32@wu --verbose --trust-server-cert --non-interactive
> %Logdir%\svnlog_Compliance.txt 2>>%Logdir%\svnlog_error.txt
)
if %NowUFT2.0Version% GEQ %LastUFT2.0Version% (
svn.exe log https://cm06.hundsun.com/deptones/AMDep/O4/UFT2.0%VersionUFTpath% --revision %LastUFT2.0Version%:%NowUFT2.0Version% --username hs\o4cm --password trade32@wu --verbose --trust-server-cert --non-interactive >
%Logdir%\svnlog_UFT2.0.txt 2>>%Logdir%\svnlog_error.txt
)
if %NowUpdateVersion% GEQ %LastUpdateVersion% (
svn.exe log https://cm06.hundsun.com/deptones/AMDep/O4/总体/Documents/升级脚本 --revision %LastUpdateVersion%:%NowUpdateVersion% --username hs\o4cm --password trade32@wu --verbose --trust-server-cert --non-interactive > %Logdir%\svnlog_Update.txt
2>>%Logdir%\svnlog_error.txt
)
rem 检查获取日志时是否报错,如果报错立即退出
type %Logdir%\svnlog_error.txt|find "svn: E"
if "%errorlevel%" EQU "0" (
echo 获取svnlog时报错,请配管检查!!!>%LogDir%\..\today.txt
exit 1
)
rem 获取svnlog不报错,即将svnlog_error.txt删除
rem if exist %Logdir%\svnlog_error.txt del /q %Logdir%\svnlog_error.txt
rem 去除配管递交的基础前台SVNlog,包括“版本信息.txt”的提交
set n=0
for /f "tokens=* delims=" %%i in (%LogDir%\svnlog_baseClient.txt) do (
set aa=%%i
if !n! EQU 0 (
set aa=!aa: o4cm =!
set aa=!aa: wanghb =!
set aa=!aa: liting =!
set aa=!aa:/版本信息=!
if "!aa!" EQU "%%i" (
echo !aa!>>%LogDir%\svnlog_baseClient1.txt
) else (
set /a n+=1)
) else (
set aa=!aa:-----=!
if "!aa!" NEQ "%%i" (set /a n-=1))
)
move /y %LogDir%\svnlog_baseClient1.txt %LogDir%\svnlog_baseClient.txt
rem 去除配管递交的合规程序SVNlog,包括“版本信息.txt”的提交
set n=0
for /f "tokens=* delims=" %%i in (%LogDir%\svnlog_Compliance.txt) do (
set aa=%%i
if !n! EQU 0 (
set aa=!aa: o4cm =!
set aa=!aa: wanghb =!
set aa=!aa: liting =!
set aa=!aa:/版本信息=!
if "!aa!" EQU "%%i" (
echo !aa!>>%LogDir%\svnlog_Compliance1.txt
) else (
set /a n+=1)
) else (
set aa=!aa:-----=!
if "!aa!" NEQ "%%i" (set /a n-=1))
)
move /y %LogDir%\svnlog_Compliance1.txt %LogDir%\svnlog_Compliance.txt
rem 去除配管递交的UFT2.0程序SVNlog,包括“版本信息.txt”的提交
set n=0
for /f "tokens=* delims=" %%i in (%LogDir%\svnlog_UFT2.0.txt) do (
set aa=%%i
if !n! EQU 0 (
set aa=!aa: o4cm =!
set aa=!aa: wanghb =!
set aa=!aa: liting =!
set aa=!aa:/版本信息=!
if "!aa!" EQU "%%i" (
echo !aa!>>%LogDir%\svnlog_UFT2.01.txt
) else (
set /a n+=1)
) else (
set aa=!aa:-----=!
if "!aa!" NEQ "%%i" (set /a n-=1))
)
move /y %LogDir%\svnlog_UFT2.01.txt %LogDir%\svnlog_UFT2.0.txt
rem 去除配管递交的升级脚本SVNlog,包括“版本信息.txt”的提交
set n=0
for /f "tokens=* delims=" %%i in (%LogDir%\svnlog_Update.txt) do (
set aa=%%i
if !n! EQU 0 (
set aa=!aa: o4cm =!
set aa=!aa: wanghb =!
set aa=!aa: liting =!
set aa=!aa:/版本信息=!
if "!aa!" EQU "%%i" (
echo !aa!>>%LogDir%\svnlog_Update1.txt
) else (
set /a n+=1)
) else (
set aa=!aa:-----=!
if "!aa!" NEQ "%%i" (set /a n-=1))
)
move /y %LogDir%\svnlog_Update1.txt %LogDir%\svnlog_Update.txt
rem 获取日志后再做一次SVN更新,避免获取SVN日志时有递交,漏掉这部分的编译
svn update %workspace%\base\Run
svn update %workspace%\base\Sources\appcom
svn update %workspace%\base\Sources\Client
svn update %workspace%\base\Sources\mc
svn update %workspace%\base\Sources\O4_Ares_studio
svn update %workspace%\base\Sources\Script
svn update %workspace%\base\Sources\Src
svn update %workspace%\compliance\Run
svn update %workspace%\compliance\Sources\Client
svn update %workspace%\compliance\Sources\ufrcore
svn update %workspace%\compliance\Sources\ufrcore_code
svn update %workspace%\compliance\Sources\ufrmgnt
svn update %workspace%\UFT2.0\Run
svn update %workspace%\UFT2.0\Sources\Client
svn update %workspace%\UFT2.0\Sources\newtran
svn update %workspace%\UFT2.0\Sources\资管UFT系统V20
svn update %workspace%\升级脚本
goto :eof
echo =========================依据SVNlog文件获取增删改文件并作格式转换=========================
:ChangeLOG
echo off
if exist %Logdir%\modify_baseClient.txt del /q %Logdir%\modify_baseClient.txt
if exist %Logdir%\add_baseClient.txt del /q %Logdir%\add_baseClient.txt
if exist %Logdir%\delete_baseClient.txt del /q %Logdir%\delete_baseClient.txt
if exist %Logdir%\modify_Complian
18b2c
ce.txt del /q %Logdir%\modify_Compliance.txt
if exist %Logdir%\add_Compliance.txt del /q %Logdir%\add_Compliance.txt
if exist %Logdir%\delete_Compliance.txt del /q %Logdir%\delete_Compliance.txt
if exist %Logdir%\modify_UFT2.0.txt del /q %Logdir%\modify_UFT2.0.txt
if exist %Logdir%\add_UFT2.0.txt del /q %Logdir%\add_UFT2.0.txt
if exist %Logdir%\delete_UFT2.0.txt del /q %Logdir%\delete_UFT2.0.txt
if exist %Logdir%\modify_Update.txt del /q %Logdir%\modify_Update.txt
if exist %Logdir%\add_Update.txt del /q %Logdir%\add_Update.txt
if exist %Logdir%\delete_Update.txt del /q %Logdir%\delete_Update.txt
rem 依据svnlog_baseClient.txt文件获取增删改文件,转化成本地源码格式的目录,包括替换" M "、"branches/"等
for /f "tokens=* delims=" %%i in (%Logdir%\svnlog_baseClient.txt) do (
set aa=%%i
set aa=!aa: M =%Srcdir%!
if "!aa!" NEQ "%%i" (
set aa=!aa:%VersionBasepath%=!
set aa=!aa:/=\!
echo !aa!>>%Logdir%\modify_baseClient.txt
)
set bb=%%i
set bb=!bb: A =%Srcdir%!
if "!bb!" NEQ "%%i" (
set bb=!bb:%VersionBasepath%=!
set bb=!bb:/=\!
echo !bb!>>%Logdir%\add_baseClient.txt
)
set cc=%%i
set cc=!cc: D =%Srcdir%!
if "!cc!" NEQ "%%i" (
set cc=!cc:%VersionBasepath%=!
set cc=!cc:/=\!
echo !cc!>>%Logdir%\delete_baseClient.txt
)
)
rem 依据svnlog_Compliance.txt文件获取增删改文件,转化成本地源码格式的目录,包括替换" M "、"branches/"等
for /f "tokens=* delims=" %%i in (%Logdir%\svnlog_Compliance.txt) do (
set aa=%%i
set aa=!aa: M =%Srcdir%!
if "!aa!" NEQ "%%i" (
set aa=!aa:%VersionUFTpath%=!
set aa=!aa:/=\!
set aa=!aa:\compliance\Sources\ufrmgnt\O4_Ares_studio\O4\basicdata\idhg\=!
set aa=!aa:\compliance\Sources\ufrcore\metadata\stdfield.stdfield=!
echo !aa!>>%Logdir%\modify_Compliance.txt
)
set bb=%%i
set bb=!bb: A =%Srcdir%!
if "!bb!" NEQ "%%i" (
set bb=!bb:%VersionUFTpath%=!
set bb=!bb:/=\!
set bb=!bb:\compliance\Sources\ufrmgnt\O4_Ares_studio\O4\basicdata\idhg\hg_tdataexportconfig.singletabledata=!
set bb=!bb:\compliance\Sources\ufrcore\metadata\stdfield.stdfield=!
echo !bb!>>%Logdir%\add_Compliance.txt
)
set cc=%%i
set cc=!cc: D =%Srcdir%!
if "!cc!" NEQ "%%i" (
set cc=!cc:%VersionUFTpath%=!
set cc=!cc:/=\!
set cc=!cc:\compliance\Sources\ufrmgnt\O4_Ares_studio\O4\basicdata\idhg\hg_tdataexportconfig.singletabledata=!
set cc=!cc:\compliance\Sources\ufrcore\metadata\stdfield.stdfield=!
echo !cc!>>%Logdir%\delete_Compliance.txt
)
)
rem 依据svnlog_UFT2.0.txt文件获取增删改文件,转化成本地源码格式的目录,包括替换" M "、"branches/"等
for /f "tokens=* delims=" %%i in (%Logdir%\svnlog_UFT2.0.txt) do (
set aa=%%i
set aa=!aa: M =%Srcdir%!
if "!aa!" NEQ "%%i" (
set aa=!aa:%VersionUFTpath%=!
set aa=!aa:/=\!
echo !aa!>>%Logdir%\modify_UFT2.0.txt
)
set bb=%%i
set bb=!bb: A =%Srcdir%!
if "!bb!" NEQ "%%i" (
set bb=!bb:%VersionUFTpath%=!
set bb=!bb:/=\!
echo !bb!>>%Logdir%\add_UFT2.0.txt
)
set cc=%%i
set cc=!cc: D =%Srcdir%!
if "!cc!" NEQ "%%i" (
set cc=!cc:%VersionUFTpath%=!
set cc=!cc:/=\!
echo !cc!>>%Logdir%\delete_UFT2.0.txt
)
)
rem 依据svnlog_Update.txt文件获取增删改文件,转化成本地源码格式的目录,包括替换" M "、"branches/"等
for /f "tokens=* delims=" %%i in (%Logdir%\svnlog_Update.txt) do (
set aa=%%i
set aa=!aa: M =%Srcdir%!
if "!aa!" NEQ "%%i" (
set aa=!aa:%VersionScriptpath%=!
set aa=!aa:/=\!
echo !aa!>>%Logdir%\modify_Update.txt
)
set bb=%%i
set bb=!bb: A =%Srcdir%!
if "!bb!" NEQ "%%i" (
set bb=!bb:%VersionScriptpath%=!
set bb=!bb:/=\!
echo !bb!>>%Logdir%\add_Update.txt
)
set cc=%%i
set cc=!cc: D =%Srcdir%!
if "!cc!" NEQ "%%i" (
set cc=!cc:%VersionScriptpath%=!
set cc=!cc:/=\!
echo !cc!>>%Logdir%\delete_Update.txt
)
)
rem 去除modify_baseClient.txt重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_baseClient.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_baseClient.txt
rem 去除modify_baseClient.txt逗号
call :a2 %Logdir%\modify_baseClient.txt
rem 去除add_baseClient.txt重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_baseClient.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_baseClient.txt
rem 去除add_baseClient.txt逗号
call :a2 %Logdir%\add_baseClient.txt
rem 去除modify_Compliance重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Compliance.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_Compliance.txt
rem 去除modify_Compliance.txt逗号
call :a2 %Logdir%\modify_Compliance.txt
rem 去除add_Compliance.txt重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_Compliance.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_Compliance.txt
rem 去除add_Compliance.txt逗号
call :a2 %Logdir%\add_Compliance.txt
rem 去除modify_UFT2.0重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_UFT2.0.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_UFT2.0.txt
rem 去除modify_UFT2.0.txt逗号
call :a2 %Logdir%\modify_UFT2.0.txt
rem 去除add_UFT2.0.txt重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_UFT2.0.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_UFT2.0.txt
rem 去除add_UFT2.0.txt逗号
call :a2 %Logdir%\add_UFT2.0.txt
rem 去除modify_Update重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Update.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_Update.txt
rem 去除modify_Update.txt逗号
call :a2 %Logdir%\modify_Update.txt
rem 去除add_Update.txt重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_Update.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_Update.txt
rem 去除add_Update.txt逗号
call :a2 %Logdir%\add_Update.txt
rem 如果不存在增、删、改,直接退出
if not exist %Logdir%\modify_baseClient.txt (
if not exist %Logdir%\add_baseClient.txt (
if not exist %Logdir%\delete_baseClient.txt (
if not exist %Logdir%\modify_Compliance.txt (
if not exist %Logdir%\add_Compliance.txt (
if not exist %Logdir%\delete_Compliance.txt (
if not exist %Logdir%\modify_UFT2.0.txt (
if not exist %Logdir%\add_UFT2.0.txt (
if not exist %Logdir%\delete_UFT2.0.txt (
if not exist %Logdir%\modify_Update.txt (
if not exist %Logdir%\add_Update.txt (
if not exist %Logdir%\add_Update.txt (
echo 本次编译无修改,请忽略!!!>%Logdir%\..\today.txt
exit 0
)
)
)
)
)
)
)
)
)
)
)
)
goto :eof
echo ===============================获取路径、删除重复行=======================================================
:DellDouble
rem 生成汇总日志文件today.txt
echo.>%Logdir%\..\today.txt
echo 本次编译结果如下:>>%Logdir%\..\today.txt
echo ====================================================================================================>>%Logdir%\..\today.txt
echo.>>%Logdir%\..\today.txt
rem 依据修改的文件,获取对应的路径。后续编译时,需要引用到此路径。
if exist %Logdir%\modify_baseClient_path.txt del /q %Logdir%\modify_baseClient_path.txt
if exist %Logdir%\add_baseClient_path.txt del /q %Logdir%\add_baseClient_path.txt
if exist %Logdir%\delete_baseClient_path.txt del /q %Logdir%\delete_baseClient_path.txt
if exist %Logdir%\modify_Compliance_path.txt del /q %Logdir%\modify_Compliance_path.txt
if exist %Logdir%\add_Compliance_path.txt del /q %Logdir%\add_Compliance_path.txt
if exist %Logdir%\delete_Compliance_path.txt del /q %Logdir%\delete_Compliance_path.txt
if exist %Logdir%\modify_UFT2.0_path.txt del /q %Logdir%\modify_UFT2.0_path.txt
if exist %Logdir%\add_UFT2.0_path.txt del /q %Logdir%\add_UFT2.0_path.txt
if exist %Logdir%\delete_UFT2.0_path.txt del /q %Logdir%\delete_UFT2.0_path.txt
if exist %Logdir%\modify_Update_path.txt del /q %Logdir%\modify_Update_path.txt
if exist %Logdir%\add_Update_path.txt del /q %Logdir%\add_Update_path.txt
if exist %Logdir%\delete_Update_path.txt del /q %Logdir%\delete_Update_path.txt
rem 修改文件处理modify_baseClient.txt
if exist %Logdir%\modify_baseClient.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\modify_baseClient.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\base\Run\ar2.0_win=!
set aa=!aa:%Srcdir%\base\Run\base=!
set aa=!aa:%Srcdir%\base\Run\base_20150313=!
set aa=!aa:%Srcdir%\base\Run\buildscript=!
set aa=!aa:%Srcdir%\base\Run\Inno Setup 5=!
set aa=!aa:%Srcdir%\base\Run\SetupScript=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\modify_baseClient_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\modify_baseClient_path.txt) do (
@echo %%~dpi>>%Logdir%\modifypath1.txt
)
move /y %Logdir%\modifypath1.txt %Logdir%\modify_baseClient_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_baseClient_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_baseClient_path.txt
rem 去除逗号
call :a2 %Logdir%\modify_baseClient_path.txt
)
rem 修改文件处理modify_Compliance.txt
if exist %Logdir%\modify_Compliance.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Compliance.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\modify_Compliance_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Compliance_path.txt) do (
@echo %%~dpi>>%Logdir%\modifypath1.txt
)
move /y %Logdir%\modifypath1.txt %Logdir%\modify_Compliance_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Compliance_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_Compliance_path.txt
rem 去除逗号
call :a2 %Logdir%\modify_Compliance_path.txt
)
rem 修改文件处理modify_UFT2.0.txt
if exist %Logdir%\modify_UFT2.0.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\modify_UFT2.0.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\modify_UFT2.0_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\modify_UFT2.0_path.txt) do (
@echo %%~dpi>>%Logdir%\modifypath1.txt
)
move /y %Logdir%\modifypath1.txt %Logdir%\modify_UFT2.0_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_UFT2.0_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_UFT2.0_path.txt
rem 去除逗号
call :a2 %Logdir%\modify_UFT2.0_path.txt
)
rem 修改文件处理modify_Update.txt
if exist %Logdir%\modify_Update.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Update.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\modify_Update_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Update_path.txt) do (
@echo %%~dpi>>%Logdir%\modifypath1.txt
)
move /y %Logdir%\modifypath1.txt %Logdir%\modify_Update_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\modify_Update_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\modify_Update_path.txt
rem 去除逗号
call :a2 %Logdir%\modify_Update_path.txt
)
rem 增加文件处理add_baseClient.txt
if exist %Logdir%\add_baseClient.txt (
for /f "tokens=* delims=" %%i in (%Logdir%\add_baseClient.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\base\Run\ar2.0_win=!
set aa=!aa:%Srcdir%\base\Run\base=!
set aa=!aa:%Srcdir%\base\Run\base_20150313=!
set aa=!aa:%Srcdir%\base\Run\buildscript=!
set aa=!aa:%Srcdir%\base\Run\Inno Setup 5=!
set aa=!aa:%Srcdir%\base\Run\SetupScript=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\add_baseClient_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\add_baseClient_path.txt) do (
@echo %%~dpi>>%Logdir%\addpath1.txt
)
move /y %Logdir%\addpath1.txt %Logdir%\add_baseClient_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_baseClient_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_baseClient_path.txt
rem 去除逗号
call :a2 %Logdir%\add_baseClient_path.txt
)
rem 增加文件处理add_Compliance.txt
if exist %Logdir%\add_Compliance.txt (
for /f "tokens=* delims=" %%i in (%Logdir%\add_Compliance.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\add_Compliance_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\add_Compliance_path.txt) do (
@echo %%~dpi>>%Logdir%\addpath1.txt
)
move /y %Logdir%\addpath1.txt %Logdir%\add_Compliance_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_Compliance_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_Compliance_path.txt
rem 去除逗号
call :a2 %Logdir%\add_Compliance_path.txt
)
rem 增加文件处理add_UFT2.0.txt
if exist %Logdir%\add_UFT2.0.txt (
for /f "tokens=* delims=" %%i in (%Logdir%\add_UFT2.0.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\add_UFT2.0_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\add_UFT2.0_path.txt) do (
@echo %%~dpi>>%Logdir%\addpath1.txt
)
move /y %Logdir%\addpath1.txt %Logdir%\add_UFT2.0_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_UFT2.0_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_UFT2.0_path.txt
rem 去除逗号
call :a2 %Logdir%\add_UFT2.0_path.txt
)
rem 增加文件处理add_Update.txt
if exist %Logdir%\add_Update.txt (
for /f "tokens=* delims=" %%i in (%Logdir%\add_Update.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\add_Update_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\add_Update_path.txt) do (
@echo %%~dpi>>%Logdir%\addpath1.txt
)
move /y %Logdir%\addpath1.txt %Logdir%\add_Update_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\add_Update_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\add_Update_path.txt
rem 去除逗号
call :a2 %Logdir%\add_Update_path.txt
)
rem 删除文件处理delete_baseClient.txt
if exist %Logdir%\delete_baseClient.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\delete_baseClient.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\base\Run\ar2.0_win=!
set aa=!aa:%Srcdir%\base\Run\base=!
set aa=!aa:%Srcdir%\base\Run\base_20150313=!
set aa=!aa:%Srcdir%\base\Run\buildscript=!
set aa=!aa:%Srcdir%\base\Run\Inno Setup 5=!
set aa=!aa:%Srcdir%\base\Run\SetupScript=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\delete_baseClient_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\delete_baseClient_path.txt) do (
@echo %%~dpi>>%Logdir%\deletepath1.txt
)
move /y %Logdir%\deletepath1.txt %Logdir%\delete_baseClient_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\delete_baseClient_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\delete_baseClient_path.txt
rem 去除逗号
call :a2 %Logdir%\delete_baseClient_path.txt
)
rem 删除文件处理delete_Compliance.txt
if exist %Logdir%\delete_Compliance.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\delete_Compliance.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\delete_Compliance_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\delete_Compliance_path.txt) do (
@echo %%~dpi>>%Logdir%\deletepath1.txt
)
move /y %Logdir%\deletepath1.txt %Logdir%\delete_Compliance_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\delete_Compliance_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\delete_Compliance_path.txt
rem 去除逗号
call :a2 %Logdir%\delete_Compliance_path.txt
)
rem 删除文件处理delete_UFT2.0.txt
if exist %Logdir%\delete_UFT2.0.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\delete_UFT2.0.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\delete_UFT2.0_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\delete_UFT2.0_path.txt) do (
@echo %%~dpi>>%Logdir%\deletepath1.txt
)
move /y %Logdir%\deletepath1.txt %Logdir%\delete_UFT2.0_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\delete_UFT2.0_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\delete_UFT2.0_path.txt
rem 去除逗号
call :a2 %Logdir%\delete_UFT2.0_path.txt
)
rem 删除文件处理delete_Update.txt
if exist %Logdir%\delete_Update.txt (
rem 去除不需要编译前台的目录
for /f "tokens=* delims=" %%i in (%Logdir%\delete_Update.txt) do (
set aa=%%i
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\版本信息=!
set aa=!aa:%Srcdir%\compliance\Run\updatepkg\临时补丁集成内容=!
if "!aa!" EQU "%%i" (
echo %%i>>%Logdir%\delete_Update_path.txt
)
)
rem 获取路径
for /f "tokens=* delims=" %%i in (%Logdir%\delete_Update_path.txt) do (
@echo %%~dpi>>%Logdir%\deletepath1.txt
)
move /y %Logdir%\deletepath1.txt %Logdir%\delete_Update_path.txt
rem 去除重复行
for /f "tokens=* delims=" %%i in (%Logdir%\delete_Update_path.txt) do (
call :a1 "%%i"
)
move /y %Logdir%\tmp.txt %Logdir%\delete_Update_path.txt
rem 去除逗号
call :a2 %Logdir%\delete_Update_path.txt
)
goto :eof
rem 去除重复行函数
:a1
rem 去引号,结尾加上中文句号,解决有包含关系的路径会被过滤的问题,比如d:\123\12、d:\123\
set abc=%~1。
rem 去空格
set abc=%abc: =%
find "%abc%" %Logdir%\tmp.txt >nul 2>nul && goto :eof
@echo %abc%>>%Logdir%\tmp.txt
goto :eof
rem 去除文件中的中文句号
:a2
rem 去除逗号
for /f "tokens=* delims=" %%i in (%1) do (
set aa=%%i
set aa=!aa:。=!
echo !aa!>>%Logdir%\tmp1.txt
)
move /y %Logdir%\tmp1.txt %1
goto :eof
echo ================================编译工程==================================================================
:Compile
rem Part1. 基础前台 检查获取基础日志时是否有修改,如果有修改将U_Client设置为true
if exist %Logdir%\modify_baseClient_path.txt (
type %Logdir%\modify_baseClient_path.txt|find "\base\Sources\Client\"
if !errorlevel! EQU 0 (
rem [C_Client]:前台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_Client]:前台编译>>%workspace%\initTMP.bat
echo set U_Client=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\add_baseClient_path.txt (
type %Logdir%\add_baseClient_path.txt|find "\base\Sources\Client\"
if !errorlevel! EQU 0 (
rem [C_Client]:前台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_Client]:前台编译>>%workspace%\initTMP.bat
echo set U_Client=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\delete_baseClient_path.txt (
type %Logdir%\delete_baseClient_path.txt|find "\base\Sources\Client\"
if !errorlevel! EQU 0 (
rem [C_Client]:前台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_Client]:前台编译>>%workspace%\initTMP.bat
echo set U_Client=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\modify_baseClient.txt (
type %Logdir%\modify_baseClient_path.txt|find "\base\Sources\O4_Ares_studio\O4\metadata\datatype.datatype"
if !errorlevel! EQU 0 (
rem [U_ARES]:合规后台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_ARES]:合规后台>>%workspace%\initTMP.bat
echo set U_ARES=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\add_baseClient.txt (
type %Logdir%\add_baseClient_path.txt|find "\base\Sources\O4_Ares_studio\O4\metadata\datatype.datatype"
if !errorlevel! EQU 0 (
rem [U_ARES]:合规后台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_ARES]:合规后台>>%workspace%\initTMP.bat
echo set U_ARES=true>>%workspace%\initTMP.bat
)
)
rem Part2. 合规 检查获取合规日志时是否有修改,如果有修改将合规后台:[U_ARES]设置为true,合规核心:[U_ufr]设置为true,H5行情:[U_h5hq]设置为true,异步落库:[U_yblk]设置为true,回报转换:[U_hbzh]设置为true
if exist %Logdir%\modify_Compliance_path.txt (
type %Logdir%\modify_Compliance_path.txt|find "\compliance\Sources\ufrmgnt\O4_Ares_studio\O4\"
if !errorlevel! EQU 0 (
rem [U_ARES]:合规后台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_ARES]:合规后台>>%workspace%\initTMP.bat
echo set U_ARES=true>>%workspace%\initTMP.bat
)
type %Logdir%\modify_Compliance_path.txt|find "\compliance\Sources\ufrcore\"
if !errorlevel! EQU 0 (
rem [U_ufr]:合规核心,需要集成时填“true”,不需要时默认为“false”
echo [U_ufr]:合规核心>>%workspace%\initTMP.bat
echo set U_ufr=true>>%workspace%\initTMP.bat
)
type %Logdir%\modify_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\fsc_h5hq\"
if !errorlevel! EQU 0 (
rem [U_h5hq]:H5行情,需要集成时填“true”,不需要时默认为“false”
echo [U_h5hq]:H5行情>>%workspace%\initTMP.bat
echo set U_h5hq=true>>%workspace%\initTMP.bat
)
type %Logdir%\modify_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\fsc_utodb\"
if !errorlevel! EQU 0 (
rem [U_yblk]:异步落库,需要集成时填“true”,不需要时默认为“false”
echo [U_yblk]:异步落库>>%workspace%\initTMP.bat
echo set U_yblk=true>>%workspace%\initTMP.bat
)
type %Logdir%\modify_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\o32hbtrans\"
if !errorlevel! EQU 0 (
rem [U_hbzh]:回报转换,需要集成时填“true”,不需要时默认为“false”
echo [U_hbzh]:回报转换>>%workspace%\initTMP.bat
echo set U_hbzh=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\add_Compliance_path.txt (
type %Logdir%\add_Compliance_path.txt|find "\compliance\Sources\ufrmgnt\O4_Ares_studio\O4\"
if !errorlevel! EQU 0 (
rem [U_ARES]:合规后台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_ARES]:合规后台>>%workspace%\initTMP.bat
echo set U_ARES=true>>%workspace%\initTMP.bat
)
type %Logdir%\add_Compliance_path.txt|find "\compliance\Sources\ufrcore\"
if !errorlevel! EQU 0 (
rem [U_ufr]:合规核心,需要集成时填“true”,不需要时默认为“false”
echo [U_ufr]:合规核心>>%workspace%\initTMP.bat
echo set U_ufr=true>>%workspace%\initTMP.bat
)
type %Logdir%\add_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\fsc_h5hq\"
if !errorlevel! EQU 0 (
rem [U_h5hq]:H5行情,需要集成时填“true”,不需要时默认为“false”
echo [U_h5hq]:H5行情>>%workspace%\initTMP.bat
echo set U_h5hq=true>>%workspace%\initTMP.bat
)
type %Logdir%\add_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\fsc_utodb\"
if !errorlevel! EQU 0 (
rem [U_yblk]:异步落库,需要集成时填“true”,不需要时默认为“false”
echo [U_yblk]:异步落库>>%workspace%\initTMP.bat
echo set U_yblk=true>>%workspace%\initTMP.bat
)
type %Logdir%\add_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\o32hbtrans\"
if !errorlevel! EQU 0 (
rem [U_hbzh]:回报转换,需要集成时填“true”,不需要时默认为“false”
echo [U_hbzh]:回报转换>>%workspace%\initTMP.bat
echo set U_hbzh=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\delete_Compliance_path.txt (
type %Logdir%\delete_Compliance_path.txt|find "\compliance\Sources\ufrmgnt\O4_Ares_studio\O4\"
if !errorlevel! EQU 0 (
rem [U_ARES]:合规后台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_ARES]:合规后台>>%workspace%\initTMP.bat
echo set U_ARES=true>>%workspace%\initTMP.bat
)
type %Logdir%\delete_Compliance_path.txt|find "\compliance\Sources\ufrcore\"
if !errorlevel! EQU 0 (
rem [U_ufr]:合规核心,需要集成时填“true”,不需要时默认为“false”
echo [U_ufr]:合规核心>>%workspace%\initTMP.bat
echo set U_ufr=true>>%workspace%\initTMP.bat
)
type %Logdir%\delete_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\fsc_h5hq\"
if !errorlevel! EQU 0 (
rem [U_h5hq]:H5行情,需要集成时填“true”,不需要时默认为“false”
echo [U_h5hq]:H5行情>>%workspace%\initTMP.bat
echo set U_h5hq=true>>%workspace%\initTMP.bat
)
type %Logdir%\delete_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\fsc_utodb\"
if !errorlevel! EQU 0 (
rem [U_yblk]:异步落库,需要集成时填“true”,不需要时默认为“false”
echo [U_yblk]:异步落库>>%workspace%\initTMP.bat
echo set U_yblk=true>>%workspace%\initTMP.bat
)
type %Logdir%\delete_Compliance_path.txt|find "\compliance\Sources\ufrcore_code\o32hbtrans\"
if !errorlevel! EQU 0 (
rem [U_hbzh]:回报转换,需要集成时填“true”,不需要时默认为“false”
echo [U_hbzh]:回报转换>>%workspace%\initTMP.bat
echo set U_hbzh=true>>%workspace%\initTMP.bat
)
)
rem Part3. UFT2.0 检查获取UFT2.0日志时是否有修改,如果有修改将交易核心:[U_uft]设置为true,转换机:[U_newtran]设置为true
if exist %Logdir%\modify_UFT2.0_path.txt (
type %Logdir%\modify_UFT2.0_path.txt|find "\UFT2.0\Sources\资管UFT系统V20\"
if !errorlevel! EQU 0 (
rem [U_uft]:交易核心,需要集成时填“true”,不需要时默认为“false”
echo [U_uft]:交易核心>>%workspace%\initTMP.bat
echo set U_uft=true>>%workspace%\initTMP.bat
)
type %Logdir%\modify_UFT2.0_path.txt|find "\UFT2.0\Sources\newtran\bin\"
if !errorlevel! EQU 0 (
rem [U_newtran]:转换机,需要集成时填“true”,不需要时默认为“false”
echo [U_newtran]:转换机>>%workspace%\initTMP.bat
echo set U_newtran=true>>%workspace%\initTMP.bat
)
type %Logdir%\modify_UFT2.0_path.txt|find "\UFT2.0\Sources\Client\"
if !errorlevel! EQU 0 (
rem [C_Client]:前台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_Client]:前台编译>>%workspace%\initTMP.bat
echo set U_Client=true>>%workspace%\initTMP.bat
echo rem [baseSrc]:基础编译>>%workspace%\initTMP.bat
echo set baseSrc=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\add_UFT2.0_path.txt (
type %Logdir%\add_UFT2.0_path.txt|find "\UFT2.0\Sources\资管UFT系统V20\"
if !errorlevel! EQU 0 (
rem [U_uft]:交易核心,需要集成时填“true”,不需要时默认为“false”
echo [U_uft]:交易核心>>%workspace%\initTMP.bat
echo set U_uft=true>>%workspace%\initTMP.bat
)
type %Logdir%\add_UFT2.0_path.txt|find "\UFT2.0\Sources\newtran\bin\"
if !errorlevel! EQU 0 (
rem [U_newtran]:转换机,需要集成时填“true”,不需要时默认为“false”
echo [U_newtran]:转换机>>%workspace%\initTMP.bat
echo set U_newtran=true>>%workspace%\initTMP.bat
)
type %Logdir%\add_UFT2.0_path.txt|find "\UFT2.0\Sources\Client\"
if !errorlevel! EQU 0 (
rem [C_Client]:前台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_Client]:前台编译>>%workspace%\initTMP.bat
echo set U_Client=true>>%workspace%\initTMP.bat
echo rem [baseSrc]:基础编译>>%workspace%\initTMP.bat
echo set baseSrc=true>>%workspace%\initTMP.bat
)
)
if exist %Logdir%\delete_UFT2.0_path.txt (
type %Logdir%\delete_UFT2.0_path.txt|find "\UFT2.0\Sources\资管UFT系统V20\"
if !errorlevel! EQU 0 (
rem [U_uft]:交易核心,需要集成时填“true”,不需要时默认为“false”
echo [U_uft]:交易核心>>%workspace%\initTMP.bat
echo set U_uft=true>>%workspace%\initTMP.bat
)
type %Logdir%\delete_UFT2.0_path.txt|find "\UFT2.0\Sources\newtran\bin\"
if !errorlevel! EQU 0 (
rem [U_newtran]:转换机,需要集成时填“true”,不需要时默认为“false”
echo [U_newtran]:转换机>>%workspace%\initTMP.bat
echo set U_newtran=true>>%workspace%\initTMP.bat
)
type %Logdir%\delete_UFT2.0_path.txt|find "\UFT2.0\Sources\Client\"
if !errorlevel! EQU 0 (
rem [C_Client]:前台编译程序,需要集成时填“true”,不需要时默认为“false”
echo [U_Client]:前台编译>>%workspace%\initTMP.bat
echo set U_Client=true>>%workspace%\initTMP.bat
echo rem [baseSrc]:基础编译>>%workspace%\initTMP.bat
echo set baseSrc=true>>%workspace%\initTMP.bat
)
)
rem 拷贝升级脚本下配置文件打包
for %%a in (modify_Update.txt,add_Update.txt) do (
if exist %Logdir%\%%a (
for /f "tokens=* delims=" %%i in (%Logdir%\%%a) do (
set ff=%%~dpi
rem 打包配置文件
set aaaaaa=%%i
set aaaaaa=!aaaaaa:%UFTUpdateScript%=!
set bbbbbb=!aaaaaa:%baseUpdateScript%=!
if "!bbbbbb!" NEQ "%%i" (
rem [baseSrc]:当有基础编译修改代码时填“true”,没有修改时填“false”
echo [baseSrc]:基础编译>>%workspace%\initTMP.bat
echo set baseSrc=true>>%workspace%\initTMP.bat
echo [U_Client]:前台编译>>%workspace%\initTMP.bat
echo set U_Client=true>>%workspace%\initTMP.bat
)
)
)
)
goto :eof
rem ==========================SVN清理===========================================
:Svncleanup
rem 避免出现下次任务运行出现SVN更新报错
svn cleanup %workspace%\compliance\Sources\ufrcore_code
svn cleanup %workspace%\compliance\Sources\ufrmgnt
svn cleanup %workspace%\UFT2.0\Run
svn cleanup %workspace%\UFT2.0\Sources\Client
svn cleanup %workspace%\UFT2.0\Sources\newtran
svn cleanup %workspace%\UFT2.0\Sources\资管UFT系统V20
svn cleanup %workspace%\升级脚本
goto :eof
相关文章推荐
- UML类图实例
- Win7提示诊断策略服务未运行无法诊断检查网络解决方法
- netstat 命令详解
- 利用Python获取赶集网招聘信息前篇
- 线程池参数详解
- 重建二叉树
- Coursera Chaptereight:Lists Assignment 8.4
- 让多个 DIV 高度相同
- 模块标识
- 昨日顺利跑完半马~总结一下
- C#:Winform技巧
- python升级后yum不能使用报错 File “/usr/bin/yum”, line 30
- 【C语言】str类与men库函数的实现(如:strcpy,strcmp,strstr,strcat,memmove,memcpy)
- 大数运算(小项目)
- mac 下eclipse 安装svn插件
- Error:Connection timed out:connect.
- 【记录】使用 ZipInputStream类getNextEntry方法遇到的错误
- Java 自定义异常类
- 应用程序混淆
- ios内存错误 exc_bad_access