Remove the Makefile and replace the submodule update with a grunt task. Thanks to @ryanneufeld. Closes gh-953.

This commit is contained in:
Mike Sherov 2012-10-15 09:38:27 -04:00 committed by Timmy Willison
parent 077989e8c0
commit 1cda1120e3
2 changed files with 19 additions and 34 deletions

View File

@ -1,25 +0,0 @@
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

View File

@ -7,6 +7,9 @@
/*jshint node: true */
/*global config:true, task:true, process:true*/
var child_process = require("child_process");
module.exports = function( grunt ) {
// readOptionalJSON
@ -379,22 +382,29 @@ module.exports = function( grunt ) {
});
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();
});