windows平台通常都会装小乌龟的SVN图形化客户端,在平常的工作中,特别项目开发过程中,代码会经常更新,而项目构建就是随之要做的事情了,即tortoiseSVN + mvn 这样一个过程,新手记不住mvn的命令参数的时候,就要找一下记事本了,这又就加了一步,每天都要重复这个过程几次,真的感觉又麻烦又浪费时间,能不能想办法将这些重复的自动化呢?

一次偶然在我在项目中发现了一个名为eclipse.bat的批处理文件,打开后发现里面里有这样两行 

call mvn clean -U eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=false 

@pause

看过之后我突然有了想法,我只要在这里批处理文件再加上一步更新代码就可以了,于是试着查tortoiseSVN的终端命令,一番查找后,我终于实现了想要的功能,下面详细介绍一下这个脚本。这个脚本通过win的计划任务实现自动执行,并将执行过程的输出保存到日志文件中。脚本全部内容如下:

 set LOG_FILE_NAME_=update

set rdate=%date:~0,10%

set time_1=%time:~0,2%

if "%time:~0,1%"==" " set time_1=0%time:~1%

:判断小时,处理空格问题

set logFileName=%LOG_FILE_NAME_%-%rdate%-%time_1%%time:~3,2%%time:~6%.txt

set logPath=D:/log/tc/

set logFullName=%logPath%%logFileName%

:上面这一段主要用来日志的文件路径与文件名,需要依据本地环境设置

TortoiseProc /command:update /path:./ /closeonend:2

:调用tortoiseSVN 终端命令进行更新并且将对话框自动关闭

call mvn  eclipse:clean -U eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=false >> %logFullName% 2>&1

:执行 mvn 进行构建 并将输出保存到日志,以便日后查看

exit;

  最后建立win计划任务:开始-》程序-》附件-》系统工具-》计划任务,添加一个计划任务,应用程序选择“超级终端”,接着就按要求一步步设置就可以了,添加完成之后,注意还要做进一步设置,选择新建的计划任务,点右键,选择属性,运行(R)选择对应批处理文件, 起始于(T)设定批处理文件所在位置,如果不设置这个会执行失败的,如下图 

 task

 如果想多个时间点执行,可以copy一下,改一下时间就可以了。

ps:希望这个脚本可以给大家节省点时间,关于tortoiseSVN的更多的终端命令,详见它的帮助手册,也可以再安装一个svn的命令行版本。