对于我的Phing构建,我想在本地文件中记录开始和结束时间。这段时间将在构建过程中用作参考,以确定在上次构建后修改了我的哪些源文件。不管调用了什么任务,我都希望它能工作。
到目前为止,我遇到了一些问题:
在记录新时间之前,我会从文件中检索开始时间。但是,当我使用foreach循环时,构建属性会被重新定义,并且新的开始时间会记录在属性中。也许我可以通过在依赖的任务中定义属性来弥补这一点,但我不想为每个任务设置这种依赖。。。
我不知道如何使某个东西最后运行,与用户选择运行的任务无关。
有什么想法吗?
在我重读您的问题时编辑整个答案-您需要它独立于任务运行的部分。
<target name="taskwrapper">
<phingcall target="runfirst" />
<phingcall target"${target} />
<phingcall target="runlast" />
</target>
<target name="runfirst">
//Do stuff first
</target>
<target name="runlast">
//Do stuff last
</target>
然后在命令行中,您只需要将预期任务作为论据进行传递。
phing taskwrapper -Dtarget=desired_task
我还没有真正测试过这个,但看起来应该可以正常工作。