我正在尝试修改Phing脚本,但无法看到我认为是一个明显的功能。
Phing脚本具有通用&#39;确认&#39;在各个执行阶段检查输入的目标。我想自动化脚本,以便它可以在没有输入的情况下运行。我希望能够通过在目标中插入某种<break>
或<end>
类型的任务来使其尽早返回。 manual似乎没有列出此类功能。
我知道我可以通过创建一个中间目标来检查cmd行参数然后调用确认目标,但是有更优雅的方法吗?
这是需要自动化的目标,并且是从多个地方调用的。跳过的触发器是通过cmd line -D。
设置的属性 <!-- confirm a user action -->
<target name="confirm">
<input propertyname="confirm" validargs="yes,no">
${confirm.message} ('yes' to continue)
</input>
<if>
<not>
<equals arg1="${confirm}" arg2="yes" />
</not>
<then>
<fail message="You didn't say 'yes'" />
</then>
</if>
</target>
答案 0 :(得分:1)
出于同样的目的,我使用这种技术:
<if>
<not>
<isset property="confirm" />
</not>
<then>
<input propertyname="confirm" validargs="yes,no">
${confirm.message} ('yes' to continue)
</input>
<if>
<not>
<equals arg1="${confirm}" arg2="yes" />
</not>
<then>
<fail message="You didn't say 'yes'" />
</then>
</if>
</then>
</if>
然后你可以执行
phing build.xml -Dconfirm=yes
没有承诺。