kikito
kikito

Reputation: 52651

How do I invoke other tasks from my custom task *before* my task code runs?

I'm trying to create a custom task in grunt that automatically invokes its "prerequisites". I'm not sure on how to do that. The Grunt.js docs show this example:

grunt.registerTask('foo', 'My "foo" task.', function() {
  // Enqueue "bar" and "baz" tasks, to run after "foo" finishes, in-order.
  grunt.task.run('bar', 'baz');
  ... // Other stuff here
});

I don't want to "enqueue bar and baz after foo", I want to execute them right there, where the grunt.task.run line is, so they get executed before my "Other stuff".

How do I do that?

Upvotes: 13

Views: 2502

Answers (1)

Jerome WAGNER
Jerome WAGNER

Reputation: 22422

I think your only way to do it currently would be via creating and additional task

grunt.registerTask('fooTask', 'My "foo" task.', function() {
  grunt.task.requires('bar'); // make sure bar was run and did not fail
  grunt.task.requires('baz'); // make sure bar was run and did not fail
  ... // Other stuff here
});

grunt.registerTask('foo', 'My "foo" sequence.', ['bar', 'baz', 'fooTask']);

Upvotes: 13

Related Questions