echo off

rem uap\bin\service フォルダで呼び出します。
pushd %~dp0

rem *********************************************************************
rem * initファイルの call												*
rem *********************************************************************
call serviceInit.bat

rem 実行時間のファイル名を作成して、ログとして残しておきます。
set YMD=%date:~0,4%%date:~5,2%%date:~8,2%
set HMS=%time: =0%
set HMS=%HMS:~0,2%%HMS:~3,2%%HMS:~6,2%
set LOG_FILE="%LOGS_DIR%\Restart%YMD%%HMS%.log"

echo %date% %time% 開始>		%LOG_FILE%

rem *********************************************************************
rem * サービスの停止													*
rem *   sc stop だと、処理をフォークして非同期で進めるため、			*
rem *   サービスのSTOPが完了する前に処理が戻ってきてしまう。			*
rem *																	*
rem *   net ｺﾏﾝﾄﾞは、逐次処理を行う。（ただし、固まる可能性あり）		*
rem *********************************************************************
net stop %SERVICE_NAME%

echo Service Stop>>				%LOG_FILE%
echo;>>							%LOG_FILE%

rem 一旦 UAP までﾌｫﾙﾀﾞを上がります。
pushd "..\..\"

rem *********************************************************************
rem ge.war があれば、geフォルダを削除して、ge.war を移動します。
rem *********************************************************************
if not exist "verup\ge.war" (goto :SKIP_GE)

rem geフォルダの削除
rem del /Q webapps\ge>>			%LOG_FILE%

move /Y verup\ge.war webapps

:SKIP_GE

rem *********************************************************************
rem 以下の処理は、個別のｺﾝﾃｷｽﾄなので、DEV_PATH 環境変数が定義されている必要がある。
rem *********************************************************************
if not defined DEV_PATH ( goto :SKIP_DEV )

rem *********************************************************************
rem fukurou*.jar があれば、WEB-INF/libのエンジン関係を削除して、verupから移動します。
rem *********************************************************************
if not exist "verup\fukurou*.jar" (goto :SKIP_JAR)

mkdir %DEV_PATH%\backup

move /Y %DEV_PATH%\WEB-INF\lib\fukurou*.jar   %DEV_PATH%\backup>>	%LOG_FILE%
move /Y %DEV_PATH%\WEB-INF\lib\hayabusa*.jar  %DEV_PATH%\backup>>	%LOG_FILE%
move /Y %DEV_PATH%\WEB-INF\lib\jspCommon*.jar %DEV_PATH%\backup>>	%LOG_FILE%
move /Y %DEV_PATH%\WEB-INF\lib\penguin*.jar   %DEV_PATH%\backup>>	%LOG_FILE%
move /Y %DEV_PATH%\WEB-INF\lib\plugin*.jar    %DEV_PATH%\backup>>	%LOG_FILE%
rem move /Y %DEV_PATH%\WEB-INF\lib\resource*.jar  %DEV_PATH%\backup>>	%LOG_FILE%

move /Y verup\*.jar    %DEV_PATH%\WEB-INF\lib>>	%LOG_FILE%

:SKIP_JAR

:SKIP_DEV

rem *********************************************************************
rem init.bat があれば、uap\binと置き換えて、サービスを再インストールします。
rem *********************************************************************
if not exist "verup\init.bat" (goto :SKIP_INST)

rem ここで、ﾌｫﾙﾀﾞ階層をuap\bin\serviceに戻します。
popd

echo Service Remove>>				%LOG_FILE%
echo;>>								%LOG_FILE%

call serviceRemove.bat

rem 一旦 UAP までﾌｫﾙﾀﾞを上がります。
pushd "..\..\"

mkdir bin\backup

move /Y bin\init.bat    bin\backup>>	%LOG_FILE%

move /Y verup\init.bat  bin>>			%LOG_FILE%

rem ここで、ﾌｫﾙﾀﾞ階層をuap\bin\serviceに戻します。
popd

echo Service Install>>				%LOG_FILE%
echo;>>								%LOG_FILE%

call serviceInstall.bat

rem serviceInstall.bat 内で、サービスの開始も行われているため、SKIP します。
goto :SKIP_END

:SKIP_INST

rem *********************************************************************
rem * サービスの開始													*
rem *********************************************************************
net start %SERVICE_NAME%

:SKIP_END

echo;>>						%LOG_FILE%
echo Service Start>>		%LOG_FILE%

echo %date% %time% 完了>>	%LOG_FILE%
echo *****************************************************************>> %LOG_FILE%


rem 旧のlog出力が残るようなので、taskkill します。
taskkill /F /T /FI "IMAGENAME eq cmd*" /FI "STATUS ne running"

