+++ /dev/null
-
-all: update_submodules
-
-submoduleclean: clean
- @@echo "Removing submodules"
- @@rm -rf test/qunit src/sizzle
-
-# change pointers for submodules and update them to what is specified in jQuery
-# --merge doesn't work when doing an initial clone, thus test if we have non-existing
-# submodules, then do an real update
-update_submodules:
- @@if [ -d .git ]; then \
- if git submodule status | grep -q -E '^-'; then \
- git submodule update --init --recursive; \
- else \
- git submodule update --init --recursive --merge; \
- fi; \
- fi;
-
-# update the submodules to the latest at the most logical branch
-pull_submodules:
- @@git submodule foreach "git pull \$$(git config remote.origin.url)"
- #@@git submodule summary
-
-.PHONY: all submoduleclean update_submodules pull_submodules
/*jshint node: true */
/*global config:true, task:true, process:true*/
+
+var child_process = require("child_process");
+
module.exports = function( grunt ) {
// readOptionalJSON
});
grunt.registerTask( "submodules", function() {
- var done = this.async();
+ var done = this.async(),
+ // change pointers for submodules and update them to what is specified in jQuery
+ // --merge doesn't work when doing an initial clone, thus test if we have non-existing
+ // submodules, then do an real update
+ cmd = "if [ -d .git ]; then \n" +
+ "if git submodule status | grep -q -E '^-'; then \n" +
+ "git submodule update --init --recursive; \n" +
+ "else \n" +
+ "git submodule update --init --recursive --merge; \n" +
+ "fi; \n" +
+ "fi;";
grunt.verbose.write( "Updating submodules..." );
- // TODO: migrate remaining `make` to grunt tasks
- //
- grunt.utils.spawn({
- cmd: "make"
- }, function( err, result ) {
- if ( err ) {
+ child_process.exec( cmd, function( err, stdout, stderr ) {
+ if ( stderr ) {
+ console.log(stderr);
grunt.verbose.error();
- done( err );
+ done( stderr );
return;
}
- grunt.log.writeln( result );
+ grunt.log.writeln( stdout );
done();
});