Run specified task against all remote branches of a git submodule.
Install this grunt plugin next to your project's grunt.js gruntfile with: npm install grunt-branches --save-dev
Then add this line to your project's Gruntfile.coffee
:
grunt.loadNpmTasks 'grunt-branches'
grunt.initConfig
# ... other configs
branches:
foo:
path: 'ext/foo'
options:
match: '^release/' # Only run task against branches that match this reg exp
# ... other configs
To run the task 'b' on all remote branches of the submodule 'foo' run: grunt branches:foo:b
Or register a shortcut:
grunt.registerTask 'buildall', ['branches:foo:b']
The following events are emitted and can be subscribed to using grunt.emit.on
- branches.checkedout - params: branch, path
- branches.commitinfo - params: branch, hash, path
- branches.taskqueued - params: branch, path
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using grunt.
Copyright (c) 2014, Derek Petersen
Licensed under the MIT license.