如何在命令中传递变量而不是硬编码。我在ant脚本中运行这个subversion命令来签出最新的代码,我想将目标文件夹、用户名和密码作为变量传递。有可能吗?
<exec executable="svn">
<arg line="co -r HEAD http://10.208.72.62/svn/test/trunk
c:CruiseControlprojectssvnTestsvn --username admin --password admin" />
</exec>
为每个参数使用一个属性,或者内联您的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任务将看起来像:
<exec executable="svn">
<arg line="co -r HEAD http://10.208.72.62/svn/test/trunk
${destdir} --username ${username} --password ${pass}" />
</exec>
有关详细信息,请参阅ant手册>属性任务。