在 Phing 中提前结束目标
Ending target early in Phing
我正在尝试修改 Phing 脚本,但看不到我认为明显的功能。
Phing 脚本有一个通用的 'confirm' 目标,它在执行的各个阶段检查输入。我想使脚本自动化,以便它可以 运行 无需输入。我希望能够通过在目标中插入某种 <break>
或 <end>
类型的任务来做到这一点,以便它尽早 returns。 manual 似乎没有列出此类功能。
我知道我可以通过创建一个中间目标来实现这一点,首先检查 cmd 行参数,然后调用确认目标,但是有没有更优雅的方法?
这是需要自动化并从多个地方调用的目标。跳过的触发器将是通过 cmd 行 -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>
出于同样的目的,我正在使用这项技术:
<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
没有提示。
我正在尝试修改 Phing 脚本,但看不到我认为明显的功能。
Phing 脚本有一个通用的 'confirm' 目标,它在执行的各个阶段检查输入。我想使脚本自动化,以便它可以 运行 无需输入。我希望能够通过在目标中插入某种 <break>
或 <end>
类型的任务来做到这一点,以便它尽早 returns。 manual 似乎没有列出此类功能。
我知道我可以通过创建一个中间目标来实现这一点,首先检查 cmd 行参数,然后调用确认目标,但是有没有更优雅的方法?
这是需要自动化并从多个地方调用的目标。跳过的触发器将是通过 cmd 行 -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>
出于同样的目的,我正在使用这项技术:
<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
没有提示。