我正在使用grunt作为任务运行器。我要为跑步者建模的方式是,对于任何一组任务“ n”,都有另一个任务“ m”始终在每个“ n”之后运行。
例如
module.exports = function(grunt) {
grunt.registerTask("reporting","reporting task",function(){
grunt.log.write("My reporting task that needs to be run after every other task run");
});
grunt.registerTask("A","A",function(){//dummy task});
grunt.registerATask("B","B",function(){//dummy task});
grunt.registerTask("default", ["A","B"]);
};
如果我执行咕unt声,执行顺序将是
A->B
我想要实现的是
A->reporting->B->reporting
一个明显的解决方案是在A和B内都调用grunt.task.run('reporting')
。这种方法面临的问题是,如果我在“ A”或“ B”内调用grunt.fail.error()
,则即使我使用--force
选项也不行
另外,我正在基于grunt构建一个通用的任务运行程序,该任务运行器基于一些元数据(不是GruntFile)加载这些任务集的列表,并且在每个单独的任务中调用task.run
会很不好。
有更好的方法来解决这个问题吗?