A Grunt task to run tasks on multiple Grunt projects that will exit immediately on failure (fail fast)
This plugin requires Grunt.
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-fail-fast-task-runner --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-fail-fast-task-runner');
The fail_fast_task_runner
task is for running tasks on multiple projects. It would like to know which Gruntfiles to use and which tasks to run on each Grunt project. For example if you would like to lint and test on every Grunt project one folder up
grunt.initConfig({
fail_fast_task_runner: {
all: {
src: ['../*/Gruntfile.js'],
tasks: ['jshint', 'nodeunit'],
}
},
});
Type: Number
Default value: 1
An integer for determining how many worker functions should be run in parallel.
In this example, the default options are used to run tasks on multiple projects. So running fail_fast_task_runner:build
will run the buildtask
over all Gruntfiles, and running fail_fast_task_runner:all
will run the tasks dev
and tasks
. If there is no argument passed after fail_fast_task_runner, all configurations are executed.
If no tasks are defined, it will default to the default task.
grunt.initConfig({
fail_fast_task_runner: {
options: {},
build: {
src: ['*/Gruntfile.js'],
tasks: ['buildtask']
},
all: {
src: ['*/Gruntfile.js'],
tasks: ['dev', 'tasks']
}
},
})
In this example, custom options are used to run with a concurrency of 5.
grunt.initConfig({
fail_fast_task_runner: {
options: {
concurrency: 5
},
build: {
src: ['*/Gruntfile.js'],
tasks: ['buildtask']
},
all: {
src: ['*/Gruntfile.js'],
tasks: ['dev', 'tasks']
}
},
})
Open issue or pull request
- 0.1.0 initial release
Copyright (c) 2015 Greg Alexander. Licensed under the MIT license.