如果按下Esc,Phing Failtask。这是可能的 ?

时间:2013-09-12 09:41:28

标签: key task phing

我有一个包含一些任务的Phing构建文件。 问题是如果出现问题,我没有办法退出de脚本,现在,我唯一的可能是关闭cmd并再次打开cmd。 我想要的是按“esc”中止任务的执行。 任何的想法 ? 谢谢

1 个答案:

答案 0 :(得分:1)

你不应该在它运行时杀死Phing构建脚本,因为它可能会使事情处于不良状态。相反,脚本应检查指示符以在脚本中的关键点退出。

您可以在脚本开头创建临时文件。在执行期间检查文件是否仍然存在,如果用户已删除该文件,则中止构建脚本。

在脚本开始时创建一个临时文件。

    <touch file="delete.me"/>

然后在脚本的不同位置检查它是否仍然存在。

    <if><not><available file="delete.me"/></not><then><fail message="User aborted build script." /></then></if>

您现在可以通过删除delete.me文件随时中止脚本。

或者,您可以使用InputTask提示用户继续脚本。

    <input propertyName="cont" defaultValue="n" promptChar="?" validArgs="y,n">Continue</input>
    <if><equals arg1="${cont}" arg2="n"/><then><fail message="User aborted build script."/></then></if>

以上将阻止执行脚本,直到用户按下Y继续。

如果您正在执行需要很长时间才能执行的文件操作或SQL命令,那么最好在中止脚本之前让它们先完成。只有在您怀疑脚本出错时才按ctrl+c