You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.2 KiB

var shell = require( "shelljs" );
var Release = {
define: function( props ) {
for ( var key in props ) {
Release[ key ] = props[ key ];
}
},
exec: function( _options, errorMessage ) {
var result,
command = _options.command || _options,
options = {};
if ( _options.silent ) {
options.silent = true;
}
errorMessage = errorMessage || "Error executing command: " + command;
result = shell.exec( command, options );
if ( result.code !== 0 ) {
Release.abort( errorMessage );
}
return result.output;
},
abort: function() {
console.error.apply( console, arguments );
process.exit( 1 );
},
newVersion: require( "../package" ).version
};
var script = require( "./release" );
script( Release );
// Ignores actual version installed, should be good enough for a test
if ( shell.exec( "npm ls --depth 0 | grep download.jqueryui.com" ).code === 1 ) {
shell.exec( "npm install " + script.dependencies.join( " " ) );
}
// If AUTHORS.txt is outdated, this will update it
// Very annoying during an actual release
shell.exec( "grunt update-authors" );
Release.generateArtifacts( function() {
console.log( "Done generating artifacts, verify output, should be in dist/cdn" );
} );