static.idm.libs.sizzle_1.10.16.tasks.release.js Maven / Gradle / Ivy
"use strict";
var exec = require( "child_process" ).exec;
module.exports = function( grunt ) {
var rpreversion = /(\d\.\d+\.\d+)-pre/;
grunt.registerTask( "release",
"Release a version of sizzle, updates a pre version to released, " +
"inserts `next` as the new pre version", function( next ) {
if ( !rpreversion.test( next ) ) {
grunt.fatal( "Next version should be a -pre version (x.x.x-pre): " + next );
return;
}
var done,
version = grunt.config( "pkg.version" );
if ( !rpreversion.test( version ) ) {
grunt.fatal( "Existing version is not a pre version: " + version );
return;
}
version = version.replace( rpreversion, "$1" );
done = this.async();
exec( "git diff --quiet HEAD", function( err ) {
if ( err ) {
grunt.fatal( "The working directory should be clean when releasing. Commit or stash changes." );
return;
}
// Build to dist directories along with a map and tag the release
grunt.task.run([
// Commit new version
"version:" + version,
// Tag new version
"tag:" + version,
// Commit next version
"version:" + next
]);
done();
});
});
};