如何在命令中传递变量而不是硬编码。我在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>
答案 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了解详情。