grunt-branches

Run specified task against all remote branches of a git submodule

grunt-branches

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.