:: Author:  wangming <431103@431103.com>
:: WebSite:  http://www.431103.com
:: 2015.10.26

cls
@ECHO OFF
CLS
color 0a
Title 安装服务

:menu
cls
echo.
echo          运营活动相关服务安装 主菜单
echo         ===========================
echo.
echo          0、安装环境
echo          1、启动服务
echo          2、编译脚本(debug模式)
echo          3、编译脚本(release模式)
echo          4、关闭服务
echo          8、检查服务
echo          9、清楚debug文件

echo          e、退   出
echo.
echo          提示：服务启动后自动会编译debug脚本，并实时监测项目文件变化

:c1
echo.
set /p choice=         请选择要进行的操作，然后按回车: 
IF NOT "%choice%"=="" SET choice=%choice:~0,1%
if /i "%choice%"=="0" goto installEnv
if /i "%choice%"=="1" goto s1
if /i "%choice%"=="2" goto s2
if /i "%choice%"=="3" goto s3
if /i "%choice%"=="4" goto s4
if /i "%choice%"=="5" goto s5
if /i "%choice%"=="6" goto s6
if /i "%choice%"=="7" goto s7
if /i "%choice%"=="8" goto chkinfo
if /i "%choice%"=="e" goto EX

echo.
echo         选择无效，请重新输入
echo. 
goto c1

:s0
:s0c1
echo.
set /p no=         请再次确认是否安装全部服务 Y(开始安装)或 N(退出安装)：
echo.
if /i "%no%"=="y" goto ks
if /i "%no%"=="no" goto exit
echo         输入错误，请重新输入...
goto s0c1

:ks
cls
echo         正在安装，请稍后...

echo         fis3 install
CALL npm config set registry https://registry.npm.taobao.org
::CALL npm install -g fis3@3.1.3 fis-parser-less fis-optimizer-htmlmin fis3-deploy-replace fis3-hook-relative  fis3-postpackager-loader fis3-deploy-zip
cd /d "%~dp0/.."
echo         bower install
cd framework
CALL bower install
echo         npm install
cd ../
CALL npm install

echo.
echo         一键安装所有服务成功！任意键返回主菜单
pause >nul
goto menu

:s1
cls
echo         正在启动，请稍后...
cd /d "%~dp0/.."

md deployed
CALL fis3 server start -p 20000 --type java --root deployed
echo         编译脚本(debug模式)
goto s2
echo.
echo         启动服务成功！任意键返回主菜单
pause >nul
goto menu

:s2
cls
echo         编译脚本(debug模式)
cd /d "%~dp0/.."
echo         "重新建构animate.css的合并文件\n"
CALL grunt --gruntfile animate.css_Gruntfile.js --verbose
echo         "建构组件文件\n"
CALL grunt --gruntfile component_Gruntfile.js --verbose
CALL fis3 release dev -wL --verbose
echo.
echo         编译完成！任意键返回主菜单
pause >nul
goto menu


:s8
cls
echo         编译脚本(debug模式)
cd /d "%~dp0/.."
echo         "重新建构animate.css的合并文件\n"
CALL grunt --gruntfile animate.css_Gruntfile.js --verbose
echo         "建构组件文件\n"
CALL grunt --gruntfile component_Gruntfile.js --verbose
CALL fis3 release dev -wL --verbose
echo.
echo         编译完成！任意键返回主菜单
pause >nul
goto menu

:s3
cls
echo         编译脚本(release模式)
echo         "清除debug脚本目录"
cd /d "%~dp0/.."
CALL fis3 server clean --root deployed
echo         "删除缓存并重新建构项目"
CALL fis3 release build --verbose
echo.
echo         编译完成！任意键返回主菜单
pause >nul
goto menu

:chkinfo
cls
echo         检查服务
echo         检查 npm 版本
CALL npm -v
echo         检查 fis3 版本
CALL fis3 -v
echo.
echo         检查服务完成！任意键返回主菜单
pause >nul
goto menu


:::::::::::::::::::::::::::::::::::::::::::
:installEnv
cls
echo.
echo          运营活动相关服务安装 主菜单
echo         ===========================
echo.
echo          0、初始化当前项目环境依赖包
echo          1、一键安装全局环境(fis3, bower, grunt)
echo          2、安装 fis3
echo          3、安装 bower
echo          4、安装 grunt
echo          9、返   回
echo          e、退   出
echo.
echo          提示：

:env
echo.
set /p choice=         请选择要进行的操作，然后按回车: 
IF NOT "%choice%"=="" SET choice=%choice:~0,1%
if /i "%choice%"=="0" goto installPack
if /i "%choice%"=="1" goto installFis3
if /i "%choice%"=="2" goto installFis3
if /i "%choice%"=="3" goto installGrunt
if /i "%choice%"=="4" goto installBower
if /i "%choice%"=="9" goto menu
if /i "%choice%"=="e" goto EX

echo.
echo         选择无效，请重新输入
echo. 
goto env


:installPack
cls
echo         正在安装当前项目依赖组件...
echo         安装完成！任意键返回主菜单
pause >nul
goto installEnv

:allInstallPack
CALL npm config set registry https://registry.npm.taobao.org
CALL npm install -g fis3
CALL npm install -g grunt
CALL npm install -g bower
echo         安装完成！任意键返回主菜单
goto installEnv

:installFis3
cls
echo         正在安装 fis3 ，请稍后...
CALL npm install -g fis3
echo         安装完成！任意键返回主菜单
pause >nul
goto installEnv

:installGrunt
cls
echo         正在安装 grunt ，请稍后...
CALL npm install -g grunt
echo         安装完成！任意键返回主菜单
pause >nul
goto installEnv

:installBower
cls
echo         正在安装 bower ，请稍后...
CALL npm install -g bower
echo         安装完成！任意键返回主菜单
pause >nul
goto installEnv