antscript中的subversion命令将参数作为变量传递

时间:2012-02-10 16:49:56

标签: svn ant

如何在命令中传递变量而不是硬编码。我在ant脚本中运行这个subversion命令来检查最新的代码,我想将目标文件夹和用户名和密码作为变量传递。有可能吗?

<exec executable="svn"> 
    <arg line="co -r HEAD http://10.208.72.62/svn/test/trunk      
c:\CruiseControl\projects\svnTest\svn --username admin --password admin" />     
</exec>

1 个答案:

答案 0 :(得分:0)

为每个参数使用一个属性,或者内联你的antscript:

<!-- also possible to use property name=... location=... -->
<property name="destdir" value="c:/CruiseControl/projects/svnTest/svn"/>
<property name="username" value="admin"/>
<property name="pass" value="admin"/>

或使用以下行创建一些属性文件foo.properties:

:: use path separator unix style '/', java(ant) will handle it correctly
:: no need to use '\\'
destdir=c:/CruiseControl/projects/svnTest/svn
username=admin
pass=admin

并通过以下方式将其加载到您的antscript中:

<property file="foo.properties"/>

然后您的执行任务将如下所示:

<exec executable="svn"> 
 <arg line="co -r HEAD http://10.208.72.62/svn/test/trunk      
${destdir} --username ${username} --password ${pass}" />     
</exec>

参见ant手册&gt; property task了解详情。