Grunt: всегда выполнять определенную задачу grunt всегда, после выполнения другой задачи grunt - PullRequest
0 голосов
/ 20 февраля 2019

Я использую 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"]);

};

Если я выполню grunt, порядок выполнения будет A->B Чего я хочу достичь, это A->reporting->B->reporting

Очевидное решение будетвызовите grunt.task.run('reporting') внутри A и B. Проблема, с которой я столкнулся при таком подходе, заключается в том, что если я вызову grunt.fail.error() внутри "A" или "B", то это не будет работать, даже если я использую опцию --force.я строю общий обработчик задач на основе grunt, который загружает список этих наборов задач на основе некоторых метаданных (не GruntFile), и было бы плохо иметь вызов task.run внутри каждой отдельной задачи.

Anyлучший способ справиться с этим?

...